Auch wenn .NET Programmierer gegenüber Administratoren einen kleinen Vorteil haben, wenn es darum geht, in PowerShell einzusteigen, entsteht doch leicht Verwirrung, wenn sich gewohnte Dinge nicht gleich wiederfinden und die Syntax doch zuerst etwas gewöhnungsbedürftig ist. Daher hier ein paar hilfreiche Tipps und Links.
Für den Einstieg kann ich die Tutorials von PowerShell Pro! empfehlen, sie sind sowohl für Programmierer als auch Administratoren gut geeignet. Das einzige Problem ist die Navigation, um die Tutorials in der richtigen Reihenfolge zu lesen, mein Tipp: Das Menü ganz rechts unter “PowerShell Tutorials” benutzen, nicht das daneben unter “Pages”.
Entwickler werden jetzt ganz schnell bemerken, wie sehr doch eine IDE fehlt, in der Skripte komfortabel geschrieben und debuggt werden können. Diese IDE gibt es aber, sie findet sich unter PowerShell ISE (Integrated Scripting Environment), ist aber erst ab Version 2.0 von PowerShell dabei.
PowerShell 2.0 ist bei Windows 7 und Windows Server 2008 R2 enthalten. Wer sie auf Windows XP, Windows Vista, Windows Server 2003 oder 2008 (vor R2) benutzen will, muss sich das Windows Management Framework herunterladen. In diesem sind außerdem noch WinRM 2.0 und BITS 4.0 für die zuletzt genannten Systeme enthalten.
Nach einiger Zeit fällt Programmierern vielleicht noch auf, dass die Eigenschaften und Methoden einiger Objekte in PowerShell von denen in .NET abweichen. Und das wo doch PowerShell seine Power aus eben diesem Framework ziehen soll. Keine Panik! Für einige Objekte benutzt PowerShell einfach einen Wrapper (z.B. wenn es um XML oder das AD geht), bei diesen Objekten kann auf .PSBase zugegriffen werden um das “echte” .NET Objekt zu erhalten. Hier ein Beispiel mit der Methode MoveTo eines DirectoryEntry-Objekts:
$from = [ADSI]"LDAP://CN=Development Team,OU=BU Portals and Workflows,DC=HanseVision,DC=de"
$to = [ADSI]"LDAP://OU=BU SharePoint,DC=HanseVision,DC=de"
$from.PSBase.MoveTo($to, "cn=" + $from.name)
Mit den Möglichkeiten die PowerShell bietet, gerade im Bezug auf SharePoint 2010 und viele Erweiterungen, die die Power noch verstärken (z.B. das IIS Powershell-Snap-In) lohnt es sich auf jeden Fall sich damit näher zu beschäftigen.