PowerShell para principiantes

Al trabajar con PowerShell, lo primero con lo que nos encontramos son los comandos (Cmdlet).
La llamada al comando se ve así:

Verbo-Nombre -Parámetro1 TipoValor1 -Parámetro2 TipoValor2[]

Ayuda

La llamada a la ayuda en PowerShell se realiza mediante el comando Get-Help. Se puede indicar uno de los parámetros: example, detailed, full, online, showWindow.

Get-Help Get-Service -full devolverá una descripción completa del funcionamiento del comando Get-Service.
Get-Help Get-S* mostrará todos los comandos y funciones disponibles que comienzan con Get-S*.

También en el sitio web oficial de Microsoft hay documentación detallada.

Aquí hay un ejemplo de ayuda para el comando Get-Evenlog.

PowerShell para principiantes

Si los parámetros están entre corchetes [], son opcionales.
Es decir, en este ejemplo el nombre del registro es obligatorio, pero el nombre del parámetro no. Si el tipo de parámetro y su nombre están ambos entre corchetes, entonces ese parámetro es opcional.

Si observamos el parámetro EntryType, podemos ver los valores que están entre llaves. Para este parámetro, solo podemos usar valores predefinidos entre llaves.

La información sobre si un parámetro es obligatorio la podemos ver en la descripción debajo en el campo Required. En el ejemplo anterior, el atributo After es opcional, ya que frente a Required está false. Luego vemos el campo Position frente al cual está escrito Named. Esto significa que el parámetro solo se puede abordar por su nombre, es decir:

Get-EventLog -LogName Application -After 2020.04.26

Dado que al parámetro LogName se le indicó el número 0 en lugar de Named, significa que podemos abordar el parámetro sin nombre, siempre que lo indiquemos en el orden correcto:

Get-EventLog Application -After 2020.04.26

Supongamos que también existe ese orden:

Get-EventLog -Newest 5 Application

Alias

Para que podamos usar los comandos habituales de la consola en PowerShell, existen los alias (Alias).

Un ejemplo de alias para el comando Set-Location es cd.

Es decir, en lugar de llamar al comando

Set-Location “D:”

podemos usar

cd “D:”

Historial

Para ver el historial de llamadas a comandos, se puede usar Get-History.

Ejecutar un comando del historial Invoke-History 1; Invoke-History 2.

Limpiar el historial Clear-History.

Pipeline

El pipeline en PowerShell es cuando el resultado de la ejecución de la primera función se pasa a la segunda. Aquí hay un ejemplo de uso de un pipeline:

Get-Verb | Measure-Object.

Pero para entender mejor el pipeline, tomemos un ejemplo más simple. Hay un comando

Get-Verb "get".

Si llamamos a la ayuda Get-Help Get-Verb -Full, veremos que el parámetro Verb acepta entrada de pipeline y entre paréntesis se indica ByValue.

PowerShell para principiantes

Esto significa que podemos reescribir Get-Verb «get» en «get» | Get-Verb.
Es decir, el resultado de la primera expresión es una cadena y se pasa al parámetro Verb del comando Get-Verb a través de la entrada por pipeline como valor.
También la entrada por pipeline puede ser ByPropertyName. En este caso, vamos a pasar un objeto que tiene una propiedad con un nombre similar a Verb.

Variables

Las variables no son tipadas estrictamente y se definen con el símbolo $ delante.

$example = 4

El símbolo > significa colocar datos en
Por ejemplo, $example > File.txt
Con esta expresión, pondremos los datos de la variable $example en el archivo.
De manera similar al comando Set-Content -Value $example -Path File.txt

Arrays

Inicialización de un arreglo:

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

Inicialización de un arreglo vacío:

$ArrayExample = @()

Obteniendo un valor por índice:

$ArrayExample[0]

Obtener todo el arreglo:

$ArrayExample

Añadir un elemento:

$ArrayExample += “Third”

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

Ordenar:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Pero el propio arreglo permanece sin cambios en tal ordenación. Y si queremos que el arreglo contenga datos ordenados, debemos asignar los valores ordenados:

$ArrayExample = $ArrayExample | Sort

De hecho, no hay eliminación de un elemento del arreglo en PowerShell, pero se puede hacer de esta manera:

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

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

Eliminar el arreglo:

$ArrayExample = $null

Loops

Sintaxis de los bucles:

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

Salir del bucle break.

Saltar un elemento continue.

Conditional Statements

if () {} elseif () {} else

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

Función

Definición de función:

function Example () {
  echo &args
}

Ejecutar función:

Example “First argument” “Second argument”

Definición de argumentos en la función:

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

function Example ($first, $second) {}

Ejecutar función:

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

Exception

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

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster