Get-Item
Ottiene l'elemento nel percorso specificato.
Sintassi
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-Stream <string[]>]
[<CommonParameters>]
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-Stream <string[]>]
[<CommonParameters>]
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[<CommonParameters>]
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[<CommonParameters>]
Descrizione
Il Get-Item
cmdlet ottiene l'elemento nella posizione specificata. Non ottiene il contenuto dell'elemento nella posizione, a meno che non si usi un carattere jolly (*
) per richiedere tutto il contenuto dell'elemento.
Questo cmdlet viene usato dai provider di PowerShell per spostarsi tra diversi tipi di archivi dati.
Esempio
Esempio 1: Ottenere la directory corrente
In questo esempio viene recuperata la directory corrente. Il punto ('.') rappresenta l'elemento nella posizione corrente (non il relativo contenuto).
Get-Item .
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test
Esempio 2: Ottenere tutti gli elementi nella directory corrente
In questo esempio vengono restituiti tutti gli elementi nella directory corrente. Il carattere jolly (*
) rappresenta tutto il contenuto dell'elemento corrente.
Get-Item *
Directory: C:\ps-test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 9:29 AM Logs
d---- 7/26/2006 9:26 AM Recs
-a--- 7/26/2006 9:28 AM 80 date.csv
-a--- 7/26/2006 10:01 AM 30 filenoext
-a--- 7/26/2006 9:30 AM 11472 process.doc
-a--- 7/14/2006 10:47 AM 30 test.txt
Esempio 3: Ottenere la directory corrente di un'unità
In questo esempio viene recuperata la directory corrente dell'unità C:
. L'oggetto recuperato rappresenta solo la directory, non il relativo contenuto.
Get-Item C:
Esempio 4: Ottenere elementi nell'unità specificata
Questo esempio ottiene gli elementi nell'unità C:
. Il carattere jolly (*
) rappresenta tutti gli elementi nel contenitore, non solo il contenitore.
Get-Item C:\*
In PowerShell usare un singolo asterisco (*
) per ottenere il contenuto anziché il tradizionale *.*
. Il formato viene interpretato letteralmente, quindi *.*
non recupererebbe directory o nomi file senza un punto.
Esempio 5: Ottenere una proprietà nella directory specificata
In questo esempio viene recuperata la proprietà LastAccessTime della C:\Windows
directory . LastAccessTime è solo una proprietà delle directory del file system. Per visualizzare tutte le proprietà di una directory, digitare (Get-Item <directory-name>) | Get-Member
.
(Get-Item C:\Windows).LastAccessTime
Esempio 6: Visualizzare il contenuto di una chiave del Registro di sistema
Questo esempio mostra il contenuto della chiave del Registro di sistema Microsoft.PowerShell . È possibile usare questo cmdlet con il provider del Registro di sistema di PowerShell per ottenere chiavi e sottochiavi del Registro di sistema, ma è necessario usare il Get-ItemProperty
cmdlet per ottenere i valori e i dati del Registro di sistema.
Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\
Esempio 7: Ottenere elementi in una directory con un'esclusione
Questo esempio ottiene gli elementi nella directory di Windows con nomi che includono un punto (.
), ma non iniziano con w*
. Questo esempio funziona solo quando il percorso include un carattere jolly (*
) per specificare il contenuto dell'elemento.
Get-Item C:\Windows\*.* -Exclude "w*"
Esempio 8: Recupero di informazioni sul collegamento rigido
In PowerShell 6.2 è stata aggiunta una visualizzazione alternativa per ottenere informazioni sul collegamento rigido. Per ottenere le informazioni sul collegamento rigido, inviare tramite pipe l'output a Format-Table -View childrenWithHardlink
Get-Item C:\Windows\System32\ntoskrnl.exe | Format-Table -view childrenWithHardLink
Directory: C:\Windows\System32
Mode LastWriteTime Length Name
---- ------------- ------ ----
la--- 5/12/2021 7:40 AM 10848576 ntoskrnl.exe
La Mode
proprietà identifica il collegamento hardlink da l
in la---
Esempio 9: output per sistemi operativi non Windows
In PowerShell 7.1 nei sistemi Unix, il Get-Item
cmdlet fornisce un output simile a Unix:
PS> Get-Item /Users
Directory: /
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
drwxr-xr-x root admin 12/20/2019 11:46 192 Users
Le nuove proprietà che fanno ora parte dell'output sono:
- UnixMode è le autorizzazioni di file rappresentate in un sistema Unix
- L'utente è il proprietario del file
- Il gruppo è il proprietario del gruppo
- Le dimensioni sono le dimensioni del file o della directory come rappresentato in un sistema Unix
Nota
Questa funzionalità è stata spostata da sperimentale a mainstream in PowerShell 7.1.
Parametri
-CodeSigningCert
Si tratta di un parametro dinamico reso disponibile dal provider di certificati . Questo parametro e il provider di certificati sono disponibili solo in Windows.
Per ottenere i certificati con Code Signing
il valore della proprietà EnhancedKeyUsageList , usare il parametro CodeSigningCert .
Per altre informazioni, vedere about_Certificate_Provider.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Credential
Nota
Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali durante l'esecuzione di questo cmdlet, usare Invoke-Command.
Tipo: | PSCredential |
Posizione: | Named |
Valore predefinito: | Current user |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-DnsName
Si tratta di un parametro dinamico reso disponibile dal provider di certificati . Questo parametro e il provider di certificati sono disponibili solo in Windows.
Specifica un nome di dominio o un modello di nome che deve corrispondere alla proprietà DNSNameList dei certificati che ottiene il cmdlet. Il valore di questo parametro può essere Unicode
o ASCII
. I valori Punycode vengono convertiti in Unicode. Sono consentiti caratteri jolly (*
).
Questo parametro è stato reintrodotto in PowerShell 7.1
Per altre informazioni, vedere about_Certificate_Provider.
Tipo: | DnsNameRepresentation |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-DocumentEncryptionCert
Si tratta di un parametro dinamico reso disponibile dal provider di certificati . Questo parametro e il provider di certificati sono disponibili solo in Windows.
Per ottenere i certificati con Document Encryption
il valore della proprietà EnhancedKeyUsageList , usare il parametro DocumentEncryptionCert .
Per altre informazioni, vedere about_Certificate_Provider.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Eku
Si tratta di un parametro dinamico reso disponibile dal provider di certificati . Questo parametro e il provider di certificati sono disponibili solo in Windows.
Specifica il testo o un criterio di testo da associare alla proprietà EnhancedKeyUsageList dei certificati che ottiene il cmdlet. Sono consentiti caratteri jolly (*
). La proprietà EnhancedKeyUsageList contiene il nome descrittivo e i campi OID dell'EKU.
Questo parametro è stato reintrodotto in PowerShell 7.1
Per altre informazioni, vedere about_Certificate_Provider.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Exclude
Specifica, come matrice di stringhe, un elemento o elementi esclusi dal cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Path . Immettere un elemento o un modello di percorso, ad esempio *.txt
. I caratteri jolly sono consentiti. Il parametro Exclude è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della C:\Windows
directory.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-ExpiringInDays
Si tratta di un parametro dinamico reso disponibile dal provider di certificati . Questo parametro e il provider di certificati sono disponibili solo in Windows.
Specifica che il cmdlet deve restituire solo i certificati in scadenza o prima del numero di giorni specificato. Un valore zero (0
) ottiene i certificati scaduti.
Questo parametro è stato reintrodotto in PowerShell 7.1
Per altre informazioni, vedere about_Certificate_Provider.
Tipo: | Int32 |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Filter
Specifica un filtro per qualificare il parametro Path . Il provider FileSystem è l'unico provider di PowerShell installato che supporta i filtri. I filtri sono più efficienti rispetto ad altri parametri. Il provider applica un filtro quando il cmdlet ottiene gli oggetti anziché filtrare gli oggetti di PowerShell dopo il recupero. La stringa di filtro viene passata all'API .NET per enumerare i file. L'API supporta *
solo i caratteri jolly e ?
.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Force
Indica che questo cmdlet ottiene elementi a cui non è possibile accedere altrimenti, ad esempio elementi nascosti. L'implementazione varia a seconda del provider. Per altre informazioni, vedere about_Providers. Anche usando il parametro Force , il cmdlet non può eseguire l'override delle restrizioni di sicurezza.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Include
Specifica, come matrice di stringhe, un elemento o elementi inclusi nel cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Path . Immettere un elemento o un modello di percorso, ad esempio *.txt
. I caratteri jolly sono consentiti. Il parametro Include è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della C:\Windows
directory.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-LiteralPath
Specifica un percorso di una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Per altre informazioni, vedere about_Quoting_Rules.
Tipo: | String[] |
Alias: | PSPath, LP |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Path
Specifica il percorso di un elemento. Questo cmdlet ottiene l'elemento nella posizione specificata. I caratteri jolly sono consentiti. Questo parametro è obbligatorio, ma il nome del parametro Path è facoltativo.
Usare un punto (.
) per specificare la posizione corrente. Usare il carattere jolly (*
) per specificare tutti gli elementi nella posizione corrente.
Tipo: | String[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-SSLServerAuthentication
Si tratta di un parametro dinamico reso disponibile dal provider di certificati . Questo parametro e il provider di certificati sono disponibili solo in Windows.
Per ottenere i certificati con Server Authentication
il valore della proprietà EnhancedKeyUsageList , usare il parametro SSLServerAuthentication .
Per altre informazioni, vedere about_Certificate_Provider.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Stream
Si tratta di un parametro dinamico reso disponibile dal provider FileSystem . Questo parametro è disponibile solo in Windows.
Ottiene il flusso di dati alternativo specificato dal file. Immettere il nome del flusso. Sono supportati caratteri jolly. Per ottenere tutti i flussi, usare un asterisco (*
). Questo parametro è valido nelle directory, ma si noti che le directory non dispongono di flussi di dati per impostazione predefinita.
Questo parametro è stato introdotto in PowerShell 3.0. A partire da PowerShell 7.2, Get-Item
può ottenere flussi di dati alternativi da directory e file.
Per altre informazioni, vedere about_FileSystem_Provider.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | No alternate file streams |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
Input
È possibile inviare tramite pipe una stringa contenente un percorso a questo cmdlet.
Output
Il cmdlet restituisce questo tipo quando si accede all'unità Alias:
.
Il cmdlet restituisce questi tipi quando si accede all'unità Cert:
.
Il cmdlet restituisce questo tipo quando si accede all'unità Env:
.
Il cmdlet restituisce questi tipi quando si accede alle unità del file system.
Il cmdlet restituisce questi tipi quando si accede alle Function:
unità.
Il cmdlet restituisce questo tipo quando si accede alle unità del Registro di sistema.
Il cmdlet restituisce questo tipo quando si accede alle Variable:
unità.
Il cmdlet restituisce questi tipi quando si accede alle WSMan:
unità.
Note
PowerShell include gli alias seguenti per Get-Item
:
- Tutte le piattaforme:
gi
Questo cmdlet non ha un parametro Recurse , perché ottiene solo un elemento, non il relativo contenuto.
Per ottenere il contenuto di un elemento in modo ricorsivo, usare Get-ChildItem
.
Per spostarsi nel Registro di sistema, usare questo cmdlet per ottenere le chiavi del Registro di sistema e Get-ItemProperty
per ottenere valori e dati del Registro di sistema. I valori del Registro di sistema sono considerati proprietà della chiave del Registro di sistema.
Questo cmdlet è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PsProvider
. Per altre informazioni, vedere about_Providers.