Basics (WIP) ============\ PowerShell ist eine Objekt-Orientierte Shell. Sie wurde entwickelt um die antike CommandPrompt abzulösen.\ Man kann alle CMD-Commands in PowerShell ausführen, um jedoch PowerShell-Commands in CMD auszuführen muss man:\  `powershell Get-ChildItem`\ PowerShell mit dem Command dem man ausführen möchte rufen. **PowerShell ist Case-Insensitive** das heisst das auch Commands wie: `gEt-hElP GeT-lOcAlUsEr` problemlos ausgeführt werden können.\ Commands in PowerShell sind immer -. Hotkeys -------\ `CTRL` + `L`  sendet der Shell den Clear-Command `↑↓`                Erlaubt das durchsuchen der Command-History `TAB`             AutoComplete des aktuellen Commands oder `SHIFT` + `TAB` um durch mögliche AutoComplete's durchzusuchen. `CTRL` + `ALT` + `SHIFT` + `?`             Gibt eine Liste von allen Hotkeys im Terminal aus. ### Help\ Mit `Get-Help `  bekommt man Hilfe zu einem spezifischen Command.\ Diese Liste kann mit `Update-Help` aktualisiert werden. ## Getting Around ### Get-Location\ Um herauszufinden wo wir uns gerade befinden benutzen wir den Command: `Get-Location` ![](/bild_2023-06-08_135841212.png) ### Get-ChildItem Um Inhalte aus Ordner anzeigen zu lassen brauchen wir: `Get-ChildItem`\ Wir können uns Inhalte ausgeben die nicht im unserem aktuellen Ordner ist ausgeben: `Get-ChildItem `\ Dieser Command hat folgende Aliase: `gci`, `ls` ![](/powershell/bild_2023-06-08_140932224.png) ### Set-Location Um uns schliesslich in ein anderes Verzeichnis zu bewegen verwenden wir: `Set-Location `\ Dieser Command hat folgende Aliase: `cd` ![](/powershell/bild_2023-06-08_141508119.png) ### Clear-Host Um das Terminal-Fenster aufzuräumen oder wieder leer zu machen benutzen wir: `Clear-Host`\ Dieser Command hat folgende Aliase: `clear`, `cls` ## User- & Group-Management ### Get-LocalUser Mit dem Command: `Get-LocalUser` werden uns alle Lokale-Benutzer angezeigt ![](/powershell/bild_2023-06-08_143131714.png) ### New-LocalUser Um einen neuen Benutzer zu erstellen können wir: `New-LocalUser -Name "JLawrence" -NoPassword` brauchen. ![](/powershell/bild_2023-06-08_144944192.png)\ Danach können  wir eine Variable setzten: `$Password = Read-Host -AsSecureString` Mit dem `$` sagen wir PowerShell das wir eine Variable erstellen.\ Der Command `Read-Host` sorgt dafür das PowerShell ein string entgegen nimmt.\ Schliesslich mit `-AsSecureString` können wir dafür sorgen das unsere Eingabe mit '\*' überdruckt wird. ![](/powershell/bild_2023-06-08_144112380.png) ### Set-LocalUser Um Benutzer zu bearbeiten verwenden wir: `Set-LocalUser`\ Um also dem erstellten Benutzer ein Password hinzuzufügen werden wir den Command `Set-LocalUser -Name JLawrence -Password $Password` verwenden. ![](/powershell/bild_2023-06-08_150253157.png) ### Get-LocalGroup `Get-LocalGroup` gibt uns alle lokale Benutzer im Terminal aus: ![](/powershell/bild_2023-06-08_150902546.png) Next Adduser to local group