Scripts

    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.

    Den letzten Tag eines Monats berechnen

    Der administrative Alltag mit der PowerShell wird nicht nur die großen Herausforderungen in den Themenbereichen ActiveDirectory, Exchange Server 2010, HyperV oder VMWare geprägt, sondern auch durch die vielzitierten Kleinigkeiten, über die man sich als PowerShell-Anwender, der am Anfang steht und den "Guru-Status" noch nicht erreicht hat, lange den Kopf zerbrechen kann.

    Hier eine Kostprobe: Wie lässt das Datum des letzten Wochentags eines Monats ermitteln? Konkret: Welches Datum besitzt der letzte Samstag im Februar?

    Individuelle Dashboards in ACMP 5.4: Visualisierung von Compliance, Jobs und Assets

    Dynamische Dashboard in ACMPModerne Sys­teme für das Client-Management sind nicht nur Werk­zeuge für admi­ni­strative Auf­gaben, sondern bün­deln viele wichtige Infor­ma­tionen zur Unter­nehmens-IT. Neben Reports er­lauben vor allem Dia­gramme den schnellen Zu­gang zu diesen Daten. Mit anpass­baren Dash­boards bietet ACMP 5.4 dabei mehr Flexi­bilität.

    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-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.

    Netzlaufwerke verbinden mit Powershell und net use

    Für das Verbinden eines Netzwerklaufwerks mit einer Freigabe hat die PowerShell nichts zu bieten. Da dies aber eine wichtige Aufgabe von Login-Skripts ist, muss es natürlich auch dafür eine PowerShell-Lösung geben.

    Wörter und Zeichen zählen mit PowerShell

    Die PowerShell bietet alle wesentlichen Werkzeuge zur Bearbeitung und Analyse von Textdateien. Dazu zählt nicht nur die Suche nach dem Vorbild von grep mit select-string, sondern auch das Zählen von Zeichen, Wörtern und Zeilen nach dem Muster von wc unter Unix.

    Große Dateien kopieren mit BITS und Powershell

    Für das Kopieren von (großen) Dateien hat die PowerShell (zwangsläufig) einiges zu bieten. Neben dem etwas schlichten Copy-Item-Cmdlet (das z.B. keine Anmeldung an eine Freigabe ermöglicht) stehen die Windows-Befehle XCopy und der inoffizielle Nachfolger RoboCopy (für „Robust Copy“) zur Auswahl. Beide werden exakt auf dieselbe Art und Weise aufgerufen, wie innerhalb der "regulären" Befehlszeile.

    Prozess-ID und Name von Diensten auslesen mit eigenen Powershell-Properties

    Die Stärken der PowerShell liegen in der Leichtigkeit, mit der sich neue Objekte definieren und vorhandenen Objekte neue Properties anhängen lassen. Das Ganze ist viel einfacher, als es sich zunächst anhört. Hat man den sprichwörtlichen Bogen erst einmal raus, ergeben sich unzählige Möglichkeiten beliebige Ergebnisse über eine individuelle Property an einen Objekt-Output anzuhängen.

    Gelöschte Active-Directory-Objekte wiederherstellen mit PowerShell

    Wird ein AD-Objekt wie zum Beispiel ein User-Objekt gelöscht, ist es noch nicht ganz verloren. Es wird bekanntlich in einen speziellen Container (auch Tombstone genannt) mit dem Namen "CN=Deleted Objects" verschoben, indem es in der Regel noch 180 Tage (dieser Wert kann variieren) frisch gehalten wird. Dieser Container wird in der regulären Active Directory Benutzer- und Computer-Konsole nicht angezeigt, kann aber mit dem Tool Ldp.exe sichtbar gemacht werden.

    Seiten