Scripts

    Stoppuhr mit PowerShell einrichten

    StoppuhrWill man zum Beispiel die Dauer einer bestimmten Opera­tion messen oder eine Aktion nach Über­schreiten eines Zeit­limits aus­führen, dann kann man dafür eine Stopp­uhr in PowerShell nutzen. Das ent­sprechende Objekt umfasst die nötigen Methoden, um die Uhr zu starten, zurück­zusetzen oder anzu­halten.

    Alle Windows-Server auf ablaufende Zertifikate prüfen mit PowerShell

    Zertifikate mit PowerShell verwaltenLäuft etwa ein SSL-Zertifikat auf einem Web-Server, RD Gateway oder WSUS-Server ab, dann ist deren Service in der Regel nicht mehr zu­gänglich. Um solche Situa­tionen zu ver­meiden, sollte man die Gültig­keit von Zertifi­katen laufend prüfen. Das lässt sich auch mit einem PowerShell-Script erledigen.

    Passphrasen statt Kennwörter: Mehr Sicherheit und bessere User-Akzeptanz

    Windows-Logon mit Username und PasswortAuch wenn Microsoft regel­mäßig das Ende der Passwörter ausruft, so bleiben diese trotz ihrer Schwächen das populärste Verfahren zur Authen­tifizierung. Unter­nehmen sollten daher nur starke Kenn­wörter zulassen. Passphrasen bilden einen guten Kompromiss zwischen Sicherheit und Benutzer­freundlichkeit.*

    SecretsManagement: PowerShell erhält Modul für Passwort-Manager

    Authentifizierung über Username und PasswortMicrosoft stellte eine frühe Version von Secrets­Management vor. Es dient dazu, Pass­wörter in einem Tresor ("Vault") abzu­legen und daraus auszu­lesen. Es kann über Provider an Passwort-Manager an­docken, bringt aber auch einen eigenen Vault mit. Es erspart Admins damit das Speichern von Secure Strings in Text­dateien.

    Befehle wiederholen in PowerShell

    Cmdlets des Moduls PSReadLinePowerShell hält die Befehls­historie in der Version 5.x dank PSReadLine gleich doppelt vor, einmal nur für die Session und das andere Mal per­manent in einer Datei. Möchte man Kom­mandos aus der sitzungs­über­greifenden Liste aus­wählen und gleich starten, dann bietet sich eine Lösung mit Out-GridView an.

    JSON in PowerShell erzeugen und bearbeiten

    JavaScript Object Notation (JSON)Die JavaScript Object Notation (JSON) hat sich als ein­faches Text­format für den Aus­tausch und die Seria­lisierung von Daten etabliert, unab­hängig von Platt­formen und Pro­grammier­sprachen. PowerShell spricht solche Strukturen als Objekte an und erspart dem User so das Parsen von Text­dateien.

    Benutzer, Computer und Gruppen im Active Directory löschen mit PowerShell

    AD-Objekte löschenDas PowerShell-Modul für Active Direc­tory um­fasst nicht nur Cmdlets zum An­legen und Ab­fragen von Kon­ten, son­dern auch zum Löschen der­selben. Zu­ständig da­für sind Remove-ADUSer und Remove-ADComputer. Remove-ADGroup ent­fernt Grup­pen und Remove-ADObject räumt alle Ar­ten von Ob­jekten ab.

    PowerShell Remoting über HTTPS mit einem selbstsignierten SSL-Zertifikat

    PowerShell-Remoting über HTTPS konfigurierenVerbindungen, die man über Enter-PSSession und Invoke-Command aufbaut, kommu­nizieren stan­dard­mäßig über HTTP. Aller­dings ver­schlüsselt dabei WinRM die über­tragenen Daten. Zusätz­liche Sicher­heit erlangt man speziell in Work­groups durch HTTPS, wobei ein selbst­sig­nierten SSL-Zertifikat in der Regel reicht.

    New-SelfSignedCertificate: Selbstsignierte Zertifikate ausstellen mit PowerShell

    Zertifikate mit PowerShell verwaltenWährend man früher Tools wie makecert.exe benö­tigte, um selbst­signierte Zerti­fikate aus­zustellen, kann Power­Shell diese Auf­gabe seit Windows 8 und Server 2012 mit New-SelfSignedCertificate über­nehmen. Sie lassen sich etwa für die Client- und Server-Authenti­fizierung oder die Code-Signierung ver­wenden.

    JEA: Rollenfunktionen definieren und einer PowerShell Session Configuration zuordnen

    Role Capabilty File im JEA Helper Tool bearbeitenMit Just Enough Administration (JEA) kön­nen Benutzer ohne admini­strative Berech­tigungen Manage­ment-Aufgaben über­nehmen. Die Grund­lage für JEA bilden Session-Konfi­gurationen, die bestim­men, wer Zugriff bekommt. Role Capabilities definieren dann die Mittel, welche in PowerShell zur Ver­fügung stehen.

    Ausführungsrichtlinien (Execution Policy) für PowerShell-Scripts über GPO setzen

    PowerShell SecurityDie Ausführung von PowerShell-Scripts lässt sich über Richt­linien ein­schränken, standard­mäßig wird sie blockiert. Während die vom Admin interaktiv gesetzte Execution Policy von jedem User aufge­hoben werden kann, ist die Konfi­guration per GPO nach­haltiger. Sicher­heit gegen bös­willige User bietet sie aber trotz­dem nicht.

    Seiten