Administration

Powershell für Bash-Kenner

Remote auf andere Rechner

Wie benutze ich Powershell um schnell auf ein anderes System zu kommen?

via SSH

ssh user@remotehost

mit persönlichem USER

 
Windows nimmt nicht einfach Username/Passwort, wäre auch zu einfach.
Ein Credential-Object muss erstellt werden das PW wird dabei interaktiv abgefragt. Das darf dann auch recycled werden

$mycred = Get-Credential -UserName "$env:USERDOMAIN\$env:USERNAME" -Message "Bitte PW eingeben"

wenn jemand gerne selber tippt:
 $mycred = Get-Credential -UserName "DOMAIN\USER" -Message "Bitte PW eingeben"

Die beiden variablen $env:USERDOMAIN und $env:USERNAME werden durch Windows gesetzt und sind in jeder Powershell-Sitzung vordefiniert.

Der Login selbst erfolgt über:

Enter-PSSession -ComputerName SERVERNAME -Credential $mycred

mit technischem USER

$User = "Domain01\Techuser"
$PWord = ConvertTo-SecureString  -AsPlainText -Force -String "P@sSwOrd"
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord

Der Login selbst erfolgt über:

Enter-PSSession -ComputerName SERVERNAME -Credential $Credential

In Dateien suchen

grep

alias sls='select-string'
sls "something" *.txt

tail

alias gc='get-content'

# Beispiel: Letzte 15 Zeilen
gc datei.txt -Last 15

# Beispiel: "tail -100f"
gc datei.txt -Last 100 -Wait

head

alias gc='get-content'

# Beispiel: Die ersten 15 Zeilen
gc datei.txt -First 15

Dateien Suchen

find

alias gci='Get-Childitem'

# Beispiel: Liste von Dateien erstellen
gci c:\PATH -File -Recurse

# Beispiel: Fehlerunterdrücken bei Berechtigungsfehlermeldungen (Powershell als admin starten ist an der Stelle meist von Vorteil)
gci c:\PATH -File -Recurse -ea SilentlyContinue

locate

Gibt es (bisher) nicht

Laufwerke anzeigen

df

get-psdrive

Mit freundlicher Genehmigung von Claas Biering