PowerShell

AD Replikation mit Powershell überwachen

Andres Bohren
Hallo zusammen, Ich habe mir kürzlich ein Powershell Script geschrieben, welches mir einmal Täglich die Replikation prüft und das Ergebnis per Mail sendet. Eigentlich macht das Script nichts anderes, als den untenstehenden Befehl aufzurufen und das Resultat in eine TXT Datei zu schreiben und diese dann per Email zu versenden. repadmin /replsummary Und hier das Script (oder hier als Download) ################################################################################ # Monitor Replmon # Runs "repadmin /replsummary" and sends the Output per Mail as Attachement # # (c) 2010 Andres Bohren ################################################################################

Mailbox Provisioning from CSV File

Andres Bohren
Hallo zusammen, Heute zeige ich euch mal, wie man User und Mailboxen aus einem CSV File anlegt. Als erstes machen wir ein CSV (Comma Separated Value) File und speichern es unter C:\mitarbeiter.csv ab Name,FirstName,LastName,UPN,OU Albert Einstein,Albert,Einstein,a.einstein@foo.com,TestOU Niels Bohr,Niels,Bohr,n.bohr@foo.com,TestOU So sieht das Script aus: $Pwd = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force $csv = Import-Csv c:\mitarbeiter.csv $csv | ForEach-Object{New-Mailbox -Name $_."Name" -FirstName $_."FirstName" -Lastname $_."LastName" -UserPrincipalName $_."UPN" -OrganizationalUnit $_."OU" -Password $Pwd} Und nun lassen wir das ganze mal laufen.

How to get Exchange Version by Powershell

Andres Bohren
Hallo zusammen, Wie finde ich denn raus was für eine Exchange Version dass ich installiert habe? Gerade nach einem Update? Gemäs dem Exchange Team Blog ist das das verlässlichste Mittel nicht die AdminDisplayVersion sondern die Version von ExSetup.Exe aus dem \Exchange\bin Ordner. Get-ExchangeServer | fl Name,AdminDisplayVersion Ich habe deshalb mal schnell ein Powershell Script geschrieben, welches die Version von Exchange 2007/2010 erkennen kann. ############################################################################### # Get Exchange Product Version #

Scripts for Forefront Management Shell

Andres Bohren
Hallo zusammen, Ich habe da ein paar Scripts für die Forefront Management Shell erstellt. Wenn man eine ganz normale Powershell geladen hat, muss mann zuerst die Snap-ins für Forefront laden. Das geschieht mit dem folgenden Befehl: Add-PsSnapin FSSPSSnapin Anschliessend habe ich das Get-FseSpamReport CMDlet ausgeführt mit den Parametern -Starttime und -Endtime. Get-FseSpamReport -Starttime "01.02.2010 00:00" -Endtime "28.02.2010 00:00" War ein bisschen viel für meinen Geschmack - ich lasse mir also nur noch das anzeigen, was ich möchte.

Powershell ScriptSigning

Andres Bohren
Hallo zusammen, Wie kann man die Sicherheit von Scripts im Unternehmen erhöhen? Klar mit CodeSigning! Die Scripts werden signiert und der Interpreter kann die Signatur prüfen. Dazu habe ich mir mal ein CodeSigning Zertifikat ausgestellt. Ich habe da mal ein einfaches Powershell Script vorbereitet. Beim Versuch das Script auszuführen kommt eine Fehlermeldung. In der Standarteinstellung kann Powershell keine Scripts ausführen - dies muss explizit erlaubt werden. Eine Powershel als Admin starten und den folgenden Befehl eingeben:

Exchange 2007 SP1 OWA "Sie sind nicht berechtigt, diese Aktion durchzuführen"

Andres Bohren
Hallo zusammen, Heute wollte ich mich mal wieder an OWA anmelden, und habe die folgende Fehlermeldung erhalten: "Sie sind nicht berechtigt, diese Aktion durchzuführen" Ist vermutlich seit dem Letzten Update Rollup (Update Rollup 7 für Exchange Server 2007 SP1) Also mal geschaut was denn so auf der Mailbox definiert ist: Get-CASMailbox -Identity a.bohren | Format-List Siehe da, alle Properties welche mit OWA* anfangen sind nicht gesetzt... Okay, dann mal setzen der Properties:

Windows 2008 R2

Andres Bohren
Hallo zusammen, Die Beta von Windows Server 2008 R2 ist verfügbar. Microsoft hat auch schon eine Website mit Informationen dazu aufgeschaltet: http://www.microsoft.com/windowsserver2008/en/us/R2-resources.aspx Wird es nur noch in 64 Bit geben Unterstützt bis zu 256 CPUs Power Shell 2.0 - geht nun auch im Server Core mehr als 85 Powershell cmdlets fürs AD Management Papierkorb fürs AD Kann einzelne CPUs in Sleep Mode setzen um Strom zu sparen Hyper-V unsterstütz LiveMigration (wie VMotion unter ESX) Erweiterter Connection Broker - VDI wird auch auch Hyper-V möglich Branche Cache (http und SMB) Neue Funktionen im IIS7 Grüsse Andres Bohren

Powershell - SQL DB

Andres Bohren
Hallo zusammen, Ich habe kürzlich die Benachrichtigung über Geburtstage auf meiner Website auf Powershell umgestellt. Dabei musste ich mit Powershell auf die MS SQL 2005 Datenbank zugreifen. Hier ein kleines Script welches genau das demonstriert. ############################################################################################# # GetMovies ############################################################################################# Function GetMovies { # Setup SQL Connection $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Data Source=ICESRV02;database=db_home_icewolf;Uid=myusername;Pwd=mypassword" #SQL String $qSQL = "SELECT TOP 10 [fID], [fTitle], [fKategorie],[fBewertung],[fDatum],[fURL] FROM tMovies ORDER BY [fDatum] DESC"

Powershell - Send Email

Andres Bohren
Um ein Email mit Powershell zu versenden benötigt man nur einige wenige Zeilen Code: $SmtpServer = "localhost" $From = "someone@here.com" $To = "someone@internet.com" $Subject = "Greetings from MSH" $Body = "Hello, SomeOne `n Greetings from MSH" $Attachment = new-object Net.Mail.Attachment("C:\test.txt") $message = New-Object system.net.mail.mailmessage ($from,$to,$subject,$body) $message.attachments.add($attachment) $SmtpClient = new-object system.net.mail.smtpClient $SmtpClient.host = $SmtpServer $SmtpClient.Send($message) That's it ;o)