Scripts

    VMware PowerCLI in PowerShell ISE verwenden

    PowerShell_ISE 5.0Die Instal­lation von PowerCLI legt ein Icon an, das Power­Shell startet und dabei ein Script zur Ini­tiali­sierung der Umge­bung aus­führt. Eine ähn­liche Inte­gra­tion mit der gra­fischen Power­Shell ISE ist nicht vorge­sehen, aber man kann sich auf ver­schie­dene Arten selbst behelfen.

    VMs starten, herunterfahren und anhalten mit VMware PowerCLI

    VM-Betriebsmodi in vSphere Web ClientAuch bei ein­fachen Opera­tionen wie dem Ein- und Aus­schalten von virtu­ellen Ma­schinen hat Power­Shell oft Vor­teile gegen­über dem vSphere Web Client. Das gilt etwa dann, wenn man einen Be­fehl auf mehrere VMs an­wenden will, und diese Filter­kriterien ent­sprechen müssen.

    Whitepaper: Keine Print-Cluster mehr in Windows Server - Verfügbarkeit der Drucker sicherstellen

    Thinprint hochverfügbares DruckenWenn Mit­arbeiter ihre Doku­mente nicht mehr aus­drucken können, dann führt dies zu Arbeits­unter­brechungen und womöglich zu Daten­verlusten. Seit Windows Server 2012 fehlt aber die vor­malige Hoch­verfügbar­keitslösung für das Drucken. ThinPrint füllt diese Lücke und bietet oben­drein eine dyna­mische Lasten­verteilung.

    Get-VM: Virtuelle Maschinen unter vSphere mit PowerCLI anzeigen und filtern

    Cmdlet Get-VM in VMware PowerCLIGet-VM dient in PowerCLI dazu, einen Überblick über die vir­tuellen Maschinen und ihre Konfi­guration zu gewinnen. Sein wesent­licher Nutzen besteht darin, dass man das Ergebnis an andere Cmdlets per Pipe übergeben kann. Auf diese Weise spart man sich bei diesen Befehlen die Eingabe der einzelnen VM-Namen.

    VMs unter Hyper-V vollständig löschen mit PowerShell

    Windows 10 PapierkorbLöscht man eine virtuelle Maschine mit dem Hyper-V Manager, dann überleben die virtuellen Laufwerke diesen Vorgang und belegen weiterhin Speicherplatz. Mit PowerShell lassen sich VMs samt VHD(X) und Snapshots relativ einfach abräumen.

    Arrays in PowerShell: anlegen, ändern, auslesen, sortieren, löschen

    Arrays in PowerShellWie fast jede moderne Script-Sprache kennt auch PowerShell den Datentyp Array. Er erfüllt auch hier die Aufgabe, zusammengehörige Werte in einer Variablen zu versammeln, wo man sie dann über einen Index ansprechen kann. Im Vergleich zu VBScript sind Operationen mit Arrays flexibler und in der Regel syntaktisch einfacher.

    Geplante Aufgaben anzeigen, starten, anhalten oder deaktivieren mit PowerShell

    Geplante Aufgaben mit PowerShell bearbeitenDie Aufgaben­planung ist seit mehreren Windows-Genera­tionen der zentrale Mecha­nismus, um Programme zeit­gesteuert oder abhängig von bestimmten Ereig­nissen auszu­führen. Seit PowerShell 3.0 lassen sich geplante Auf­gaben mit Hilfe mehrerer Cmdlets verwalten.

    Get-NetAdapter: NICs verwalten mit PowerShell

    NetzwerkadapterPowerShell bietet seit Windows 8 und Server 2012 eine Reihe von Cmdlets, mit denen sich die Einstellungen von Netzwerk­adaptern auslesen und zum Teil auch verändern lassen. Zu diesen Eigenschaften zählen unter anderem die MAC-Adresse, Wake-on-LAN oder an NICs gebundene Protokolle.

    Mehrere Dateien aneinanderhängen mit PowerShell

    Dateien zusammenhängen mit PowerShellFür die Auswertung von Log- oder CSV-Dateien ist es manchmal erforderlich, dass man diese in einer Datei zusammenführt. Auch beim Kopieren von mehreren Dateien in ein Zieldokument bietet PowerShell mehr Möglichkeiten als der alte Kommando-Interpreter.

    Benutzereingaben in PowerShell: Read-Host, mandatory = $true, Out-GridView

    Teaser TastaturWill man ein inter­aktives Script entwickeln, dann muss die verwendete Sprache Eingaben des Benutzers entgegen­nehmen können. Das wichtigste Mittel von Power­Shell für diesen Zweck ist das Cmdlet Read-Host, in einigen Situa­tionen sind auch verpflich­tende function-Parameter oder Out-GridView hilfreich.

    Anmeldedaten für Active Directory mit PowerShell überprüfen

    Möchte man feststellen, ob mit einem bestimmten Paar aus Benutzername und Kennwort die Anmeldung an einem ActiveDirectory möglich ist, dann kann man dies über PowerShell tun. Dazu muss man ein PrincipalContext-Objekt im Namespace System.DirectoryServices.AccountManagement anlegen. Er ist Bestandteil der Assembly-Bibliothek System.­DirectoryServices.­AccountManagement, die ihrereseits zur .NET 3.5-Laufzeit gehört.

    Seiten