PowerShell för nybörjare

När vi arbetar med PowerShell är det första vi stöter på kommandon (Cmdlets).
Kommandoanropet ser ut så här:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Hjälp

Hjälp i PowerShell nås med kommandot Get-Help. En av parametrarna kan specificeras: exempel, detaljerad, fullständig, online, showWindow.

Get-Help Get-Service -full returnerar den fullständiga beskrivningen av hur kommandot Get-Service fungerar
Get-Help Get-S* visar alla tillgängliga kommandon och funktioner som börjar med Get-S*

Det finns också detaljerad dokumentation på den officiella Microsoft-webbplatsen.

Här är ett exempel på hjälp för kommandot Get-Evenlog

PowerShell för nybörjare

Om parametrar är omgivna av hakparenteser [], är de valfria.
Det vill säga, i det här exemplet krävs namnet på själva loggen och namnet på parametern Nej. Om parametertypen och dess namn står inom parentes, är denna parameter valfri.

Om du tittar på EntryType-parametern kan du se värdena som är omgivna av parenteser. För den här parametern kan vi bara använda fördefinierade värden i hängslen.

Information om huruvida parametern krävs kan ses i beskrivningen nedan i fältet Obligatoriskt. I exemplet ovan är After-attributet valfritt eftersom Required är inställt på false. Därefter ser vi fältet Position mittemot som säger Named. Det betyder att du bara kan referera till parametern med namn, det vill säga:

Get-EventLog -LogName Application -After 2020.04.26

Eftersom parametern LogName hade siffran 0 istället för Named, betyder det att vi kan referera till parametern utan ett namn, men genom att specificera den i önskad sekvens:

Get-EventLog Application -After 2020.04.26

Låt oss anta denna ordning:

Get-EventLog -Newest 5 Application

Alias

För att vi ska kunna använda de vanliga kommandona från konsolen i PowerShell finns det alias (Alias).

Ett exempelalias för kommandot Set-Location är cd.

Det vill säga istället för att anropa kommandot

Set-Location “D:”

vi kan använda

cd “D:”

historik

För att se historiken för kommandoanrop kan du använda Get-History

Utför kommando från historiken Invoke-History 1; Åberopa historik 2

Rensa historik

Pipeline

En pipeline i powershell är när resultatet av den första funktionen skickas till den andra. Här är ett exempel som använder pipeline:

Get-Verb | Measure-Object

Men för att bättre förstå pipelinen, låt oss ta ett enklare exempel. Har ett team

Get-Verb "get"

Om du anropar Get-Help Get-Verb -Full hjälp, kommer vi att se att Verb-parametern tar pipline-inmatning och ByValue skrivs inom parentes.

PowerShell för nybörjare

Det betyder att vi kan skriva om Get-Verb "get" till "get" | GetVerb.
Det vill säga, resultatet av det första uttrycket är en sträng och det skickas till Verb-parametern för kommandot Get-Verb via pipline-inmatning efter värde.
Pipline-ingång kan också vara ByPropertyName. I det här fallet skickar vi ett objekt som har en egenskap med ett liknande namn Verb.

variabler

Variabler är inte starkt skrivna och anges med en $ framför

$example = 4

Symbolen > betyder att data ska läggas in
Till exempel, $example > File.txt
Med detta uttryck kommer vi att lägga in data från variabeln $example i en fil
Samma som Set-Content -Value $example -Path File.txt

arrayer

Arrayinitiering:

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

Tom array-initiering:

$ArrayExample = @()

Få värde efter index:

$ArrayExample[0]

Få hela arrayen:

$ArrayExample

Lägga till ett element:

$ArrayExample += “Third”

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

Sortera efter:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Men själva arrayen förblir oförändrad med denna sortering. Och om vi vill att matrisen ska ha sorterad data, måste vi tilldela de sorterade värdena:

$ArrayExample = $ArrayExample | Sort

Det finns inget sätt att ta bort ett element från en array i PowerShell, men du kan göra det så här:

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

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

Ta bort en array:

$ArrayExample = $null

Loops

Slingsyntax:

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){}

Gå ur brytslingan.

Hoppa över fortsätt-elementet.

Villkorliga uttalanden

if () {} elseif () {} else

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

Funktion

Funktionsdefinition:

function Example () {
  echo &args
}

Funktionslansering:

Example “First argument” “Second argument”

Definiera argument i en funktion:

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

function Example ($first, $second) {}

Funktionslansering:

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

undantag

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

Källa: will.com

Lägg en kommentar