Cando traballamos con PowerShell, o primeiro que atopamos son os comandos (Cmdlets).
A chamada de comando ten o seguinte aspecto:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
axudar
Accédese á axuda en PowerShell mediante o comando Get-Help. Pódese especificar un dos parámetros: exemplo, detallado, completo, en liña, showWindow.
Get-Help Get-Service -full devolverá a descrición completa da operación do comando Get-Service
Get-Help Get-S* mostrará todos os comandos e funcións dispoñibles que comezan por Get-S*
Tamén hai documentación detallada no sitio web oficial de Microsoft.
Aquí tes un exemplo de axuda para o comando Get-Evenlog
Se os parámetros están entre corchetes [], entón son opcionais.
É dicir, neste exemplo, é necesario o nome do propio rexistro e o nome do parámetro
Se miras o parámetro EntryType, podes ver os valores que están entre corchetes. Para este parámetro, só podemos usar valores predefinidos entre chaves.
A información sobre se o parámetro é necesario pódese ver na descrición que aparece a continuación no campo Obrigatorio. No exemplo anterior, o atributo Despois é opcional porque Obrigatorio está definido como falso. A continuación, vemos o campo Posición ao lado que di Nomeado. Isto significa que só pode referirse ao parámetro polo seu nome, é dicir:
Get-EventLog -LogName Application -After 2020.04.26
Dado que o parámetro LogName tiña o número 0 en lugar de Nomeado, isto significa que podemos referirnos ao parámetro sen nome, pero especificándoo na secuencia desexada:
Get-EventLog Application -After 2020.04.26
Imos asumir esta orde:
Get-EventLog -Newest 5 Application
de feito
Para que poidamos usar os comandos habituais da consola en PowerShell, hai alias (Alias).
Un exemplo de alias para o comando Set-Location é cd.
É dicir, en lugar de chamar ao comando
Set-Location “D:”
podemos usar
cd “D:”
historia
Para ver o historial de chamadas de comandos, pode usar Get-History
Executar o comando do historial Invoke-History 1; Invocar a historia 2
Borrar-Historial
Oleoduto
Unha canalización en powershell é cando o resultado da primeira función se pasa á segunda. Aquí tes un exemplo usando o pipeline:
Get-Verb | Measure-Object
Pero para comprender mellor o pipeline, imos poñer un exemplo máis sinxelo. Teño un equipo
Get-Verb "get"
Se chamas á axuda Get-Help Get-Verb -Full, veremos que o parámetro Verb toma entrada de pipeline e ByValue está escrito entre corchetes.
Isto significa que podemos reescribir Get-Verb "get" en "get" | GetVerb.
É dicir, o resultado da primeira expresión é unha cadea e pásase ao parámetro Verb do comando Get-Verb mediante a entrada de pipeline por valor.
Tamén a entrada de pipeline pode ser ByPropertyName. Neste caso, pasaremos un obxecto que teña unha propiedade cun nome similar Verbo.
Variables
As variables non están escritas con forza e especifícanse cun $ diante
$example = 4
O símbolo > significa poñer os datos
Por exemplo, $example > File.txt
Con esta expresión, poñeremos os datos da variable $example nun ficheiro
Igual que Set-Content -Value $example -Path File.txt
Arrays
Inicialización da matriz:
$ArrayExample = @(“First”, “Second”)
Inicialización da matriz baleira:
$ArrayExample = @()
Obtención de valor por índice:
$ArrayExample[0]
Obter toda a matriz:
$ArrayExample
Engadindo un elemento:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Ordenar por:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Pero a matriz en si permanece sen cambios con esta clasificación. E se queremos que a matriz teña datos ordenados, necesitamos asignar os valores ordenados:
$ArrayExample = $ArrayExample | Sort
Non hai forma de eliminar un elemento dunha matriz en PowerShell, pero pode facelo así:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Eliminando unha matriz:
$ArrayExample = $null
Loops
Sintaxe do 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){}
Saír do bucle de ruptura.
Omita o elemento continuar.
Enunciados condicionais
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
función
Definición da función:
function Example () {
echo &args
}
Lanzamento da función:
Example “First argument” “Second argument”
Definición de argumentos nunha función:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Lanzamento da función:
Example -first “First argument” -second “Second argument”
Excepción
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Fonte: www.habr.com