POWERSHELL

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:

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" $SqlCmd = New-Object System.

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)