Tutti gli strumenti
Gratuito

Un riferimento PowerShell stampabile e ricercabile — cmdlet, la pipeline, variabili, file, cicli, funzioni, oggetti e amministrazione. Gratis.

Aiuto e scoperta

12
Get-Help Get-Process
Mostra l'aiuto per un cmdlet
Get-Help Get-Process -Examples
Mostra esempi d'uso per un cmdlet
Get-Help Get-Process -Full
Mostra l'aiuto completo inclusi i parametri
Get-Help about_Functions
Legge un argomento concettuale about_
Update-Help
Scarica i file di aiuto più recenti
Get-Command -Noun Process
Elenca i cmdlet che agiscono su un sostantivo
Get-Command -Verb Get
Elenca i cmdlet che usano un dato verbo
Get-Command *service*
Cerca comandi per nome con wildcard
Get-Process | Get-Member
Elenca le proprietà e i metodi degli oggetti
Get-Alias ls
Mostra a quale comando si risolve un alias
Get-Alias -Definition Get-ChildItem
Elenca tutti gli alias di un cmdlet
$PSVersionTable
Mostra la versione e l'edizione di PowerShell

Variabili e tipi

13
$x = 5
Assegna un valore a una variabile
[int]$n = '42'
Dichiara una variabile fortemente tipizzata
$null
Il valore null / vuoto
$true; $false
Letterali booleani
$arr = @(1, 2, 3)
Crea un array
$arr += 4
Aggiunge un elemento a un array
$arr[0]; $arr[-1]
Indicizza il primo e l'ultimo elemento dell'array
$hash = @{ Name = 'Ann'; Age = 30 }
Crea una hashtable
$hash['Name']; $hash.Name
Legge un valore della hashtable per chiave
$env:PATH
Legge una variabile d'ambiente
$env:MY_VAR = 'value'
Imposta una variabile d'ambiente per la sessione
Get-Variable
Elenca tutte le variabili definite
[math]::Round(3.14159, 2)
Chiama un metodo statico .NET

Pipeline e filtraggio

12
Get-Process | Where-Object { $_.CPU -gt 10 }
Filtra gli oggetti per condizione
Get-Process | ? CPU -gt 10
Filtra con l'alias ? e sintassi semplificata
Get-Process | ForEach-Object { $_.Name }
Esegue uno script block per ogni oggetto
Get-Process | % { $_.Kill() }
Itera con l'alias %
Get-Process | Select-Object Name, Id
Mantiene solo proprietà specifiche
Get-Process | Select-Object -First 5
Prende i primi N oggetti
Get-Process | Sort-Object CPU -Descending
Ordina gli oggetti per una proprietà
Get-Process | Group-Object Company
Raggruppa gli oggetti per una proprietà
Get-Process | Measure-Object CPU -Sum
Aggrega valori numerici (somma, media)
Get-ChildItem | Select-Object -Unique
Restituisce oggetti distinti
1..5 | ForEach-Object { $_ * 2 }
Passa un intervallo attraverso una trasformazione
Get-Process | Out-GridView
Invia i risultati a una griglia interattiva

File e percorsi

13
Get-ChildItem -Path C:\Logs
Elenca gli elementi di una directory (alias ls/dir)
Get-ChildItem -Recurse -Filter *.log
Elenca ricorsivamente i file corrispondenti
Get-Content .\file.txt
Legge un file riga per riga
Get-Content .\file.txt -Tail 20
Legge le ultime N righe di un file
Set-Content .\file.txt -Value 'Hi'
Scrive (sovrascrive) testo in un file
Add-Content .\file.txt -Value 'Hi'
Aggiunge testo a un file
Copy-Item a.txt b.txt
Copia un file o una directory
Move-Item a.txt .\dir\
Sposta o rinomina un elemento
Remove-Item a.txt -Force
Elimina un file o una directory
New-Item -ItemType Directory -Path .\dir
Crea un nuovo file o directory
Test-Path .\file.txt
Verifica se un percorso esiste
Get-Location
Mostra la directory corrente (alias pwd)
Set-Location C:\Temp
Cambia la directory corrente (alias cd)

Stringhe e testo

12
'Hello World' -match 'World'
Verifica una stringa con una regex
'Hello' -replace 'l', 'L'
Sostituisce testo usando una regex
'a,b,c' -split ','
Divide una stringa in un array tramite regex
'a-b-c'.Split('-')
Divide usando il metodo String di .NET
'a', 'b' -join ', '
Unisce gli elementi di un array in una stringa
Select-String -Path *.log -Pattern 'error'
Ricerca in stile grep tra i file
'{0} of {1}' -f 3, 10
Formatta una stringa con segnaposto
' hi '.Trim()
Rimuove gli spazi iniziali e finali
'Hello'.ToUpper()
Converte una stringa in maiuscolo
'Hello'.Substring(0, 3)
Estrae una sottostringa per indice e lunghezza
'Hello'.Contains('ell')
Verifica se una stringa contiene del testo
'Hello'.Length
Ottiene il numero di caratteri

Cicli e condizioni

12
if ($x -gt 0) { 'pos' } elseif ($x -eq 0) { 'zero' } else { 'neg' }
Diramazione con if / elseif / else
switch ($x) { 1 { 'one' } default { 'other' } }
Confronta un valore con dei casi
foreach ($i in $arr) { $i }
Itera su una collezione
for ($i = 0; $i -lt 5; $i++) { $i }
Ciclo contato con un indice
while ($x -lt 10) { $x++ }
Ciclo finché una condizione è vera
do { $x++ } while ($x -lt 10)
Ciclo almeno una volta, poi verifica
$x -eq 5; $x -ne 5
Confronti di uguaglianza e disuguaglianza
$x -gt 5; $x -lt 5
Confronti maggiore e minore
$x -ge 5; $x -le 5
Confronti maggiore/minore o uguale
'abc' -like 'a*'
Confronto con match wildcard
@(1, 2, 3) -contains 2
Verifica l'appartenenza a un array
break; continue
Esce o salta l'iterazione corrente del ciclo

Funzioni e script

12
function Get-Sum { param($a, $b) $a + $b }
Definisce una funzione con parametri
Get-Sum -a 2 -b 3
Chiama una funzione con argomenti con nome
function Test { param([int]$n = 1) }
Parametro tipizzato con valore predefinito
param([Parameter(Mandatory)]$Name)
Richiede che un parametro sia fornito
return $value
Restituisce un valore da una funzione
function F { [CmdletBinding()] param() }
Crea una funzione avanzata (parametri comuni)
Write-Verbose 'msg' -Verbose
Emette uno stream di messaggi verbosi
Write-Output $result
Invia un oggetto alla pipeline
Write-Error 'failed'
Scrive sullo stream degli errori
.\script.ps1 -Arg value
Esegue un file di script con argomenti
. .\functions.ps1
Dot-source di uno script nella sessione
try { } catch { $_ } finally { }
Gestisce gli errori che interrompono l'esecuzione

Oggetti e proprietà

12
Get-Process | Select-Object -ExpandProperty Name
Restituisce valori grezzi di proprietà, non oggetti
(Get-Process).Name
Accede a una proprietà su ogni oggetto
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { $_.WS / 1MB } }
Aggiunge una proprietà calcolata
[PSCustomObject]@{ Name = 'Ann'; Age = 30 }
Costruisce un oggetto personalizzato
$obj | Add-Member -NotePropertyName Tag -NotePropertyValue 'x'
Collega una proprietà a un oggetto
$obj.PSObject.Properties.Name
Elenca i nomi delle proprietà di un oggetto
$obj | Format-Table -AutoSize
Mostra gli oggetti come tabella allineata
$obj | Format-List *
Mostra tutte le proprietà come elenco
$obj | ConvertTo-Json -Depth 5
Serializza un oggetto in JSON
Get-Content data.json | ConvertFrom-Json
Analizza JSON in oggetti
$obj | Export-Csv out.csv -NoTypeInformation
Esporta gli oggetti in un file CSV
Import-Csv data.csv
Legge un file CSV in oggetti

Processi e servizi

12
Get-Process
Elenca i processi in esecuzione (alias ps)
Get-Process -Name chrome
Ottiene i processi per nome
Stop-Process -Name notepad -Force
Termina un processo
Start-Process notepad.exe
Avvia un nuovo processo
Get-Service
Elenca i servizi di Windows
Get-Service -Name wuauserv
Ottiene un servizio per nome
Start-Service -Name wuauserv
Avvia un servizio fermo
Stop-Service -Name wuauserv
Ferma un servizio in esecuzione
Restart-Service -Name wuauserv
Riavvia un servizio
Set-Service -Name wuauserv -StartupType Manual
Cambia la modalità di avvio di un servizio
Get-EventLog -LogName System -Newest 20
Legge le voci recenti del registro eventi classico
Get-WinEvent -LogName Application -MaxEvents 20
Interroga i registri eventi moderni

Remoting e job

12
Enter-PSSession -ComputerName Srv01
Avvia una sessione remota interattiva
Exit-PSSession
Esce da una sessione remota interattiva
Invoke-Command -ComputerName Srv01 -ScriptBlock { Get-Service }
Esegue un comando su un host remoto
$s = New-PSSession -ComputerName Srv01
Crea una sessione remota persistente
Invoke-Command -Session $s -ScriptBlock { hostname }
Riutilizza una sessione remota esistente
Remove-PSSession $s
Chiude e rimuove una sessione remota
Start-Job -ScriptBlock { Get-Process }
Esegue un comando come job in background
Get-Job
Elenca i job in background e il loro stato
Receive-Job -Id 1 -Keep
Recupera l'output di un job
Wait-Job -Id 1
Si blocca finché un job non si completa
Stop-Job -Id 1; Remove-Job -Id 1
Ferma e rimuove un job in background
Get-Process | Start-ThreadJob { $input }
Esegue thread job leggeri in-process

Moduli e pacchetti

12
Get-Module
Elenca i moduli attualmente caricati
Get-Module -ListAvailable
Elenca tutti i moduli installati
Import-Module Pester
Carica un modulo nella sessione
Remove-Module Pester
Scarica un modulo dalla sessione
Find-Module -Name PSReadLine
Cerca un modulo nella gallery
Install-Module PSReadLine -Scope CurrentUser
Installa un modulo dalla gallery
Update-Module PSReadLine
Aggiorna un modulo installato
Uninstall-Module PSReadLine
Rimuove un modulo installato
Get-ExecutionPolicy
Mostra la policy di esecuzione script corrente
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Consente l'esecuzione di script firmati e locali
Get-PSRepository
Elenca i repository di pacchetti configurati
$PROFILE
Percorso dello script di profilo dell'utente corrente

Nessuna voce corrisponde a “:q”.


Hai bisogno di aiuto?
Hai riscontrato un problema con questo strumento? Faccelo sapere.
Segnala un problema

Aggiungi questo strumento gratuito al tuo sito web — copia e incolla il codice qui sotto.