Powershell, Karten 01-30

Grundlagen Powershell

Grundlagen Powershell

Roger Aschwanden

Roger Aschwanden

Kartei Details

Karten 30
Lernende 14
Sprache Deutsch
Kategorie Informatik
Stufe Berufslehre
Erstellt / Aktualisiert 05.11.2015 / 27.11.2023
Weblink
https://card2brain.ch/box/powershell
Einbinden
<iframe src="https://card2brain.ch/box/powershell/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

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