POWERSHELL

Powershell Remoting with Lync Online

Andres Bohren
Hallo zusammen, Ich habe mir mal angeschaut, wie man mit der Powershell auf Lync Online zugreifen kann. Dazu muss man das Windows PowerShell Module für Lync Online installieren. Windows PowerShell Module for Lync Online http://www.microsoft.com/en-us/download/details.aspx?id=39366 Danach kann man eine Remote PowerShell Session auf Lync Online herstellen $cred = Get-Credential $lyncSession = New-CsOnlineSession -Credential $cred Import-PSSession $LyncSession Remove-PSSession $LyncSession Eine Dokumentation der Lync Online Commandlets gibt es hier Lync Online cmdlets

Dotnet Framework Regular Expressions (RegEx) Quick Reference

Andres Bohren
Hallo zusammen, Beim sufen bin ich über folgendes gestolpert - kann man sicherlich beim nächsten Powershell Script brauchen .NET Framework Regular Expressions - Quick Reference http://www.microsoft.com/en-us/download/details.aspx?id=43119 Grüsse Andres Bohren

Powershell Update-Help

Andres Bohren
Hallo zusammen, Ich habe kürzlich mal wieder mit der Powershell rumgespielt. In der Zwischenzeit habe ich auf Powershell 4.0 aktualisiert. Nun muss also erstmal die Hilfe aktualisiert werden. Update-Help http://technet.microsoft.com/en-us/library/hh849720.aspx Danach erhalte ich erstmal eine heftige rote Fehlermeldung Also die Powershell als Administrator starten und den Befehl nochmals ausführen Update-Help Die aktualisierten Hilfedateien landen hier C:\Windows\System32\WindowsPowerShell\v1.0\en-US Nun ist die Hilfe aktualisiert. Grüsse Andres Bohren

Zip a File with Powershell 3.0

Andres Bohren
Hallo zusammen, Mit dem folgenden Code kann man ohne zusätzliche Komponenten Files in ein ZIP Archiv packen. Add-Type -As System.IO.Compression.FileSystem [System.IO.Compression.CompressionLevel]$Compression = "Optimal" #ZIP a File [String]$ZipFilePath = "c:\temp\test.zip" [String]$File = "c:\temp\Mailboxes.txt" $Archive = [System.IO.Compression.ZipFile]::Open( $ZipFilePath, "Update" ) $null = [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($Archive, $file, "Mailboxes.txt", $Compression) $archive.Dispose() Grüsse Andres Bohren

Remove AelitaEMW Messages in Public Folder with EWS Managed API

Andres Bohren
Hallo zusammen, Ich habe ein Powershell Script entwickelt um die Quest Migration Manager Messages nach der Migration im Public Folder zu entfernen. Das Script nutzt die EWS Managed API http://www.microsoft.com/en-us/download/details.aspx?id=35371 ############################################################################### # Remove Quest Migration Manager Hidden Messages in Public Folders # Remove Messages with Subject "AelitaEMW_" in Associated Content Store # # Script Uses EWS Managed API # http://www.microsoft.com/en-us/download/details.aspx?id=35371 # # Version 1.0 / 27.10.2013 # Andres Bohren / www.

Download File from Internet with powershell and proxyauthentication

Andres Bohren
Hallo zusammen, Heute musste ich ein Powershell Script erstellen, welches ein File aus dem Internet herunterlädt. Und dies auch noch über einen Authenticated Proxy. Am besten so, dass weder Benutzername noch Passwort im Script hinterlegt werden muss. #/*NoProxy*/ $source = "http://www.funkykitchenclub.ch/robots.txt" $dest = "c:\temp\file.txt" $WebClient = New-Object System.Net.WebClient $WebClient.DownloadFile($source,$dest) #/*Proxy with Authentication*/ $source = "http://www.funkykitchenclub.ch/robots.txt" $dest = "c:\temp\file.txt" $WebClient = New-Object System.Net.WebClient $WebProxy = New-Object System.Net.WebProxy("http://ICESRV03.corp.icewolf.ch:8080",$true) $WebProxy.UseDefaultCredentials = $true $WebClient.Proxy = $WebProxy

Powershell DNS reverse and MX lookup

Andres Bohren
Hallo zusammen, Kürzlich musste ich eine grössere Liste von IP Adressen auflösen - dazu habe ich mir kurzerhand ein Powershell Script geschrieben. Die IP's sind in einer CSV Datei Das CSV wird eingelesen und für jede IP wird ein DNS Reverse Lookup gemacht. Die Ausgabe erfolgt direkt in die Konsole. ############################################################################### # Reverse DNS Lookup with Powershell v1.0 # 27.01.2013 A.Bohren - http://blog.icewolf.ch ############################################################################### $List = Import-CSV C:\Temp\ip.csv Foreach ($entry in $list)

Configure Account Lockout feature in Forefront TMG

Andres Bohren
Hallo zusammen, Meine Account Lockout Policy erlaubt 5 falsche Anmeldungen, danach wird der Account für 30 Minuten gesperrt. Damit ein Account nicht durch fehlgeschlagene Anmeldeversuche vom OWA gesperrt wird, habe ich das Lockout Feature auf dem Forefront TMG aktiviert. Im folgenden Blog wird das genau erklärt. http://blog.powershell.no/2012/08/07/configure-account-lockout-feature-in-forefront-tmg-using-windows-powershell/ Das dazugehörige Script findet man hier: http://gallery.technet.microsoft.com/scriptcenter/Retrieve-and-modify-18a029ba $FPC = New-Object -ComObject FPC.root $array = $FPC.GetContainingArray() $listener = $array.RuleElements.WebListeners | Where-Object {$_.Name -eq “My Listener”}

Create AD Account, Exchange Mailbox, Lync Account with Powershell

Andres Bohren
Hallo zusammen, Habe mir mal gedacht, man könnte ein Script schreiben um einen AD Account, Exchange Mailbox und Lync Account zu erstellen. Dies hier ist der erste Versuch und kann sicher als Vorlage für ein eigenes Script dienen.... ############################################################# # /*Setting Up Variables*/ ############################################################# $Password = ConvertTo-SecureString "Pass@word1" -AsPlainText -Force $Firstname = "Bruce" $Lastname = "Springsteen" $Initials = $Firstname.Substring(0,1) + $Lastname.Substring(0,1) $SAMAccountName = $Lastname.Substring(0,6) + $Firstname.Substring(0,2) $UPN = $SAMAccountName + "

Active Roles Powershell work with Connection Object

Andres Bohren
Hallo zusammen, Wenn man in einem Script mit mehreren Domains arbeitet dann muss man entweder immer wieder die Verbindung mit Connect-QADService wechseln oder man erzeugt sich entsprechende Connection Objekte. $pwDest = read-host "Enter password" -AsSecureString $connDest = connect-QADService -service destination.internal -ConnectionAccount Destination\administrator -ConnectionPassword $pw $pwIcewolf = read-host "Enter password" -AsSecureString $connIcewolf = connect-QADService -service corp.icewolf.ch -ConnectionAccount CORP\administrator -ConnectionPassword $pwIcewolf Im obigen Beispiel muss das Passwort Interaktv eingegeben werden. Um ein Passwort in einem Script zu hinterlegen kann man auch folgenden Code verwenden.