Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In un esperimento progettato per valutare la competenza in PowerShell, due gruppi distinti di professionisti IT, principianti ed esperti, hanno ricevuto prima un esame scritto senza accesso a un computer. Sorprendentemente, i punteggi dei test hanno indicato competenze confrontabili in entrambi i gruppi. Un test successivo è stato quindi amministrato, mirroring il primo ma con una differenza fondamentale: i partecipanti hanno avuto accesso a un computer offline dotato di PowerShell. I risultati hanno rivelato un divario significativo di competenze tra i due gruppi questa volta.
Quali fattori hanno contribuito ai risultati osservati tra le due valutazioni?
Gli esperti non sempre conoscono le risposte, ma sanno come capire le risposte.
I risultati osservati nei risultati dei due test sono stati perché gli esperti non memorizzano migliaia di comandi di PowerShell. Al contrario, eccelle nell'uso del sistema della Guida all'interno di PowerShell, consentendo loro di individuare e imparare a usare i comandi quando necessario.
Diventare esperti nel sistema della Guida è la chiave per il successo con PowerShell.
Ho sentito Jeffrey Snover, creatore di PowerShell, condividere una storia simile in più occasioni.
Rintracciabilità
I comandi compilati in PowerShell sono noti come cmdlet, pronunciati come "command-let", non "CMD-let". La convenzione di denominazione per i cmdlet segue un formato verbo-sostantivo per renderli facilmente individuabili. Ad esempio, Get-Process è il cmdlet per determinare quali processi sono in esecuzione e Get-Service è il cmdlet per recuperare un elenco di servizi. Le funzioni, note anche come cmdlet script, e alias sono altri tipi di comandi di PowerShell descritti più avanti in questo libro. Il termine "comando di PowerShell" descrive qualsiasi comando in PowerShell, indipendentemente dal fatto che si tratti di un cmdlet, di una funzione o di un alias.
È anche possibile eseguire comandi nativi del sistema operativo da PowerShell, ad esempio programmi della riga di comando tradizionali come ping.exe e ipconfig.exe.
I tre cmdlet principali in PowerShell
Get-HelpGet-Command-
Get-Member(trattato nel capitolo 3)
Viene spesso chiesto: "Come si determinano i comandi in PowerShell?". Sia Get-Help che Get-Command sono risorse preziose per l'individuazione e la comprensione dei comandi in PowerShell.
Ottieni assistenza
La prima cosa da sapere sul sistema della Guida in PowerShell è come usare il cmdlet Get-Help.
Get-Help è un comando multiuso che consente di imparare a usare i comandi dopo averli trovate.
È anche possibile usare Get-Help per individuare i comandi, ma in modo diverso e più indiretto rispetto a Get-Command.
Quando si usa Get-Help per individuare i comandi, all'inizio esegue una ricerca con caratteri jolly per i nomi dei comandi in base all'input. Se ciò non trova corrispondenze, esegue una ricerca full-text completa in tutti gli articoli della Guida di PowerShell nel sistema. Se questo non riesce a trovare risultati, restituisce un errore.
Ecco come usare Get-Help per visualizzare il contenuto di aiuto per il cmdlet Get-Help.
Get-Help -Name Get-Help
A partire da PowerShell versione 3.0, il contenuto della Guida non viene fornito preinstallato con il sistema operativo. Quando si esegue Get-Help per la prima volta, viene chiesto se si desidera scaricare i file della Guida di PowerShell nel computer.
Se si risponde sì premendo Y, il cmdlet Update-Help viene eseguito e il contenuto della Guida viene scaricato.
Do you want to run Update-Help?
The Update-Help cmdlet downloads the most current Help files for Windows
PowerShell modules, and installs them on your computer. For more information
about the Update-Help cmdlet, see
https:/go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Se non si riceve questo messaggio, eseguire Update-Help da una sessione di PowerShell con privilegi elevati in esecuzione come amministratore.
Al termine dell'aggiornamento, l'articolo della guida viene visualizzato.
Prenditi un momento per eseguire l'esempio sul tuo computer, esamina l'output e osserva come il sistema di aiuto organizza le informazioni.
- NOME
- SINOSSI
- SINTASSI
- DESCRIZIONE
- COLLEGAMENTI CORRELATI
- OSSERVAZIONI
Quando si esamina l'output, tenere presente che gli articoli della Guida contengono spesso una grande quantità di informazioni e ciò che viene visualizzato per impostazione predefinita non è l'intero articolo della Guida.
Parametri
Quando si esegue un comando in PowerShell, potrebbe essere necessario fornire informazioni aggiuntive o input al comando. I parametri consentono di specificare opzioni e argomenti che modificano il comportamento di un comando. La sezione SYNTAX di ogni articolo della Guida illustra i parametri disponibili per il comando.
Get-Help include diversi parametri che è possibile specificare per restituire l'intero articolo della Guida o un subset per un comando. Per visualizzare tutti i parametri disponibili per Get-Help, vedere la sezione SYNTAX dell'articolo della guida corrispondente, come illustrato nell'esempio seguente.
...
SYNTAX
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Full]
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] -Detailed
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] -Examples
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] -Online [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] -Parameter <System.String> [-Path <System.String>]
[-Role <System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] [-Path <System.String>] [-Role <System.String[]>]
-ShowWindow [<CommonParameters>]
...
Set di parametri
Quando si esamina la sezione SINTASSI per Get-Help, notare che l'informazione sembra essere ripetuta sei volte. Ognuno di questi blocchi è un singolo set di parametri, che indica che il cmdlet Get-Help include sei set distinti di parametri. Un'occhiata più da vicino rivela che ogni set di parametri contiene almeno un parametro univoco, rendendolo diverso dagli altri.
I set di parametri si escludono a vicenda. Dopo aver specificato un parametro univoco che esiste solo in un set di parametri, PowerShell limita l'uso dei parametri contenuti all'interno di tale set di parametri.
Ad esempio, non è possibile usare insieme i parametri Full e Detailed di Get-Help perché appartengono a set di parametri diversi.
Ognuno dei parametri seguenti appartiene a un set di parametri diverso per il cmdlet Get-Help.
- Completo
- Dettagliato
- Esempi
- In linea
- Parametro
- Mostra finestra
Sintassi del comando
Se non hai familiarità con PowerShell, comprendere le informazioni criptiche — caratterizzate da parentesi quadre e angolari — nella sezione SINTASSI potrebbe sembrare opprimente. Tuttavia, l'apprendimento di questi elementi di sintassi è essenziale per diventare esperti con PowerShell. Più frequentemente si usa il sistema della Guida di PowerShell, più facile diventa ricordare tutte le sfumature.
Visualizzare la sintassi del cmdlet Get-EventLog.
Get-Help Get-EventLog
L'output seguente illustra la parte pertinente dell'articolo della Guida.
...
SYNTAX
Get-EventLog [-LogName] <System.String> [[-InstanceId]
<System.Int64[]>] [-After <System.DateTime>] [-AsBaseObject] [-Before
<System.DateTime>] [-ComputerName <System.String[]>] [-EntryType {Error
| Information | FailureAudit | SuccessAudit | Warning}] [-Index
<System.Int32[]>] [-Message <System.String>] [-Newest <System.Int32>]
[-Source <System.String[]>] [-UserName <System.String[]>]
[<CommonParameters>]
Get-EventLog [-AsString] [-ComputerName <System.String[]>] [-List]
[<CommonParameters>]
...
Le informazioni sulla sintassi includono coppie di parentesi quadre ([]). A seconda del loro utilizzo, queste parentesi quadre servono due scopi diversi.
- Gli elementi racchiusi tra parentesi quadre sono facoltativi.
- Un set vuoto di parentesi quadre che seguono un tipo di dati, ad esempio
<string[]>, indica che il parametro può accettare più valori passati come matrice o un oggetto raccolta.
Parametri posizionali
Alcuni cmdlet sono progettati per accettare parametri posizionali. I parametri posizionali consentono di specificare un valore senza specificare il nome del parametro. Quando si usa un parametro in modo posizionale, è necessario specificarne il valore nella posizione corretta nella riga di comando. È possibile trovare le informazioni posizionali per un parametro nella sezione PARAMETERS dell'articolo di guida di un comando. Quando si specificano in modo esplicito i nomi dei parametri, è possibile usare i parametri in qualsiasi ordine.
Per il cmdlet Get-EventLog, il primo parametro nel primo set di parametri è LogName.
LogName è racchiuso tra parentesi quadre, a indicare che si tratta di un parametro posizionale.
Get-EventLog [-LogName] <System.String>
Poiché LogName è un parametro posizionale, è possibile specificarlo in base al nome o alla posizione. In base alle parentesi angolari che seguono il nome del parametro, il valore di LogName deve essere una singola stringa. L'assenza di parentesi quadre che racchiudono sia il nome del parametro che il tipo di dati indica che LogName è un parametro obbligatorio all'interno di questo set di parametri specifico.
Il secondo parametro nel set di parametri è InstanceId. Sia il nome del parametro che il tipo di dati sono interamente racchiusi tra parentesi quadre, che indica che InstanceId è un parametro facoltativo.
[[-InstanceId] <System.Int64[]>]
Inoltre, InstanceId ha una propria coppia di parentesi quadre, a indicare che si tratta di un parametro posizionale simile al parametro LogName. Dopo il tipo di dati, un set vuoto di parentesi quadre implica che InstanceId può accettare più valori.
Parametri di commutazione
Un parametro che non richiede un valore è denominato parametro switch. È possibile identificare facilmente i parametri switch perché non è presente alcun tipo di dati dopo il nome del parametro. Quando si specifica un parametro switch, il relativo valore è true. Quando non si specifica un parametro switch, il relativo valore è false.
Il secondo set di parametri include un parametro List, ovvero un parametro switch. Quando si specifica il parametro list, viene restituito un elenco di registri degli eventi nel computer locale.
[-List]
Approccio semplificato alla sintassi
Esiste un metodo più intuitivo per ottenere le stesse informazioni della sintassi dei comandi criptici per alcuni comandi, tranne in inglese normale. PowerShell restituisce l'articolo della Guida completo quando si usa Get-Help con il parametro completo , semplificando la comprensione dell'utilizzo di un comando.
Get-Help -Name Get-Help -Full
Prenditi un momento per eseguire l'esempio sul tuo computer, esamina l'output e osserva come il sistema di aiuto organizza le informazioni.
- NOME
- SINOSSI
- SINTASSI
- DESCRIZIONE
- PARAMETRI
- INGRESSI
- USCITE
- NOTE
- ESEMPI
- COLLEGAMENTI CORRELATI
Specificando il parametro full con il cmdlet Get-Help, l'output include diverse sezioni aggiuntive. Tra queste sezioni, PARAMETERS spesso fornisce una spiegazione dettagliata per ogni parametro. Tuttavia, l'estensione di queste informazioni varia a seconda del comando specifico che si sta analizzando.
...
-Detailed <System.Management.Automation.SwitchParameter>
Adds parameter descriptions and examples to the basic help display.
This parameter is effective only when the help files are installed
on the computer. It has no effect on displays of conceptual ( About_
) help.
Required? true
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
-Examples <System.Management.Automation.SwitchParameter>
Displays only the name, synopsis, and examples. This parameter is
effective only when the help files are installed on the computer. It
has no effect on displays of conceptual ( About_ ) help.
Required? true
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
-Full <System.Management.Automation.SwitchParameter>
Displays the entire help article for a cmdlet. Full includes
parameter descriptions and attributes, examples, input and output
object types, and additional notes.
This parameter is effective only when the help files are installed
on the computer. It has no effect on displays of conceptual ( About_
) help.
Required? false
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
...
Quando hai eseguito il comando precedente per visualizzare la guida per il comando Get-Help, probabilmente l'output è stato visualizzato troppo rapidamente per leggerlo.
Se si usa la console di PowerShell, il terminale Windows o VS Code ed è necessario visualizzare un articolo della Guida, la funzione help può essere utile. Invia tramite pipe l'output di Get-Help a more.com, visualizzando una pagina di contenuti della guida alla volta. È consigliabile usare la funzione help anziché il cmdlet Get-Help perché offre un'esperienza utente migliore ed è meno da digitare.
Nota
L'ISE non supporta l'uso di more.com, quindi l'esecuzione di help funziona allo stesso modo di Get-Help.
Eseguire ognuno dei comandi seguenti in PowerShell nel computer.
Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full
Sono state osservate variazioni nell'output quando sono stati eseguiti i comandi precedenti?
Nell'esempio precedente la prima riga usa il cmdlet Get-Help, la seconda usa la funzione help e la terza riga omette il parametro Name durante l'uso della funzione help. Poiché Name è un parametro posizionale, il terzo esempio sfrutta la posizione invece di indicare in modo esplicito il nome del parametro.
La differenza è che gli ultimi due comandi visualizzano l'output di una pagina alla volta. Quando si usa la funzione help, premere la barra spaziatrice per visualizzare la pagina successiva del contenuto o Q per uscire. Se è necessario terminare qualsiasi comando in esecuzione in modo interattivo in PowerShell, premere CTRL+C.
Per trovare rapidamente informazioni su un parametro specifico, usare il parametro parametro. Questo approccio restituisce contenuto contenente solo le informazioni specifiche dei parametri, anziché l'intero articolo della Guida. Questo è il modo più semplice per trovare informazioni su un parametro specifico.
Nell'esempio seguente viene usata la funzione help con il parametro Parameter per restituire informazioni dall'articolo della Guida per il parametro Name di Get-Help.
help Get-Help -Parameter Name
Le informazioni della guida indicano che il Nome è un parametro in base alla posizione e deve essere specificato nella prima posizione (posizione zero) quando viene usato in modo posizionale.
-Name <System.String>
Gets help about the specified command or concept. Enter the name of a
cmdlet, function, provider, script, or workflow, such as `Get-Member`,
a conceptual article name, such as `about_Objects`, or an alias, such
as `ls`. Wildcard characters are permitted in cmdlet and provider
names, but you can't use wildcard characters to find the names of
function help and script help articles.
To get help for a script that isn't located in a path that's listed in
the `$env:Path` environment variable, type the script's path and file
name.
If you enter the exact name of a help article, `Get-Help` displays the
article contents.
If you enter a word or word pattern that appears in several help
article titles, `Get-Help` displays a list of the matching titles.
If you enter any text that doesn't match any help article titles,
`Get-Help` displays a list of articles that include that text in their
contents.
The names of conceptual articles, such as `about_Objects`, must be
entered in English, even in non-English versions of PowerShell.
Required? false
Position? 0
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
Il parametro Name prevede un valore stringa identificato dal tipo di dati <String> accanto al nome del parametro.
Esistono diversi altri parametri che è possibile specificare con Get-Help per restituire un subset di un articolo della Guida. Per vedere come funzionano, eseguire i comandi seguenti nel computer.
Get-Help -Name Get-Command -Full
Get-Help -Name Get-Command -Detailed
Get-Help -Name Get-Command -Examples
Get-Help -Name Get-Command -Online
Get-Help -Name Get-Command -Parameter Noun
Get-Help -Name Get-Command -ShowWindow
In genere uso help <command name> con il parametro completo o Online. Se si ha interesse solo negli esempi, usare il parametro Examples. Se si ha interesse solo per un parametro specifico, usare il parametro Parameter.
Quando si utilizza il parametro ShowWindow, il contenuto della Guida viene visualizzato in una finestra separata e ricercabile. È possibile spostare tale finestra in un monitor diverso se sono presenti più monitor. Tuttavia, il parametro ShowWindow ha un bug noto che potrebbe impedire la visualizzazione dell'intero articolo della Guida. Il parametro ShowWindow richiede anche un sistema operativo con interfaccia utente grafica (GUI). Restituisce un errore quando si tenta di usarlo in Windows Server Core.
Se si dispone dell'accesso a Internet, è possibile usare invece il parametro Online. Il parametro online apre l'articolo della Guida nel tuo browser web predefinito. Il contenuto online è il contenuto più up-to-date. Il browser consente di cercare il contenuto della Guida e visualizzare altri articoli della Guida correlati.
Nota
Il parametro Online non è supportato per gli articoli Informazioni.
help Get-Command -Online
Ricerca di comandi con Get-Help
Per trovare i comandi con Get-Help, specificare un termine di ricerca racchiuso tra caratteri jolly (*) come valore del parametro Name. Nell'esempio seguente, il parametro Nome viene usato in modo posizionale.
help *process*
Name Category Module Synops
---- -------- ------ ------
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Con...
Exit-PSHostProcess Cmdlet Microsoft.PowerShell.Core Clo...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core Get...
Debug-Process Cmdlet Microsoft.PowerShell.M... Deb...
Get-Process Cmdlet Microsoft.PowerShell.M... Get...
Start-Process Cmdlet Microsoft.PowerShell.M... Sta...
Stop-Process Cmdlet Microsoft.PowerShell.M... Sto...
Wait-Process Cmdlet Microsoft.PowerShell.M... Wai...
Invoke-LapsPolicyProcessing Cmdlet LAPS Inv...
ConvertTo-ProcessMitigationPolicy Cmdlet ProcessMitigations Con...
Get-ProcessMitigation Cmdlet ProcessMitigations Get...
Set-ProcessMitigation Cmdlet ProcessMitigations Set...
In questo scenario, non devi aggiungere i caratteri jolly *. Se Get-Help non riesce a trovare un comando corrispondente al valore specificato, esegue una ricerca full-text per tale valore. Nell'esempio seguente si ottengono gli stessi risultati specificando il carattere jolly * su ciascuna estremità di process.
help process
Quando si specifica un carattere jolly all'interno del valore, Get-Help cerca solo i comandi che corrispondono allo schema che hai specificato. Non esegue una ricerca su testo completo. Il comando seguente non restituisce alcun risultato.
help pr*cess
PowerShell genera un errore se si specifica un valore che inizia con un trattino senza racchiuderlo tra virgolette perché lo interpreta come nome di parametro. Non esiste alcun nome di parametro di questo tipo per il cmdlet Get-Help.
help -process
Se si tenta di cercare i comandi che terminano con -process, è necessario aggiungere un * all'inizio del valore.
help *-process
Quando si cercano i comandi di PowerShell con Get-Help, è preferibile essere vaghi anziché troppo specifici.
Quando è stata eseguita la ricerca di process in precedenza, i risultati hanno restituito solo i comandi che includevano process nel nome. Tuttavia, se si cerca processes, non trova corrispondenze per i nomi dei comandi. Come indicato in precedenza, quando la guida non trova corrispondenze, esegue una ricerca a testo completo di ogni articolo della guida nel sistema e fornisce quei risultati. Questo tipo di ricerca produce spesso più risultati del previsto, incluse le informazioni non rilevanti per l'utente.
help processes
Name Category Module Synops
---- -------- ------ ------
Disconnect-PSSession Cmdlet Microsoft.PowerShell.Core Dis...
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Con...
ForEach-Object Cmdlet Microsoft.PowerShell.Core Per...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core Get...
Get-PSSessionConfiguration Cmdlet Microsoft.PowerShell.Core Get...
New-PSSessionOption Cmdlet Microsoft.PowerShell.Core Cre...
New-PSTransportOption Cmdlet Microsoft.PowerShell.Core Cre...
Out-Host Cmdlet Microsoft.PowerShell.Core Sen...
Start-Job Cmdlet Microsoft.PowerShell.Core Sta...
Where-Object Cmdlet Microsoft.PowerShell.Core Sel...
Debug-Process Cmdlet Microsoft.PowerShell.M... Deb...
Get-Process Cmdlet Microsoft.PowerShell.M... Get...
Get-WmiObject Cmdlet Microsoft.PowerShell.M... Get...
Start-Process Cmdlet Microsoft.PowerShell.M... Sta...
Stop-Process Cmdlet Microsoft.PowerShell.M... Sto...
Wait-Process Cmdlet Microsoft.PowerShell.M... Wai...
Clear-Variable Cmdlet Microsoft.PowerShell.U... Del...
Convert-String Cmdlet Microsoft.PowerShell.U... For...
ConvertFrom-Csv Cmdlet Microsoft.PowerShell.U... Con...
ConvertFrom-Json Cmdlet Microsoft.PowerShell.U... Con...
ConvertTo-Html Cmdlet Microsoft.PowerShell.U... Con...
ConvertTo-Xml Cmdlet Microsoft.PowerShell.U... Cre...
Debug-Runspace Cmdlet Microsoft.PowerShell.U... Sta...
Export-Csv Cmdlet Microsoft.PowerShell.U... Con...
Export-FormatData Cmdlet Microsoft.PowerShell.U... Sav...
Format-List Cmdlet Microsoft.PowerShell.U... For...
Format-Table Cmdlet Microsoft.PowerShell.U... For...
Get-Unique Cmdlet Microsoft.PowerShell.U... Ret...
Group-Object Cmdlet Microsoft.PowerShell.U... Gro...
Import-Clixml Cmdlet Microsoft.PowerShell.U... Imp...
Import-Csv Cmdlet Microsoft.PowerShell.U... Cre...
Measure-Object Cmdlet Microsoft.PowerShell.U... Cal...
Out-File Cmdlet Microsoft.PowerShell.U... Sen...
Out-GridView Cmdlet Microsoft.PowerShell.U... Sen...
Select-Object Cmdlet Microsoft.PowerShell.U... Sel...
Set-Variable Cmdlet Microsoft.PowerShell.U... Set...
Sort-Object Cmdlet Microsoft.PowerShell.U... Sor...
Tee-Object Cmdlet Microsoft.PowerShell.U... Sav...
Trace-Command Cmdlet Microsoft.PowerShell.U... Con...
Write-Information Cmdlet Microsoft.PowerShell.U... Spe...
Export-BinaryMiLog Cmdlet CimCmdlets Cre...
Get-CimAssociatedInstance Cmdlet CimCmdlets Ret...
Get-CimInstance Cmdlet CimCmdlets Get...
Import-BinaryMiLog Cmdlet CimCmdlets Use...
Invoke-CimMethod Cmdlet CimCmdlets Inv...
New-CimInstance Cmdlet CimCmdlets Cre...
Remove-CimInstance Cmdlet CimCmdlets Rem...
Set-CimInstance Cmdlet CimCmdlets Mod...
Compress-Archive Function Microsoft.PowerShell.A... Cre...
Get-Counter Cmdlet Microsoft.PowerShell.D... Get...
Invoke-WSManAction Cmdlet Microsoft.WSMan.Manage... Inv...
Remove-WSManInstance Cmdlet Microsoft.WSMan.Manage... Del...
Get-WSManInstance Cmdlet Microsoft.WSMan.Manage... Dis...
New-WSManInstance Cmdlet Microsoft.WSMan.Manage... Cre...
Set-WSManInstance Cmdlet Microsoft.WSMan.Manage... Mod...
about_Arithmetic_Operators HelpFile
about_Arrays HelpFile
about_Environment_Variables HelpFile
about_Execution_Policies HelpFile
about_Functions HelpFile
about_Jobs HelpFile
about_Logging HelpFile
about_Methods HelpFile
about_Objects HelpFile
about_Pipelines HelpFile
about_Preference_Variables HelpFile
about_Remote HelpFile
about_Remote_Jobs HelpFile
about_Session_Configuration_Files HelpFile
about_Simplified_Syntax HelpFile
about_Switch HelpFile
about_Variables HelpFile
about_Variable_Provider HelpFile
about_Windows_PowerShell_5.1 HelpFile
about_WQL HelpFile
about_WS-Management_Cmdlets HelpFile
about_Foreach-Parallel HelpFile
about_Parallel HelpFile
about_Sequence HelpFile
Quando si cerca process, vengono restituiti 12 risultati. Tuttavia, durante la ricerca di processes, ha prodotto 78 risultati. Se la ricerca trova una sola corrispondenza, Get-Help visualizza il contenuto della Guida anziché elencare i risultati della ricerca.
help *hotfix*
NAME
Get-HotFix
SYNOPSIS
Gets the hotfixes that are installed on local or remote computers.
SYNTAX
Get-HotFix [-ComputerName <System.String[]>] [-Credential
<System.Management.Automation.PSCredential>] [-Description
<System.String[]>] [<CommonParameters>]
Get-HotFix [[-Id] <System.String[]>] [-ComputerName <System.String[]>]
[-Credential <System.Management.Automation.PSCredential>]
[<CommonParameters>]
DESCRIPTION
> This cmdlet is only available on the Windows platform. The
`Get-HotFix` cmdlet uses the Win32_QuickFixEngineering WMI class to
list hotfixes that are installed on the local computer or specified
remote computers.
RELATED LINKS
Online Version: https://learn.microsoft.com/powershell/module/microsoft.
powershell.management/get-hotfix?view=powershell-5.1&WT.mc_id=ps-gethelp
about_Arrays
Add-Content
Get-ComputerRestorePoint
Get-Credential
Win32_QuickFixEngineering class
REMARKS
To see the examples, type: "Get-Help Get-HotFix -Examples".
For more information, type: "Get-Help Get-HotFix -Detailed".
For technical information, type: "Get-Help Get-HotFix -Full".
For online help, type: "Get-Help Get-HotFix -Online"
È anche possibile trovare comandi che non contengono articoli della Guida con Get-Help, anche se questa funzionalità non è comunemente nota. La funzione more è uno dei comandi che non dispone di un articolo di aiuto. Per verificare che sia possibile trovare i comandi con Get-Help che non includono articoli della Guida, usare la funzione help per trovare more.
help *more*
La ricerca ha trovato una sola corrispondenza, quindi ha restituito le informazioni di base sulla sintassi visualizzate quando un comando non ha documentazione di aiuto.
NAME
more
SYNTAX
more [[-paths] <string[]>]
ALIASES
None
REMARKS
None
Il sistema della Guida di PowerShell contiene anche articoli della Guida concettuali su About. È necessario aggiornare il contenuto della Guida nel sistema per ottenere gli articoli Informazioni su. Per ulteriori informazioni, vedere la sezione Aggiornamento di questo capitolo.
Usare il comando seguente per ottenere un elenco di tutti gli articoli della Guida About nel sistema.
help About_*
Quando si limitano i risultati a un Articolo informazioni su guida, Get-Help visualizza il contenuto di tale articolo.
help about_Updatable_Help
Aggiornamento della Guida
All'inizio di questo capitolo, hai aggiornato gli articoli della Guida di PowerShell sul tuo computer la prima volta che hai eseguito il cmdlet Get-Help. È consigliabile eseguire periodicamente il cmdlet Update-Help nel computer per ottenere eventuali aggiornamenti al contenuto della Guida.
Importante
In Windows PowerShell 5.1 è necessario eseguire Update-Help come amministratore in una sessione di PowerShell con privilegi elevati.
Nell'esempio seguente Update-Help scarica il contenuto della Guida di PowerShell per tutti i moduli installati nel computer. È consigliabile usare il parametro Force per assicurarsi di scaricare la versione più recente del contenuto della Guida.
Update-Help -Force
Come illustrato nei risultati seguenti, un modulo ha restituito un errore. Gli errori non sono insoliti e in genere si verificano quando l'autore del modulo non configura correttamente la Guida aggiornabile.
Update-Help : Failed to update Help for the module(s) 'BitsTransfer' with UI
culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture
en-US. Make sure the HelpInfoUri property in the module manifest is valid or
check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Update-Help], Except
ion
+ FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShe
ll.Commands.UpdateHelpCommand
Update-Help richiede l'accesso a Internet per scaricare il contenuto della Guida. Se il computer non ha accesso a Internet, usare il cmdlet Save-Help in un computer con accesso a Internet per scaricare e salvare il contenuto della Guida aggiornato. Usare quindi il parametro SourcePath di Update-Help per specificare il percorso del contenuto della Guida aggiornata salvata.
Ottieni-Comando
Get-Command è un altro comando multiuso che consente di trovare i comandi. Quando si esegue Get-Command senza parametri, viene restituito un elenco di tutti i comandi di PowerShell nel sistema.
È anche possibile usare Get-Command per ottenere una sintassi dei comandi simile a Get-Help.
Come si determina la sintassi per Get-Command? È possibile usare Get-Help per visualizzare l'articolo della Guida per Get-Command, come illustrato nella sezione Get-Help di questo capitolo. È anche possibile usare Get-Command con il parametro sintassi per visualizzare la sintassi per qualsiasi comando. Questa scorciatoia consente di determinare rapidamente come usare un comando senza spostarsi nei contenuti di aiuto.
Get-Command -Name Get-Command -Syntax
L'uso di Get-Command con il parametro sintassi fornisce una visualizzazione più concisa della sintassi che mostra i parametri e i relativi tipi di valore, senza elencare i valori consentiti specifici, ad esempio Get-Help mostra.
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>]
[-Noun <string[]>] [-Module <string[]>]
[-FullyQualifiedModule <ModuleSpecification[]>] [-TotalCount <int>]
[-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax]
[-ShowCommandInfo] [-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [<CommonParameters>]
Se sono necessarie informazioni più dettagliate su come usare un comando, usare Get-Help.
help Get-Command -Full
La sezione SYNTAX di Get-Help fornisce una visualizzazione più semplice e intuitiva espandendo i valori enumerati per i parametri. Mostra i valori effettivi che è possibile usare, semplificando la comprensione delle opzioni disponibili.
...
Get-Command [[-Name] <System.String[]>] [[-ArgumentList]
<System.Object[]>] [-All] [-CommandType {Alias | Function | Filter |
Cmdlet | ExternalScript | Application | Script | Workflow |
Configuration | All}] [-FullyQualifiedModule
<Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
[-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule
<Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
[-Module <System.String[]>] [-Noun <System.String[]>] [-ParameterName
<System.String[]>] [-ParameterType
<System.Management.Automation.PSTypeName[]>] [-ShowCommandInfo]
[-Syntax] [-TotalCount <System.Int32>] [-Verb <System.String[]>]
[<CommonParameters>]
...
La sezione PARAMETERS della Guida per Get-Command rivela che i parametri Name, Noune Verb accettano caratteri jolly.
...
-Name <System.String[]>
Specifies an array of names. This cmdlet gets only commands that
have the specified name. Enter a name or name pattern. Wildcard
characters are permitted.
To get commands that have the same name, use the All parameter. When
two commands have the same name, by default, `Get-Command` gets the
command that runs when you type the command name.
Required? false
Position? 0
Default value None
Accept pipeline input? True (ByPropertyName, ByValue)
Accept wildcard characters? true
-Noun <System.String[]>
Specifies an array of command nouns. This cmdlet gets commands,
which include cmdlets, functions, and aliases, that have names that
include the specified noun. Enter one or more nouns or noun
patterns. Wildcard characters are permitted.
Required? false
Position? named
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
-Verb <System.String[]>
Specifies an array of command verbs. This cmdlet gets commands,
which include cmdlets, functions, and aliases, that have names that
include the specified verb. Enter one or more verbs or verb
patterns. Wildcard characters are permitted.
Required? false
Position? named
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
...
Nell'esempio seguente viene utilizzato il carattere jolly * con il valore per il Nome parametro di Get-Command.
Get-Command -Name *service*
Quando si utilizzano i caratteri jolly con il parametro Name di Get-Command, vengono restituiti i comandi di PowerShell e i comandi nativi, come mostrato nei risultati seguenti.
CommandType Name Version
----------- ---- -------
Function Get-NetFirewallServiceFilter 2.0.0.0
Function Set-NetFirewallServiceFilter 2.0.0.0
Cmdlet Get-Service 3.1.0.0
Cmdlet New-Service 3.1.0.0
Cmdlet New-WebServiceProxy 3.1.0.0
Cmdlet Restart-Service 3.1.0.0
Cmdlet Resume-Service 3.1.0.0
Cmdlet Set-Service 3.1.0.0
Cmdlet Start-Service 3.1.0.0
Cmdlet Stop-Service 3.1.0.0
Cmdlet Suspend-Service 3.1.0.0
Application SecurityHealthService.exe 10.0.2...
Application SensorDataService.exe 10.0.2...
Application services.exe 10.0.2...
Application services.msc 0.0.0.0
Application TieringEngineService.exe 10.0.2...
Application Windows.WARP.JITService.exe 10.0.2...
È possibile limitare i risultati di Get-Command ai comandi di PowerShell usando il parametro CommandType.
Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script
Un'altra opzione potrebbe essere quella di usare il parametro verbo o sostantivo o entrambi poiché solo i comandi di PowerShell hanno verbi e sostantivi.
L'esempio seguente usa Get-Command per trovare i comandi nel computer che funzionano con i processi.
Usare il parametro sostantivo e specificare Process come valore.
Get-Command -Noun Process
CommandType Name Version
----------- ---- -------
Cmdlet Debug-Process 3.1.0.0
Cmdlet Get-Process 3.1.0.0
Cmdlet Start-Process 3.1.0.0
Cmdlet Stop-Process 3.1.0.0
Cmdlet Wait-Process 3.1.0.0
Sommario
In questo capitolo si è appreso come trovare i comandi con Get-Help e Get-Command. Hai anche imparato come usare il sistema di aiuto per comprendere come utilizzare i comandi una volta trovati. Inoltre, si è appreso come aggiornare il sistema della Guida nel computer quando è disponibile un nuovo contenuto della Guida.
Recensione
- È il parametro DisplayName di
Get-Serviceposizionale? - Quanti set di parametri dispone del cmdlet
Get-Process? - Quali comandi di PowerShell esistono per l'uso dei log eventi?
- Qual è il comando di PowerShell per restituire un elenco di processi di PowerShell in esecuzione nel computer?
- Come si aggiorna il contenuto della Guida di PowerShell archiviato nel computer?
Riferimenti
Per altre informazioni sui concetti trattati in questo capitolo, vedere gli articoli della Guida di PowerShell seguenti.
- Get-Help
- Get-Command (Ottieni-Comando)
- Update-Help
- Guida al Salvataggio
- Informazioni su Updatable_Help
- informazioni_sulla_sintassi_comandi
Passaggi successivi
Nel capitolo successivo verranno illustrati gli oggetti, le proprietà, i metodi e il cmdlet Get-Member.