PowerShell fir Ufänger

Wann Dir mat PowerShell schafft, ass dat éischt wat mir begéinen Kommandoen (Cmdlets).
De Kommandoruff gesäit esou aus:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Hëllef

Hëllef an PowerShell gëtt zougänglech mam Get-Help Kommando. Ee vun de Parameteren kann uginn ginn: Beispill, detailléiert, voll, online, showWindow.

Get-Help Get-Service -full gëtt déi voll Beschreiwung vun der Operatioun vum Get-Service Kommando zréck
Get-Hëllef Get-S* weist all verfügbare Kommandoen a Funktiounen unzefänken mat Get-S*

Et gëtt och detailléiert Dokumentatioun op der offizieller Microsoft Websäit.

Hei ass e Beispill Hëllef fir de Get-Evenlog Kommando

PowerShell fir Ufänger

Wann Parameteren an véiereckege Klammeren zougemaach sinn [], dann si fakultativ.
Dat ass, an dësem Beispill ass den Numm vum Log selwer erfuerderlech, an den Numm vum Parameter Nee. Wann de Parametertyp a säin Numm an Klammeren zesummegeschloss sinn, dann ass dëse Parameter fakultativ.

Wann Dir den EntryType Parameter kuckt, kënnt Dir d'Wäerter gesinn, déi a Curly Klammeren ageschloss sinn. Fir dëse Parameter kënne mir nëmme virdefinéiert Wäerter a Curly Klammern benotzen.

Informatioun iwwer ob de Parameter erfuerderlech ass kann an der Beschreiwung hei ënnen am Required Feld gesi ginn. Am Beispill hei uewen ass den After Attribut fakultativ well Required op falsch gesat ass. Als nächst gesi mir d'Positiounsfeld vis-à-vis vum Numm genannt. Dëst bedeit datt Dir de Parameter nëmmen mam Numm bezeechne kënnt, dat ass:

Get-EventLog -LogName Application -After 2020.04.26

Well de LogName Parameter d'Nummer 0 anstatt Named hat, heescht dat datt mir op de Parameter ouni Numm bezeechne kënnen, awer andeems en an der gewënschter Sequenz uginn:

Get-EventLog Application -After 2020.04.26

Loosst eis dës Uerdnung unhuelen:

Get-EventLog -Newest 5 Application

alias

Fir datt mir déi üblech Befehle vun der Konsole an PowerShell benotze kënnen, ginn et Aliasen (Alias).

E Beispill Alias ​​​​fir de Kommando Set-Location ass cd.

Dat ass, amplaz de Kommando ze ruffen

Set-Location “D:”

kënne mir benotzen

cd “D:”

Geschicht

Fir d'Geschicht vu Kommandozeruffen ze gesinn, kënnt Dir Get-History benotzen

Kommando aus der Geschicht ausféieren Invoke-Geschicht 1; Opruff Geschicht 2

Kloer-Geschicht

Pipeline

Eng Pipeline an Powershell ass wann d'Resultat vun der éischter Funktioun un déi zweet weidergeleet gëtt. Hei ass e Beispill mat der Pipeline:

Get-Verb | Measure-Object

Awer fir d'Pipeline besser ze verstoen, loosst eis e méi einfacht Beispill huelen. Huet eng Equipe

Get-Verb "get"

Wann Dir de Get-Help Get-Verb -Full Hëllef nennt, da wäerte mir gesinn datt de Verb Parameter Pipline-Input hëlt an ByValue an Klammeren geschriwwe gëtt.

PowerShell fir Ufänger

Dëst bedeit datt mir Get-Verb "kréien" op "kréien" | GetVerb.
Dat ass, d'Resultat vum éischten Ausdrock ass eng String an et gëtt un de Verb Parameter vum Get-Verb Kommando iwwer d'Pipline-Input duerch Wäert iwwerginn.
Och Pipline-Input kann ByPropertyName sinn. An dësem Fall wäerte mir en Objet passéieren deen e Besëtz mat engem ähnlechen Numm Verb huet.

Variablen

Variablen sinn net staark getippten a gi mat engem $ virun spezifizéiert

$example = 4

D'Symbol > heescht d'Donnéeën anzeginn
Zum Beispill, $ Beispill> File.txt
Mat dësem Ausdrock wäerte mir d'Donnéeën vun der $ Beispill Variabel an eng Datei setzen
Selwecht wéi Set-Inhalt -Value $ Beispill -Path File.txt

Arrays

Array Initialiséierung:

$ArrayExample = @(“First”, “Second”)

Eidel Array Initialiséierung:

$ArrayExample = @()

Wäert duerch Index kréien:

$ArrayExample[0]

Kritt déi ganz Array:

$ArrayExample

En Element derbäisetzen:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Zortéieren:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Awer d'Array selwer bleift onverännert mat dëser Sortéierung. A wa mir wëllen datt d'Array zortéiert Donnéeën huet, da musse mir déi zortéiert Wäerter zouginn:

$ArrayExample = $ArrayExample | Sort

Et gëtt kee Wee fir en Element aus engem Array an PowerShell ze läschen, awer Dir kënnt et esou maachen:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Eng Array erofhuelen:

$ArrayExample = $null

Loops

Loop Syntax:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Sortie vun der Paus Loop.

Sprangen de weider Element.

Conditionnel Aussoen

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

Funktioun

Funktioun Definitioun:

function Example () {
  echo &args
}

Funktioun Start:

Example “First argument” “Second argument”

Argumenter an enger Funktioun definéieren:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Funktioun Start:

Example -first “First argument” -second “Second argument”

Ausnam

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Source: will.com

Setzt e Commentaire