Ottiene informazioni di base sui cmdlet e altri elementi dei comandi di Windows PowerShell.

Sintassi

Get-Command [[-Name] <string[]>] [-CommandType {<Alias> | <Function> | <Filter> | <Cmdlet> | <ExternalScript> | <Application> | <Script> | <All>}] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Sintassi] [-TotalCount <int>] [<CommonParameters>]

Get-Command [-Noun <string[]>] [-Verb <string[]>] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Sintassi] [-TotalCount <int>] [<CommonParameters>]

Descrizione

Il cmdlet Get-Command ottiene informazioni di base relative a cmdlet e ad altri elementi dei comandi di Windows PowerShell nella sessione, quali alias, funzioni, filtri, script e applicazioni.

Tramite Get-Command i dati vengono ottenuti direttamente dal codice di un cmdlet, una funzione, uno script o un alias, diversamente da Get-Help che ottiene le informazioni dai file degli argomenti della Guida.

Senza parametri, "Get-Command" consente di ottenere tutti i cmdlet e le funzioni della sessione corrente. Tramite "Get-Command *" si ottengono tutti gli elementi di Windows PowerShell e tutti i file non di Windows PowerShell nella variabile di ambiente Path ($env:path). I file vengono raggruppati nel tipo di comando "Application".

È possibile utilizzare il parametro Module di Get-Command per trovare i comandi aggiunti alla sessione aggiungendo un snap-in di Windows PowerShell o importando un modulo.

Parametri

-ArgumentList <Object[]>

Ottiene informazioni su un cmdlet o una funzione quando viene utilizzata con i parametri ("argomenti") specificati, ad esempio un percorso. L'alias per ArgumentList è Args.

Per rilevare i parametri aggiunti a un cmdlet quando viene utilizzato con un determinato provider, impostare il valore di ArgumentList su un percorso nell'unità del provider, ad esempio "HKML\Software" o "cert:\my."

Obbligatorio?

false

Posizione?

2

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-CommandType <CommandTypes>

Ottiene solo i tipi di comandi specificati. Utilizzare "CommandType" o il relativo alias, "Type". Per impostazione predefinita, Get-Command consente di ottenere cmdlet e funzioni.

I valori validi sono:

-- Alias: tutti gli alias Windows PowerShell della sessione corrente.

-- All: tutti i tipi di comando. Equivale a "get-command *".

-- Application: tutti i file non di Windows PowerShell nei percorsi elencati nella variabile di ambiente Path ($env:path), inclusi i file con estensione txt, exe e dll.

-- Cmdlet: cmdlet della sessione corrente. Il valore predefinito è "Cmdlet".

-- ExternalScript: tutti i file con estensione ps1 nei percorsi elencati nella variabile di ambiente Path ($env:path).

-- Filter e Function: tutte le funzioni di Windows PowerShell.

-- Script: blocchi di script nella sessione corrente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Module <string[]>

Ottiene i comandi che derivano dai moduli o dagli snap-in specificati. Immettere i nomi dei moduli o degli snap-in oppure gli oggetti modulo o snap-in.

È possibile fare riferimento a questo parametro in base al nome, Module, o all'alias, PSSnapin. Il nome del parametro scelto non ha effetto sul comando o sul relativo output.

Questo parametro accetta i valori di stringa, ma è possibile fornire anche un oggetto PSModuleInfo o PSSnapinInfo, ad esempio gli oggetti restituiti da Get-Module, Get-PSSnapin e Import-PSSession.

Obbligatorio?

false

Posizione?

named

Valore predefinito

nessuno

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Name <string[]>

Ottiene informazioni solo sui cmdlet o sugli elementi del comando con il nome specificato. <String> rappresenta completamente o in parte il nome del cmdlet o dell'elemento del comando. È consentito l'utilizzo di caratteri jolly.

Per elencare i comandi con lo stesso nome in ordine di esecuzione, digitare il nome del comando senza caratteri jolly. Per ulteriori informazioni, vedere la sezione Note.

Obbligatorio?

false

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

-Noun <string[]>

Ottiene i cmdlet e le funzioni i cui nomi includono il nome specificato. <String> rappresenta uno o più nomi o criteri di nomi, ad esempio "process" o "*item*". È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Sintassi

Per ogni elemento del comando ottiene solo i dati specificati.

* Per gli alias, recupera il nome standard.

* Per i cmdlet, recupera la sintassi.

* Per le funzioni e i filtri, recupera la definizione di funzione.

* Per gli script e le applicazioni (file), recupera il percorso e il nome file.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-TotalCount <int>

Ottiene solo il numero specificato degli elementi del comando. È possibile utilizzare questo parametro per limitare l'output di un comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Verb <string[]>

Ottiene informazioni sui cmdlet e sulle funzioni i cui nomi includono il verbo specificato. <String> rappresenta uno o più verbi o criteri di verbi, ad esempio "remove" o *et". È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.String

È possibile reindirizzare una proprietà "Name", "Command" e "Verb" specificata o un oggetto stringa a Get-Command.

Output

Object

Il tipo di oggetto restituito dipende dal tipo di elemento del comando recuperato. Get-Command in un cmdlet, ad esempio, recupera un oggetto CmdletInfo, mentre Get-Command in una DLL recupera un oggetto ApplicationInfo.

Note

Se non si specifica alcun parametro, tramite "Get-Command" vengono ottenute informazioni sui cmdlet e sulle funzioni di Windows PowerShell. Utilizzare i parametri per qualificare gli elementi recuperati.

Diversamente da Get-Help, tramite cui viene visualizzato il contenuto dei file degli argomenti della Guida basati su XML, tramite Get-Command le informazioni sui cmdlet vengono ottenute direttamente dal codice del cmdlet nel sistema.

Get-Command restituisce i comandi in ordine alfabetico. Quando la sessione contiene più di un comando con lo stesso nome, Get-Command restituisce i comandi in ordine di esecuzione. Il primo comando elencato è quello che viene eseguito quando si digita il nome del comando senza qualificazione. Per ulteriori informazioni, vedere about_Command_Precedence.

Esempio 1

C:\PS>get-command

Descrizione
-----------
Con questo comando si ottengono informazioni su tutti i cmdlet e le funzioni di Windows PowerShell. 

Nella visualizzazione predefinita viene elencato il tipo di comando ("Cmdlet", "Function" o "Filter"), il nome del cmdlet o la funziona e la sintassi o la definizione della funzione.






Esempio 2

C:\PS>get-command -verb set | format-list

Descrizione
-----------
Con questo comando si ottengono informazioni su tutti i cmdlet e le funzioni contenenti il verbo "set" e alcune di queste informazioni vengono visualizzate in un elenco. 

Nel formato elenco sono inclusi i campi omessi dalla visualizzazione tabella, compresa la sintassi completa. Per visualizzare tutti i campi, ovvero tutte le proprietà dell'oggetto, digitare "get-command -verb set | format-list *".






Esempio 3

C:\PS>get-command -type cmdlet | sort-object noun | format-table -group noun

Descrizione
-----------
Tramite questo comando vengono recuperati tutti i cmdlet, che vengono quindi ordinati alfabeticamente in base alla prima parte del nome e visualizzati in gruppi
basati sul nome. Questa visualizzazione consente di trovare i cmdlet per un'attività specifica. 

Per impostazione predefinita, Get-Command visualizza gli elementi in base all'ordine in cui vengono rilevati dal sistema, ovvero l'ordine in cui vengono selezionati per l'esecuzione nel caso di un comando ambiguo.






Esempio 4

C:\PS>get-command -module Microsoft.PowerShell.Security, TestModule

Descrizione
-----------
Con questo comando si ottengono i comandi nello snap-in Microsoft.PowerShell.Security e nel modulo Test-Module.

Il parametro Module consente di ottenere comandi aggiunti importando moduli o aggiungendo snap-in di Windows PowerShell.






Esempio 5

C:\PS>get-command get-childitem -args cert: -syntax

Descrizione
-----------
Con questo comando vengono recuperate informazioni sul cmdlet Get-ChildItem quando si utilizza Get-ChildItem con il provider Certificate di Windows PowerShell. 

Confrontando la sintassi visualizzata nell'output con la sintassi visualizzata quando si omette il parametro Args (ArgumentList), si noterà che il provider Certificate aggiunge dinamicamente un parametro, ovvero il parametro CodeSigningCert, al cmdlet Get-ChildItem.






Esempio 6

C:\PS>(get-command get-childitem -ArgumentList cert:).parametersets[0].parameters | where-object { $_.IsDynamic }

Descrizione
-----------
Con questo comando vengono recuperati solo i parametri aggiunti dinamicamente al cmdlet Get-ChildItem quando questo viene utilizzato con il provider Certificate di Windows PowerShell. Il comando rappresenta un'alternativa al metodo utilizzato nell'esempio precedente.

In questo comando, "get-command get-childitem -ArgumentList cert:" viene elaborato per primo. Vengono quindi richieste informazioni da Get-Command sul cmdlet Get-ChildItem quando questo viene utilizzato con il provider Certificate. Tramite ".parametersets[0]" viene selezionato il primo set di parametri (set 0) di "get-childitem -argumentList cert:", mentre tramite ".parameters" vengono selezionati i parametri in tale set di parametri. I parametri risultanti vengono reindirizzati al cmdlet Where-Object affinché ogni parametro ("$_.") venga verificato tramite la proprietà IsDynamic. Per trovare le proprietà degli oggetti in un comando, utilizzare Get-Member.






Esempio 7

C:\PS>get-command *

Descrizione
-----------
Tramite questo comando vengono ottenute informazioni su cmdlet, funzioni, filtri, script e alias di Windows PowerShell nella console corrente.

Vengono anche ottenute informazioni su tutti i file nei percorsi della variabile di ambiente Path ($env:path). Viene restituito un oggetto ApplicationInfo (System.Management.Automation.ApplicationInfo) per ogni file e non un oggetto FileInfo (System.IO.FileInfo).






Esempio 8

C:\PS>get-command | where-object {$_.definition -like "*first*"}

CommandType     Name                        Definition
-----------     ----                        ---------
Cmdlet          Select-Object               Select-Object [[-Property]

Descrizione
-----------
Tramite questo comando è possibile trovare un cmdlet o una funzione in base al nome di uno dei relativi parametri. È possibile utilizzare questo comando per identificare un cmdlet o una funzione quando si ricorda solo il nome di uno dei relativi parametri.

In questo caso, si ricorda che uno dei cmdlet o delle funzioni dispone di un parametro First che ottiene i primi "n" oggetti in un elenco, ma non è possibile ricordare di quale cmdlet si tratta.

Tramite questo comando viene utilizzato il cmdlet Get-Command per ottenere un oggetto CmdletInfo che rappresenta ogni cmdlet e ogni funzione della sessione. L'oggetto CmdletInfo dispone di una proprietà Definition che contiene la sintassi del cmdlet o della funzione, inclusi i relativi parametri. 

Nel comando viene utilizzato un operatore pipeline (|) per passare l'oggetto CmdletInfo al cmdlet Where-Object che esamina la definizione (sintassi) di ogni oggetto (_ $) per rilevare un valore che include "first".

Il risultato indica che il parametro First appartiene al cmdlet Select-Object.






Esempio 9

C:\PS>get-command dir | format-list

Name              : dir
CommandType       : Alias
Definition        : Get-ChildItem
ReferencedCommand : Get-ChildItem
ResolvedCommand   : Get-ChildItem

Descrizione
-----------
In questo esempio viene illustrato come utilizzare il cmdlet Get-Command con un alias. Sebbene venga utilizzato generalmente nei cmdlet, tramite Get-Command vengono anche visualizzate informazioni sul codice in script, funzioni, alias e file eseguibili.

Tramite questo comando viene visualizzato l'alias "dir" nella console corrente. Il comando consente di reindirizzare il risultato ai cmdlet Format-List.






Esempio 10

C:\PS>get-command notepad

CommandType     Name           Definition
-----------     ----           ----------
Application     notepad.exe    C:\WINDOWS\system32\notepad.exe
Application     NOTEPAD.EXE    C:\WINDOWS\NOTEPAD.EXE

Descrizione
-----------
In questo esempio viene illustrato come utilizzare Get-Command da determinare quale comando viene eseguito in Windows PowerShell quando si dispone dell'accesso a più comandi con lo stesso nome. Quando si utilizza il parametro Name senza caratteri jolly, tramite Get-Command vengono elencati i comandi con quel nome in ordine di precedenza di esecuzione.

Questo comando indica quale programma di Blocco note viene eseguito in Windows PowerShell quando si digita "Blocco note" senza un percorso completo. Nel comando viene utilizzato il parametro Name senza caratteri jolly. 

Nell'output di esempio vengono illustrati i comandi di Blocco note nella console corrente. Indica che in Windows PowerShell verrà eseguita l'istanza di Notepad.exe nella directory C:\Windows\System32.






Esempio 11

C:\PS>(get-command get-date).pssnapin

C:\PS> (get-command remove-gpo).module

Descrizione
-----------
Tramite questi comandi viene illustrato come trovare lo snap-in o il modulo dal quale ha avuto origine un particolare cmdlet.

Nel primo comando viene utilizzata la proprietà PSSnapin dell'oggetto CmdletInfo per trovare lo snap-in che ha aggiunto il cmdlet Get-Date. 

Nel secondo comando viene utilizzata la proprietà Module dell'oggetto CmdletInfo per trovare il modulo che ha aggiunto il cmdlet Remove-GPO.






Vedere anche




Argomenti della Guida