Wiki/Code/Powershell/Basics.md

89 lines
3 KiB
Markdown
Raw Normal View History

2023-12-20 16:30:40 +01:00
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 <Verb>-<Nomen>.
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 <command>`  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 <path-to-folder>`\
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 <path-to-folder>`\
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