Scripts

    Reguläre Ausdrücke (RegEx) in PowerShell verwenden

    Reguläre Ausdrücke in PowerShellDie Unterstützung für reguläre Ausdrücke gehört zum Pflichtprogramm für eine moderne Script-Sprache. PowerShell bietet mehrere Sprach­kon­strukte, die eine Verwendung von RegEx zu­lassen. Bei der syntaktischen Umsetzung orien­tierte sich Microsoft - anders als etwa bei Word - weitgehend an Perl, so dass für die meisten RegEx-erfahrenen Anwender der Lernaufwand gering bleibt.

    Umgebungsvariablen setzen, anzeigen und löschen mit PowerShell

    Wie alle anderen Programme erhält auch PowerShell beim Start eine Kopie des Master-Environments mit allen darin enthaltenen Variablen. Diese kann man auslesen, neue setzen oder vorhandene löschen. Wie schon bei cmd.exe oder anderen Shells wirken sich diese Operationen nur auf die aktuelle Instanz von PowerShell aus.

    Lizenz-Management mit Aagon ACMP automatisieren

    Compliance-Übersicht in ACMPSoftware-Lizenzen korrekt zu verwalten ist nicht trivial: Eine Viel­zahl von Pro­grammen in meh­reren Ver­sionen kom­biniert mit kom­plexen Nutzungs­bedingungen stellen Firmen vor eine schwie­rige Aufgabe. Hier helfen intelli­gente Tools für das Lizenz-Management, um Nach­zahlungen oder eine Über­lizenzierung zu vermeiden.*

    Vergleichsoperatoren in PowerShell: -eq, -lt, gt, -contains, -like, -match

    Für bedingte Anweisungen oder Schleifen muss man in der Lage sein, Werte zu vergleichen, um abhängig davon den weiteren Fortgang eines Scripts zu bestimmen. PowerShell bietet wie alle anderen fortgeschrittenen Script-Sprachen sowohl if/else und switch als auch die dazugehörigen Vergleichsoperatoren. Allerdings orientiert sich Microsoft damit nicht an populären Sprachen aus dem Web- und Windows-Umfeld.

    Show-Command: GUI für den Aufruf von PowerShell-Cmdlets

    PowerShell 3.0 bringt ein neues grafisches Tool, das die Suche nach einem passenden Cmdlet vereinfacht und bei der Formulierung des Befehls hilft. Es kommt vor allem Einsteigern entgegen, die PowerShell interaktiv als Kommandozeile nutzen möchten. Show-Command ist somit eine Alternative zu Get-Command.

    Get-Process, Stop-Process: Prozesse anzeigen und beenden in PowerShell

    Um aktive Prozesse anzuzeigen und nicht mehr reagierende Programme zu beenden, hat sich unter Windows der Task-Manager als das bevorzugte Tool etabliert. Die PowerShell ist für diese Aufgaben jedoch in vielen Fällen flexibler und effizienter. Zuständig sind dafür die Cmdlets Get-Process und Stop-Process.

    PowerShell-Cmdlets suchen mit Get-Command und Get-Module

    Microsoft sieht PowerShell als Script-Umgebung und Kommandozeile, die praktisch alle Komponenten und Funktionen des Systems verwalten soll. Entsprechend groß ist der Umfang an Kommandos (Cmdlets) und er wächst mit Windows 8 und Server 2012 noch erheblich. Hinzu kommen Module für die Administration von Anwendungen wie Sharepoint oder für Software von Drittanbietern (z.B. VMware PowerCLI). Zum Glück bietet PowerShell die Mittel, um sich in den zahlreichen Cmdlets zurechtzufinden.

    Get-WmiObject: PowerShell für WMI-Abfragen nutzen

    Mittels Windows Management Instrumentation (WMI) lässt sich eine Fülle von Informationen über einen Rechner abrufen, von seiner Hardware- und Softwareausstattung über Log-Einträge bis zu den User-Konten. Für WMI-Abfragen aller Art ist in PowerShell Get-WmiObject zuständig, das im Zusammenspiel mit anderen Cmdlets die ermittelten Daten nach Belieben aufbereiten und ausgeben kann.

    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.

    Große Dateien finden mit PowerShell

    Große Dateien finden mit PowerShellWenn der Speicher­platz auf einem Lauf­werk knapp wird, dann möchte man wahr­scheinlich wissen, ob einige dicke Brocken dafür verant­wortlich sind, auf die man even­tuell ver­zichten kann. Für diese Auf­gabe gibt es einige kosten­lose Tools, aber dank Power­Shell kann man sich ihre Instal­lation sparen.

    Get-Date: Datum berechnen und formatieren in Powershell

    Ruft man das Cmdlet Get-Date ohne Argumente auf, dann gibt es nur das Systemdatum aus. Daraus soll man jedoch nicht den voreiligen Schluss ziehen, dass es sich dabei nur um die Powershell-Entsprechung zum date-Befehl von cmd.exe handelt. Vielmehr beherrscht es fast beliebige Datumsberechnungen und Datumsformate.

    Seiten