Powershell, Karten 01-30

Grundlagen Powershell

Grundlagen Powershell


Roger Aschwanden
Diese Lernkarten bieten eine Einführung in die Grundlagen von PowerShell auf Berufslehre-Niveau. Sie konzentrieren sich auf Befehle wie get, command und parameter, sowie die Arbeit mit dem Eventlog. Die Karteikarten zeigen, wie man Hilfe zu Befehlen abruft, Parameter deklariert und Skripte schreibt. Sie sind ideal für IT-Profis, die ihre PowerShell-Kenntnisse erweitern möchten, um effizienter mit dem Host und der Ausgabe von Befehlen zu arbeiten.
Cartes-fiches
30
Utilisateurs
13
Langue
Allemand
Catégorie
Informatique
Niveau
Apprentissage
Créé / Mis à jour
05.11.2015 / 27.11.2023

Cartes-fiches

Zeigt in Powershell die command History an

F7

Variable deklarieren.

Bsp: die Variable names "konto" auf den Wert 1234 setzen

$konto = 1234

Kurzform von foreach

Bsp: …. | foreach { Write-Host $_ }

%

Bsp: …. | % { Write-Host $_ } #Print all items in a collection.

Kurzform von Where/Where-Object.

Bsp: … | Where-Object { $_.property -eq "test" }

?

Bsp: … | ? { $_.property -eq "test" }

"command1" und "command2" auf einer Zeile ausführen.

command1;command2 #die commands werden unabhängig ausgeführt

Declare or use a variable with non-standard characters in it like ';;;'

Wie kann der Variable ;;; der Wert 5 zugewiesen werden

${;;;} = 5

${;;;} #gibt 5 als Output

Das erste command ist:  Write-Host "test"

Was ist der Output von: $$

test

$$ shows Last token of last command. Does NOT refer to the whole command

Das erste command ist:  Write-Host "test"

Was ist der Output von: $^

Write-Host

First token of last command. Does NOT refer to the whole command

Das nächste Zeichen nicht interpretieren.

Wie kann ich "The value is $10" ausgeben?

write-host "The value is `$10"

Expression ausführen innerhalb von "".

Bsp: $name="Kevin"

Der Output soll sein: Kevin hat 5 Zeichen

write-host "$name hat $($name.length) Zeichen"

Funktionen und Variablen vom externen Script "include.ps1" sollen im aktuelln Script verfügbar sein (also known as dot sourcing). Wie kann dies eingebunden werden?

. ./include.ps1 #include Script include.ps1 from the current directory

Wie kann 1 Zeile oder mehrere Zeilen auskommentiert werden?

# kommentiert die Zeile aus.

<# kommentiert alles aus bis #>

Ein Powershell command auf nächser Zeile fortsetzen

` #Backtick

Wie kann geprüft werden ob das letzte command erfolgreich war?

$? #Liefert True wenn der Befehl erfolgreich war, sonst False

wie kann die Powershell Version angezeigt werden?

$psversiontable

Wie kann in das Installationsverzeichnis von powershell gewechselt werden?

cd $pshome

get-help Get-Eventlog #Aufruf der Hilfe am Beispiel von Get-Eventlog

[-LogName] <String> #Wie ist diese Parameterdeklaration zu interpretieren?

 

Zwingender Positional Parameter welcher ohne den Parameternamen -LogName angegeben werden kann. Die Position/Reihenfolge der Parameters innerhalb vom command muss dann aber beachtet werden.

get-help Get-Eventlog #Aufruf der Hilfe am Beispiel von Get-Eventlog

[[-InstanceId] <Int64[]>] #Wie ist diese Parameterdeklaration zu interpretieren?

 

Optionaler Positional Parameter.  Der ParameterName und Type sind in  [] eingeschlossen. Der Parameter muss nicht angegeben werden. Falls doch ist -InstanceId nicht zwingend zu schreiben, die Position/Reihenfolge des Paramters muss dann aber beachtet werden.

get-help Get-Eventlog #Aufruf der Hilfe am Beispiel von Get-Eventlog

[-After <DateTime>] #Wie ist diese Parameterdeklaration zu interpretieren?

Optionaler Parameter. Der Parameter muss nicht angegeben werden. Falls doch ist der Parametername -After zwingend.

get-help Get-Eventlog #Aufruf der Hilfe am Beispiel von Get-Eventlog

[-ComputerName <string[]>] #Wie ist diese Parameterdeklaration zu interpretieren?

Optionaler Parameter welcher auch Listen, Arrays von string enthalten kann.

Bsp1: Get-EventLog Security -computer 'Server1','Server2'

Bsp2: Get-EventLog Application -computer (Get-Content names.txt)

get-help Get-Eventlog #Aufruf der Hilfe am Beispiel von Get-Eventlog

[-AsBaseObject] #Wie ist diese Parameterdeklaration zu interpretieren?

 

Switchparameter. Nur Angabe des Parameters ohne Wert

Wie können die Help Files von Powershell aktualisiert werden?

update-help #Dies muss manuell gemacht werden, sicher nach der Installation von Powershell aber auch regelmässig danach.

Wie kann die Hilfe von einem command direkt im Browser geöffnet werden?

get-help "command" -online

Wie kann nach einem command gesucht werden wenn das command nicht genau bekannt ist?

Wie können commands von einem Modul augelistet werden? z.B. dem Modul scheduledtasks

Bsp1: get-help "SearchString"

Bsp2; get-command -noun "SearchString"

Bsp3: get-command -module scheduledtasks #Listet Befehle zu einem bestimmten Modul auf

Mit welchem delimiter können mehrere Parameter angegeben werden?

Bsp: Liefere die Security-Eventlogs von server1 und server2

, #Komma

Get-EventLog -LogName Security -Computername Server1,Server2

Wie ist die Namenskonvetion für commands in der Powershell?

VERB-HAUTPTWORT

Bsp: get-verb #Listet die verfübaren Verben auf.

Wie kann nach Aliasen gesucht werden? z.B. für get-service

Es ist auch möglich Aliase von Paramentern von commands abzufragen wenn diese bekannt. z.B für den Parameter computername vom command get-eventlog. Wie?

get-alias -Definition Get-Service #Liefert gsv zurück

(get-command get-eventlog | select -ExpandProperty parameters).computername.aliases

Wie können Parameter mittels einem  GUI eingegeben werden?

z.B. für get-Process

Show-Command Get-Process #Jeder TAB entspricht einem möglichen "Parameter Set"

Wie kann ein String als command interpretiert und ausgeführt werden?

z.B. für externe Programme, wenn der Pfad leerzeichen enthält oder um ein ScriptBlock {} auszuführen

Bsp1: & "[path] command" [arguments]

Bsp2: & "get-process"

Der Alias "d" wurde mit "set-alias -name d dir" eingerichtet. Wie kann dieser wieder gelöscht werden?

remove-item alias:d

Étudier