PowerShell para principiantes

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

PowerShell para principiantes

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 Non. Se o tipo de parámetro e o seu nome están entre corchetes, entón este parámetro é opcional.

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.

PowerShell para principiantes

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

Engadir un comentario