Get-Command (Italiano)

Modulo: Microsoft.PowerShell.Core

Riceve tutti i comandi.

Sintassi

Get-Command >] >] >] >] <Object>] >] >] 
Get-Command <String>] >] >] <Object>] >] >] 

Descrizione

La Get-Command cmdlet ottiene tutti i comandi che sono installati sul computer, inclusi cmdlets, alias, funzioni, filtri, script e applicazioni. Get-Command ottiene i comandi dai moduli PowerShell e i comandi che sono stati importati da altre sessioni. Per ottenere solo i comandi che sono stati importati nella sessione corrente, usa il parametro ListImported.

Senza parametri, Get-Command ottiene tutti i cmdlets, funzioni e alias installati sul computer. Get-Command * ottiene tutti i tipi di comandi, compresi tutti i file non-PowerShell nella variabile di ambiente Path ($env:Path), che elenca nel tipo di comando Application.

Get-Command che usa il nome esatto del comando, senza caratteri jolly, importa automaticamente il modulo che contiene il comando in modo da poterlo usare immediatamente. Per abilitare, disabilitare e configurare l’importazione automatica dei moduli, utilizzare la variabile di preferenza $PSModuleAutoLoadingPreference. Per maggiori informazioni, vedere about_Preference_Variables.

Get-Command ottiene i suoi dati direttamente dal codice del comando, diversamente da Get-Help, che ottiene le sue informazioni dagli argomenti della guida.

A partire da Windows PowerShell 5.0, i risultati del Get-Command cmdlet mostrano una colonna Version per default. Una nuova proprietà Version è stata aggiunta alla classe CommandInfo.

Esempi

Esempio 1: Ottieni cmdlet, funzioni e alias

Questo comando ottiene i cmdlet, le funzioni e gli alias PowerShell che sono installati sul computer.

Get-Command

Esempio 2: Ottieni i comandi nella sessione corrente

Questo comando usa il parametro ListImported per ottenere solo i comandi nella sessione corrente.

Get-Command -ListImported

Esempio 3: Ottieni i cmdlets e visualizzali in ordine

Questo comando ottiene tutti i cmdlets, li ordina in ordine alfabetico in base al nome del cmdlet, e poi li visualizza in gruppi basati sul nome. Questa visualizzazione può aiutarti a trovare i cmdlet per un compito.

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

Esempio 4: Ottieni i comandi in un modulo

Questo comando usa il parametro Module per ottenere i comandi nelle sezioni Microsoft.PowerShell.Securitye Microsoft.PowerShell.Utility.

Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility

Esempio 5: Ottieni informazioni su un cmdlet

Questo comando ottiene informazioni sul Get-AppLockerPolicy cmdlet. Importa anche il moduloAppLocker, che aggiunge tutti i comandi del modulo AppLocker alla currentsession.

Get-Command Get-AppLockerPolicy

Quando un modulo viene importato automaticamente, l’effetto è lo stesso dell’utilizzo del cmdlet Import-Module.Il modulo può aggiungere comandi, tipi e file di formattazione, ed eseguire script nella sessione. Per abilitare, disabilitare e configurare l’importazione automatica dei moduli, usate la variabile di preferenza $PSModuleAutoLoadingPreference. Per maggiori informazioni, vedi about_Preference_Variables.

Esempio 6: Ottenere la sintassi di un cmdlet

Questo comando usa i parametri ArgumentList e Syntax per ottenere la sintassi del Get-ChildItemcmdlet quando viene usato nell’unità Cert:. L’unità Cert: è un’unità PowerShell che il fornitore di certificati aggiunge alla sessione.

Get-Command -Name Get-Childitem -Args Cert: -Syntax

Quando si confronta la sintassi visualizzata nell’output con la sintassi che viene visualizzata quando si omette il parametro Args (ArgumentList), si vedrà che il fornitore di certificati aggiunge un parametro dinamico, CodeSigningCert, alla Get-ChildItem cmdlet.

Per maggiori informazioni sul fornitore di certificati, vedere about_Certificate_Provider.

Esempio 7: Ottenere i parametri dinamici

Il comando nell’esempio usa la funzione Get-DynamicParameters per ottenere i parametri dinamici che il fornitore di certificati aggiunge alla Get-ChildItem cmdlet quando viene usata nell’unità Cert:.

function Get-DynamicParameters{ param ($Cmdlet, $PSDrive) (Get-Command -Name $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique}Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:Name----CodeSigningCert

La funzione Get-DynamicParameters in questo esempio ottiene i parametri dinamici di un cmdlet. Questa è un’alternativa al metodo usato nell’esempio precedente. Il parametro dinamico può essere aggiunto ad un cmdlet da un altro cmdlet o da un provider.

Esempio 8: Ottenere tutti i comandi di tutti i tipi

Questo comando ottiene tutti i comandi di tutti i tipi sul computer locale, compresi i file eseguibili nei percorsi della variabile di ambiente Path ($env:path).

Get-Command *

Ritorna un oggetto ApplicationInfo (System.Management.Automation.ApplicationInfo) per ogni file, non un oggetto FileInfo (System.IO.FileInfo).

Esempio 9: Ottenere cmdlets utilizzando un nome e un tipo di parametro

Questo comando ottiene cmdlets che hanno un parametro il cui nome include Auth e il cui tipo èAuthenticationMechanism.

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

Puoi usare un comando come questo per trovare le cmdlets che ti permettono di specificare il metodo usato per autenticare l’utente.

Il parametro ParameterType distingue i parametri che prendono un valore AuthenticationMechanism da quelli che prendono un parametro AuthenticationLevel, anche quando hanno nomi simili.

Esempio 10: Ottenere un alias

Questo esempio mostra come usare la cmdlet Get-Command con un alias.

Get-Command -Name dirCommandType Name ModuleName----------- ---- ----------Alias dir -> Get-ChildItem

Anche se è tipicamente usato su cmdlet e funzioni, Get-Command ottiene anche script, funzioni, alias e file eseguibili.

L’output del comando mostra la vista speciale del valore della proprietà Name per gli alias. La vista mostra l’alias e il nome completo del comando.

Esempio 11: ottenere la sintassi da un alias

Questo esempio mostra come ottenere la sintassi insieme al nome standard di un alias.

L’output del comando mostra l’alias etichettato con il nome standard, seguito dalla sintassi.

Get-Command -Name dir -Syntaxdir (alias) -> Get-ChildItemdir <string>] <string>] >] >] >] dir <string>] -LiteralPath <string> >] >] >] 

Esempio 12: Ottenere tutte le istanze del comando Notepad

Questo esempio usa il parametro Tutti del Get-Command cmdlet per mostrare tutte le istanze delNotepad comando sul computer locale.

Get-Command Notepad -All | Format-Table CommandType, Name, DefinitionCommandType Name Definition----------- ---- ----------Application notepad.exe C:\WINDOWS\system32\notepad.exeApplication NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE

Il parametro All è utile quando c’è più di un comando con lo stesso nome nella sessione.

A partire da Windows PowerShell 3.0, per default, quando la sessione include più comandi con lo stesso nome, Get-Command ottiene solo il comando che viene eseguito quando si scrive il nome del comando. Con il parametro All, Get-Command ottiene tutti i comandi con il nome specificato e li restituisce in ordine di precedenza di esecuzione. Per eseguire un comando diverso dal primo della lista, digita il percorso completo del comando.

Per maggiori informazioni sulla precedenza dei comandi, vedi about_Command_Precedence.

Esempio 13: Ottenere il nome di un modulo che contiene un cmdlet

Questo comando ottiene il nome del modulo in cui il Get-Date cmdlet ha origine.Il comando usa la proprietà ModuleName di tutti i comandi.

(Get-Command Get-Date).ModuleNameMicrosoft.PowerShell.Utility

Questo formato di comando funziona sui comandi nei moduli PowerShell, anche se non sono importati nella sessione.

Esempio 14: Ottieni cmdlets e funzioni che hanno un tipo di output

Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType

Questo comando ottiene i cmdlets e le funzioni che hanno un tipo di output e il tipo di oggetti che restituiscono.

La prima parte del comando ottiene tutti i cmdlets. Un operatore di pipeline (|) invia i cmdlets alWhere-Object cmdlet, che seleziona solo quelli in cui la proprietà OutputType è popolata. Un altro operatore della pipeline invia gli oggetti cmdlet selezionati al Format-List cmdlet, che visualizza il nome e il tipo di output di ogni cmdlet in una lista.

La proprietà OutputType di un oggetto CommandInfo ha un valore non nullo solo quando il cmdletcode definisce l’attributo OutputType per il cmdlet.

Esempio 15: Ottieni i cmdlet che prendono un tipo di oggetto specifico come input

Get-Command -ParameterType (((Get-NetAdapter)).PSTypeNames)CommandType Name ModuleName----------- ---- ----------Function Disable-NetAdapter NetAdapterFunction Enable-NetAdapter NetAdapterFunction Rename-NetAdapter NetAdapterFunction Restart-NetAdapter NetAdapterFunction Set-NetAdapter NetAdapter

Questo comando trova i cmdlet che prendono come input gli oggetti net adapter. Puoi usare questo comando per trovare le cmdlets che accettano il tipo di oggetti che qualsiasi comando restituisce.

Il comando usa la proprietà intrinseca PSTypeNames di tutti gli oggetti, che ottiene i tipi che descrivono l’oggetto. Per ottenere la proprietà PSTypeNames di un adattatore di rete, e non la proprietàPSTypeNames di una collezione di adattatori di rete, il comando usa la notazione di array per ottenere il primo adattatore di rete che la cmdlet restituisce.

Esempio 16: Ottenere comandi usando una corrispondenza fuzzy

In questo esempio, il nome del comando ha deliberatamente un refuso come ‘get-commnd’.Usando lo switch -UseFuzzyMatching, il cmdlet ha determinato che la migliore corrispondenza era Get-Command seguita da altri comandi nativi sul sistema che avevano una corrispondenza simile.

Get-Command get-commnd -UseFuzzyMatchingCommandType Name Version Source----------- ---- ------- ------Cmdlet Get-Command 6.2.0.0 Microsoft.PowerShell.CoreApplication getconf 0.0.0.0 /usr/bin/getconfApplication command 0.0.0.0 /usr/bin/command

Parametri

-All

Indica che questa cmdlet ottiene tutti i comandi, compresi quelli dello stesso tipo che hanno lo stesso nome. Per impostazione predefinita, Get-Command ottiene solo i comandi che vengono eseguiti quando si digita il nome del comando.

Per maggiori informazioni sul metodo che PowerShell utilizza per selezionare il comando da eseguire quando più comandi hanno lo stesso nome, vedere about_Command_Precedence.Per informazioni sui nomi dei comandi qualificati dal modulo e sull’esecuzione di comandi che non vengono eseguiti per default a causa di un conflitto di nome, vedi about_Modules.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

In Windows PowerShell 2.0, Get-Command ottiene tutti i comandi per default.

Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Falso

-ArgumentList

Specifica un array di argomenti. Questo cmdlet ottiene informazioni su un cmdlet o una funzione quando viene utilizzato con i parametri specificati (“argomenti”). L’alias di ArgumentList è Args.

Per rilevare i parametri dinamici che sono disponibili solo quando vengono usati certi altri parametri, impostate il valore di ArgumentList sui parametri che attivano i parametri dinamici.

Per rilevare i parametri dinamici che un provider aggiunge a un cmdlet, impostate il valore del parametroArgumentList su un percorso nel drive del provider, come WSMan:, HKLM:, o Cert:. Quando il comando è una cmdlet del provider PowerShell, inserisci solo un percorso in ogni comando. Le cmdlet provider restituiscono solo i parametri dinamici per il primo percorso il valore di ArgumentList. Per informazioni sulle cmdlet provider, vedi about_Providers.

Tipo: Oggetto
Alias: Args
Posizione: 1
Valore predefinito: Nessuno
Accetta input della pipeline: Falso
Accetta caratteri jolly: Falso
-CommandType

Specifica i tipi di comandi che questa cmdlet riceve. Inserisci uno o più tipi di comando. UsaCommandType o il suo alias, Type. Per impostazione predefinita, Get-Command ottiene tutti i cmdlet, le funzioni e gli alias.

I valori accettabili per questo parametro sono:

  • Alias. Ottiene gli alias di tutti i comandi PowerShell. Per maggiori informazioni, vedi about_Aliases.
  • Tutti. Ottiene tutti i tipi di comando. Questo valore di parametro è l’equivalente di Get-Command *.
  • Application. Ottiene i file non-PowerShell nei percorsi elencati nella variabile d’ambiente Path ($env:path), inclusi i file .txt, .exe e .dll. Per maggiori informazioni sulla variabile d’ambiente Path, vedi about_Environment_Variables.
  • Cmdlet. Ottiene tutti i cmdlet.
  • ExternalScript. Ottiene tutti i file .ps1 nei percorsi elencati nella variabile d’ambiente Path ($env:path).
  • Filtro e funzione. Ottiene tutte le funzioni e i filtri PowerShell avanzati e semplici.
  • Script. Ottiene tutti i blocchi di script. Per ottenere gli script PowerShell (file .ps1), usa il valore ExternalScript.
Type: CommandTypes
Aliases: Type
Valori accettati: Alias, Funzione, Filtro, Cmdlet, ExternalScript, Applicazione, Script, Flusso di lavoro, Configurazione, Tutti
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input pipeline: Vero
Accetta caratteri jolly: False
-FullyQualifiedModule

Specifica i moduli con nomi che sono specificati nella forma di oggetti ModuleSpecification, descritti nella sezione Remarks diModuleSpecification Constructor (Hashtable).Per esempio, il parametro FullyQualifiedModule accetta un nome di modulo specificato in uno dei seguenti formati:

  • @{ModuleName = "modulename"; ModuleVersion = "version_number"}
  • @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}

ModuleName e ModuleVersion sono richiesti, ma Guid è opzionale.

Non si può specificare il parametro FullyQualifiedModule nello stesso comando come Moduleparameter. I due parametri si escludono a vicenda.

Type: ModuleSpecification
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Falso
-ListImported

Indica che questa cmdlet ottiene solo comandi nella sessione corrente.

A partire da PowerShell 3.0, per impostazione predefinita, Get-Command ottiene tutti i comandi installati, compresi, ma non solo, i comandi nella sessione corrente. In PowerShell 2.0, ottiene solo i comandi nella sessione corrente.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Falso
-Modulo

Specifica un array di moduli. Questo cmdlet ottiene i comandi che provengono dai moduli specificati.Inserire i nomi dei moduli o degli oggetti modulo.

Questo parametro accetta valori stringa, ma il valore di questo parametro può anche essere un PSModuleInfoobject, come gli oggetti che i cmdlets Get-Module e Import-PSSession restituiscono.

Tipo: Stringa
Alias: PSSnapin
Posizione: Nominato
Valore di default: Nessuno
Accetta input pipeline: Vero
Accetta caratteri jolly: True
-Nome

Specifica un array di nomi. Questa cmdlet ottiene solo i comandi che hanno il nome specificato. Inserisci un nome o un modello di nome. I caratteri jolly sono permessi.

Per ottenere i comandi che hanno lo stesso nome, usa il parametro All. Quando due comandi hanno lo stesso nome, per default, Get-Command ottiene il comando che viene eseguito quando si digita il nome del comando.

Tipo: Stringa
Posizione: 0
Valore predefinito: Nessuno
Accetta input pipeline: Vero
Accetta caratteri jolly: Vero
-Noun

Specifica un array di nomi di comandi. Questo cmdlet ottiene i comandi, che includono cmdlets, funzioni e alias, che hanno nomi che includono il nome specificato. Inserisci uno o più nomi o modelli di nomi. I caratteri jolly sono permessi.

Tipo: Stringa
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Vero
-ParameterName

Specifica un array di nomi di parametri. Questo cmdlet ottiene i comandi nella sessione che hanno i parametri specificati. Inserisci i nomi dei parametri o gli alias dei parametri. I caratteri jolly sono supportati.

I parametri ParameterName e ParameterType cercano solo i comandi nella sessione corrente.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Type: String
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Falso
Accetta caratteri jolly: Vero
-ParameterType

Specifica un array di nomi di parametri. Questo cmdlet ottiene i comandi nella sessione che hanno parametri del tipo specificato. Inserisci il nome completo o parziale di un tipo di parametro. Sono supportati i caratteri jolly.

I parametri ParameterName e ParameterType cercano solo i comandi nella sessione corrente.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Type: PSTypeName
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Falso
Accetta caratteri jolly: Vero
-ShowCommandInfo

Indica che questa cmdlet visualizza le informazioni sul comando.

Questo parametro è stato introdotto in Windows PowerShell 5.0.

Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Falso
Accetta caratteri jolly: Falso
-Sintassi

Indica che questa cmdlet ottiene solo i seguenti dati specifici sul comando:

  • Alias. Ottiene il nome e la sintassi standard.
  • Cmdlets. Ottiene la sintassi.
  • Funzioni e filtri. Ottiene la definizione della funzione.
  • Script e applicazioni o file. Ottiene il percorso e il nome del file.
Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Falso
-TotalCount

Specifica il numero di comandi da ottenere. Puoi usare questo parametro per limitare l’output di un comando.

Tipo: Int32
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input pipeline: Vero
Accetta caratteri jolly: Falso
-UseAbbreviationExpansion

Indica l’utilizzo della corrispondenza dei caratteri nel comando per trovare con caratteri maiuscoli in un comando. Per esempio, i-psdf corrisponderebbe a Import-PowerShellDataFile poiché ciascuno dei caratteri da trovare corrisponde a un carattere maiuscolo nel risultato. Quando si usa questo tipo di corrispondenza, qualsiasi carattere jolly non darà luogo a nessuna corrispondenza.

Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Falso
-UseFuzzyMatching

Indica l’utilizzo di un algoritmo di corrispondenza fuzzy quando si trovano i comandi. L’ordine dell’output è dal match più vicino al match meno probabile. I caratteri jolly non dovrebbero essere usati con l’abbinamento fuzzy poiché tenterà di abbinare i comandi che possono contenere tali caratteri jolly.

Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Falso
Accetta caratteri jolly: Falso
-Verb

Specifica un array di verbi di comando. Questo cmdlet ottiene i comandi, che includono cmdlets, funzioni e alias, che hanno nomi che includono il verbo specificato. Inserisci uno o più verbi o verbpattern. I caratteri jolly sono permessi.

Tipo: Stringa
Posizione: Nominato
Valore predefinito: Nessuno
Accetta input della pipeline: Vero
Accetta caratteri jolly: Vero

Inputs

Stringa

È possibile inserire i nomi dei comandi in questa cmdlet.

Outputs

CommandInfo

Questa cmdlet restituisce oggetti derivati dalla classe CommandInfo. Il tipo di oggetto che viene restituito dipende dal tipo di comando che Get-Command ottiene.

AliasInfo

Rappresenta gli alias.

ApplicationInfo

Rappresenta applicazioni e file.

CmdletInfo

Rappresenta i cmdlet.

FunctionInfo

Rappresenta funzioni e filtri.

Note

  • Quando più di un comando con lo stesso nome è disponibile per la sessione, Get-Command restituisce il comando che viene eseguito quando si scrive il nome del comando. Per ottenere i comandi che hanno lo stesso nome, elencati in ordine di esecuzione, usate il parametro All. Per maggiori informazioni, vedereabout_Command_Precedence.
  • Quando un modulo viene importato automaticamente, l’effetto è lo stesso dell’utilizzo del Import-Modulecmdlet. Il modulo può aggiungere comandi, tipi e file di formattazione, ed eseguire script nella sessione.Per abilitare, disabilitare e configurare l’importazione automatica dei moduli, utilizzare la variabile di preferenza$PSModuleAutoLoadingPreference. Per maggiori informazioni, vedereabout_Preference_Variables.
  • Export-PSSession
  • Get-Help
  • Get-Member
  • Get-PSDrive
  • Import-PSSession
  • about_Command_Precedence

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *