Quan treballem amb PowerShell, el primer que ens trobem són les ordres (Cmdlets).
La crida d'ordres té aquest aspecte:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Ajuda
S'accedeix a l'ajuda a PowerShell mitjançant l'ordre Get-Help. Es pot especificar un dels paràmetres: exemple, detallat, complet, en línia, showWindow.
Get-Help Get-Service -full retornarà la descripció completa de l'operació de l'ordre Get-Service
Get-Help Get-S* mostrarà totes les ordres i funcions disponibles que comencen per Get-S*
També hi ha documentació detallada al lloc web oficial de Microsoft.
Aquí teniu un exemple d'ajuda per a l'ordre Get-Evenlog
Si els paràmetres estan entre claudàtors [], són opcionals.
És a dir, en aquest exemple, cal el nom del propi registre i el nom del paràmetre
Si mireu el paràmetre EntryType, podeu veure els valors que es troben entre claudàtors. Per a aquest paràmetre, només podem utilitzar valors predefinits entre claus.
La informació sobre si el paràmetre és obligatori es pot veure a la descripció següent al camp Obligatori. A l'exemple anterior, l'atribut After és opcional perquè Obligatori està definit com a fals. A continuació, veiem el camp Posició al costat que diu Nom. Això vol dir que només podeu fer referència al paràmetre pel nom, és a dir:
Get-EventLog -LogName Application -After 2020.04.26
Com que el paràmetre LogName tenia el número 0 en lloc de Named, això vol dir que podem fer referència al paràmetre sense nom, però especificant-lo en la seqüència desitjada:
Get-EventLog Application -After 2020.04.26
Suposem aquest ordre:
Get-EventLog -Newest 5 Application
àlies
Perquè puguem utilitzar les ordres habituals de la consola a PowerShell, hi ha àlies (Àlies).
Un exemple d'àlies per a l'ordre Set-Location és cd.
És a dir, en lloc de cridar l'ordre
Set-Location “D:”
podem utilitzar
cd “D:”
història
Per veure l'historial de trucades d'ordres, podeu utilitzar Get-History
Executeu l'ordre des de l'historial Invoke-History 1; Invocar l'historial 2
Història clara
Canonada
Un pipeline a powershell és quan el resultat de la primera funció es passa a la segona. Aquí teniu un exemple amb el pipeline:
Get-Verb | Measure-Object
Però per entendre millor el pipeline, prenguem un exemple més senzill. Teniu un equip
Get-Verb "get"
Si truqueu a l'ajuda Get-Help Get-Verb -Full, veurem que el paràmetre Verb pren l'entrada de canalització i ByValue s'escriu entre parèntesis.
Això vol dir que podem reescriure Get-Verb "get" a "get" | GetVerb.
És a dir, el resultat de la primera expressió és una cadena i es passa al paràmetre Verb de l'ordre Get-Verb mitjançant l'entrada de pipline per valor.
També l'entrada de canalització pot ser ByPropertyName. En aquest cas, passarem un objecte que tingui una propietat amb un nom similar Verb.
Variables
Les variables no s'escriuen amb força i s'especifiquen amb un $ al davant
$example = 4
El símbol > significa posar les dades
Per exemple, $example > Fitxer.txt
Amb aquesta expressió, posarem les dades de la variable $example en un fitxer
Igual que Set-Content -Value $example -Path File.txt
Matrius
Inicialització de la matriu:
$ArrayExample = @(“First”, “Second”)
Inicialització de la matriu buida:
$ArrayExample = @()
Obtenció de valor per índex:
$ArrayExample[0]
Obteniu tota la matriu:
$ArrayExample
Afegeix un element:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Ordenar per:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Però la matriu en si es manté sense canvis amb aquesta ordenació. I si volem que la matriu tingui dades ordenades, hem d'assignar els valors ordenats:
$ArrayExample = $ArrayExample | Sort
No hi ha manera d'eliminar un element d'una matriu a PowerShell, però ho podeu fer així:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Eliminació d'una matriu:
$ArrayExample = $null
bucles
Sintaxi de bucle:
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){}
Sortida del bucle de ruptura.
Omet l'element de continuació.
Enunciats condicionals
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
function
Definició de la funció:
function Example () {
echo &args
}
Llançament de la funció:
Example “First argument” “Second argument”
Definició d'arguments en una funció:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Llançament de la funció:
Example -first “First argument” -second “Second argument”
Excepció
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Font: www.habr.com