Skip to main content

Powershell Masterclass

Powershell-Version herausfinden

Get-Host

Hilfe erhalten

Get-Help Get-Command

Beschreibungen zu Hilfen

Parameter in [ ] verpflichtend [-Logname] <String> 
Paramenter komplett in [ ] optional [-ComputerName <String[]>]

Wichtige Befehle (Cmd-lets)

Aufbau: Verb-Nomen Parameter

CMD-Let Beschreibung
Get-Uptime
Zeigt an, wie lange der Letzte Boot her ist
Get-ComputerInfo
Zeigt die Computerinfo an
Get-ChildItem
Verzeichnisinhalt anzeigen 
Set-Location

Aktuellen Ordner festlegen
Set-Location HKLM setzt die Location auf die Registry

Start-Transcript
Stop-Transcript

Zum Loggen verwenden

Read-Host

Write-Host

Benutzereingabe abfragen

Gibt auf die Konsole aus

Start-Process

Programm öffnen Start-Process notepad

New-Item

Erstell eine neue Datei 
New-Item -ItemType File -Path C: -Force

Add-Content

Fügt einer Datei Inhalt hinzu

Get-Content

Auslesen einer Datei

Measure-Object

Zählen 
gleich wie .Count Vorher in Klammern setzen

 


Parameter

Option Beschreibung
-Recurse Auch für Unterordner
-Confirm Fordert zur Bestätigung aus
-Confirm:$false Damit wird das Bestätigen umgangen
-AsSecureString Verschlüsselt abspeichern
-Whatif
Was wäre wenn. Der Befehl wird nicht ausgeführt
-Verbose
Was wird passieren
-PassThru
Gibt nur die Werte wieder, keine Tabellen
-Wrap Zeilenumbruch
-AutoSize Passt die Spaltenansicht an

Alias

Get-Alias zeigt alle Aliase an

Variablen

erstellen $a

zu Variablen hinzufügen $a += 2 Es wird die Variable um 2 erhöht

Execution Policy

Get-ExecutioanPolicy -List
Restricted Nichts erlaubt
Unrestricted Alles erlaubt
RemoteSigned Aus dem Internet geladene müssen signiert sein
AllSigned Müssen auch die eigenen signiert sein
Bypass

Setzen

Set-ExecutionPolicy Bypass

Dateien freigeben zum ausführen 

Unblock-File

Programmbeispiele 

hier zu finden

Profile erstellen

Darin können verschiedene Einstellungen gespeichert werden, damit Powershell immer mit den gleichen Optionen startet. 

New-Item $PROFILE -ItemType File -Force

Hilfe lesen können

  • Aufrufen mit Get-Help und dem Befehl
  • Beispiele sind besser um etwas zu verstehen 

 

Pipeline

Was ist die Pipeline

image.png

Format Befehle

Format Befehle sollten immer am Ende eines Befehls stehen und diehnen zur Ausgabe auf der Konsole

Get-Process | Format-Table Id,ProcessName
Get-Process | Format-List

Out Befehle

Out-File #Ausgabe als Datei
Out-Printer #Ausgabe auf dem Standard-Drucker
Out-Null #Keine Ausgabe 
Out-Gridview #Zeigt die Ausgabe als Tabelle an

Get-Process | Out-File $home\process.txt

Out-Gridview

Mit dem folgenden Skript werden alle AD-User an GridView übergeben. Der Parameter PassThru ermöglicht es eine Auswahl zu treffen. Diese Auswahl wird dann an Disable ADAccount weiter. 

Get-ADUser -Filter * | Out-GridView -PassThru | Disable-ADAccount -Verbose