Scripts

Ablaufdatum von AD-Passwörtern in PowerShell auslesen

Kennwort ändern in RemotedesktopMit Hilfe des Modules ActiveDirectory ist PowerShell in der Lage, die meisten Informa­tionen von AD-Objekten auszulesen oder zu än­dern. Dazu gehören auch die verschie­denen Ein­stellungen für Passwörter von Benutzer­konten, etwa deren Ablauf­datum oder der Zeitpunkt ihrer letzten Änderung.

Weiterlesen »

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.

Weiterlesen »

Mitgliedschaft eines Users in Active-Directory-Gruppen ausgeben

Ein AD-User kann neben seiner primären Gruppe Mitglied in anderen Gruppen sein. Dafür gibt es im AD die Attribute PrimaryGroup und MemberOf, die per Get-AdUser gemeinsam abgefragt werden. Die Abfrage selber ist sehr einfach, die Schwierigkeit für alle, die bei der PowerShell erst am Anfang stehen besteht darin, die Namen zu einer einzigen Ausgabe zusammenzufassen.

Weiterlesen »

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.

Weiterlesen »

Snapshots in Hyper-V erstellen, löschen und anwenden mit PowerShell

Hypervisor-SnapshotSnapshots, neuer­dings auch Checkpoints (auf Deutsch Prüfpunkte), sind vor allem in Test- und Entwicklungs­umgebungen sehr prak­tisch, weil man damit eine VM sehr einfach auf einen früheren Zustand zurück­setzen kann. PowerShell bietet mehrere Cmdlets, um Snap­shots zu erstellen und zu verwalten.

Weiterlesen »

Split-Path, Get-ChildItem: Dateinamen zerlegen in PowerShell

String-Manipulation in PowerShellBei der Arbeit mit Dateinamen ist es gelegentlich notwendig, aus diesen die einzelnen Bestandteile wie Laufwerk, Pfad oder Namen zu extrahieren. Die Cmdlets Get-ChildItem und Split-Path helfen dabei. Zweiteres ist auch in der Lage, Pfade in der Registry oder im AD parsen, wenn diese als Laufwerk gemountet werden.

Weiterlesen »

MAC-Adresse, VLAN-ID, WOL, Jumbo-Frames und Protokolle ändern mit PowerShell

NetzwerkadapterAlternativ zur Konfiguration von Netz­adaptern über die GUI kann PowerShell deren Einstellungen auslesen und ändern. Dafür bedarf es allerdings mehrerer Cmdlets, darunter Get-NetAdapter, Get-NetAdapter­Binding, Get-NetAdapter­Power­Mana­ge­ment oder Get-NetAdapter­Advanced­Property sowie ihren Set-Pendants.

Weiterlesen »

Get-Alias, Set-Alias: Kurznamen für PowerShell-Befehle

PowerShell-AliasPowerShell bietet wie einige andere Kom­mando­inter­preter einen Alias-Mecha­nismus, der alternative Namen für Cmdlets oder Befehle definieren kann. Er dient vor allem dazu, Tipparbeit in einer inter­aktiven Sitzung zu sparen. Er leidet jedoch unter einigen Einschränkungen.

Weiterlesen »

Zeilenumbruch in PowerShell

ZeilenumbruchBei der Ausgabe von Sonder­zeichen wie Zeilen­umbrüchen oder Tabulatoren beschreitet Power­Shell eigene Wege. Das gilt auch für lange Code-Zeilen, wenn diese der besseren Dar­stellung wegen unterteilt werden sollen. Hier ist ein Fort­setzungs­zeichen nur in einigen Fällen nötig.

Weiterlesen »

Zugriffsrechte für OUs im Active Directory anzeigen mit PowerShell

Rechte für OUs delegieren in Active Directory-Benutzer und -ComputerDie Bedeutung eines gewissen­haften Rechte-Manage­ments für das AD und seine Objekte ist unbe­stritten. Unter den Bord­mitteln eignen sich GUI-Tools vor allem für das Zuteilen und Ent­ziehen der Berechtigungen, während Power­Shell besonders flexibel bei der Auswer­tung der ACLs ist.

Weiterlesen »