Allgemeine Befehle - PowerShell
Aus Wiki-WebPerfect
Version vom 8. Juni 2017, 15:31 Uhr von Admin (Diskussion | Beiträge)
Inhaltsverzeichnis
- 1 Allgemein
- 2 Darstellung / Suche
- 2.1 Darstellung Werte in einer Tabelle ausgeschrieben (Format-Table)
- 2.2 Suchen nach Befehlen mit einem Suchstring (Get-Command)
- 2.3 Beispiele bzw. Verwendung eines Befehls anzeigen
- 2.4 Objekt in einer Tabelle suchen
- 2.5 Nur eine gewisse Spalte anzeigen
- 2.6 Nur eine gewisse Spalte anzeigen und nach Alphabet sortieren
- 3 Dateien
- 4 Betriebssystem
- 5 Prozesse
- 6 User
- 7 Filesystem
- 8 Netzwerk
- 9 Datum und Zeit
- 10 Variablen
- 11 Dienste / Services
- 12 PowerShell Module
- 13 Hilfe
- 14 Logging/Aufzeichnung
Allgemein
Ausklammern / Kommentar im PowerShell Quellcode
#Beschreibung des Commands
Analyse was würde der Befehl bewirken
<Command> -WhatIf
Zeigt an was er alles gemacht hat
<Command> -Verbose
Zeigt alle Aliase an. (Beispiel: Get-Command = gcm)
Get-Alias
Eigenes PowerShell Profil anzeigen
$profile
Darstellung / Suche
Darstellung Werte in einer Tabelle ausgeschrieben (Format-Table)
<sonstiger PowerShell-Command> | Format-Table -Wrap -AutoSize
Suchen nach Befehlen mit einem Suchstring (Get-Command)
gcm *-*<Suchstring>*
Beispiel: Alle Befehle mit dem Suchstring VPN:
gcm *-*vpn*
Beispiele bzw. Verwendung eines Befehls anzeigen
man <Befehl> -Examples
Objekt in einer Tabelle suchen
<Command> | ? name -match "Suchbegriff"
Nur eine gewisse Spalte anzeigen
<PowerShell-Command> | Select <Spaltenname>
Nur eine gewisse Spalte anzeigen und nach Alphabet sortieren
<PowerShell-Command> | Select <Spaltenname> | Sort-Object -Property <Spaltenname>
Dateien
Komprimierung bzw. Erstellung eines Zip-Archives
Compress-Archive -Path <Verzeichnis> -DestinationPath <Verzeichnis>.zip -CompressionLevel Optimal
Betriebssystem
Windows Version anzeigen
[System.Environment]::OSVersion.Version
Systeminformationen anzeigen
Systeminfo
Prozesse
Alle laufenden Prozesse anzeigen
Get-Process
Bestimmten Prozess stoppen (Beispiel: Notepad)
Get-Process | ? ProcessName -eq notepad | Stop-Process
Alle laufenden Prozesse einer Applikation anzeigen (Beispiel: Notepad | Unterschiedliche Schreibweisen)
Get-Process | Where-Object {$_.ProcessName -eq 'notepad'} Get-Process | Where {$_.ProcessName -eq 'notepad'} Get-Process | ? ProcessName -eq notepad
User
Alle angemeldeten Benutzer anzeigen
query user /server:$SERVER
Benutzer abmelden
logoff <Session-ID> /server:<Server> /V
Benutzer-Session zurücksetzen
reset <Session-ID> /server:<Server> /V
Message an alle angemeldeten Benutzer schicken
msg * "Your message goes here"
Filesystem
Alle Laufwerke und Mounts anzeigen
Get-psdrive
Netzwerk
Ports testen (Telnet Alternative)
Test-NetConnection <IP oder DNS-Namen> -Port <Port>
Beispiel: Port 80 bei Webperfect testen:
Test-NetConnection webperfect.ch -Port 80
Routing testen
Test-NetConnection -DiagnoseRouting
Datum und Zeit
Beispiel das Datum von Heute vor 180 Tage anzeigen
$Now = Get-Date $Now | gm $Now.addDays(-180)
Variablen
Variablen setzen
Für Strings:
$Variable = "Test"
Für Integers:
$Variable = 1
Explicite Variable definieren
[string]$Variable = "Test"
Zeigt alle möglichen Eigenschaften der Objekte (Beispiel: Anzahl der Buchstaben im Wert der Variable)
$Variable | Get-Member
Beispiel:
$Variable.Length
Dienste / Services
Bestimmter Dienst löschen
.\sc.exe delete <Dienstname>
PowerShell Module
PowerShell verfügbare Module anzeigen
Get-Module list
Funktionen bzw. Commands eines Modules anzeigen
Get-Command -Module Hyper-V
Hilfe
Man-Pages bzw. Hilfe-Seiten aktualisieren
PowerShell als Administrator öffnen:
Update-Help
Man-Artikel eines Commands als Fenster anzeigen
man <Command> -ShowWindow
Beschreibung/Hilfe eines Parameters zu einem Command anzeigen
man <Command> -Parameter <parameter>
Logging/Aufzeichnung
Zeichnet alle Befehle in eine Textdatei auf:
Start-Transcript -Path C:\Users\Username\AllOutputs.txt
Beendet die Aufzeichnung wieder:
Stop-Transcript -Path C:\Users\Username\AllOutputs.txt