Get-Item
Ottiene l'elemento nella posizione specificata.
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 cmdlet Get-Item
ottiene l'elemento alla 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: Recuperare la directory corrente
In questo esempio viene ottenuta 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 della directory corrente. Il carattere universale (*
) 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: Recuperare gli elementi sull'unità specificata
Questo esempio ottiene i file 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 directory C:\Windows
.
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 cmdlet Get-ItemProperty
per ottenere i valori e i dati del Registro di sistema.
Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\
Esempio 7: Ottenere gli elementi in una directory che hanno un'esclusione
Questo esempio recupera gli elementi nella directory di Windows con nomi che includono un punto (.
), ma che non iniziano con w*
. Questo esempio funziona solo quando il percorso include un carattere jolly (*
) per specificare i contenuti 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 proprietà Mode
identifica il collegamento hardlink con il l
in la---
Esempio 9: output per sistemi operativi non Windows
In PowerShell 7.1 nei sistemi Unix, il cmdlet Get-Item
fornisce 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 è costituito dalle autorizzazioni per i file rappresentate in un sistema Unix
- User è il proprietario del file
- Group è il proprietario del gruppo
- Dimensione è la dimensione 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 del certificato . Questo parametro e il provider del certificato sono disponibili solo su Windows.
Per ottenere i certificati con Code Signing
nel 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 quando si esegue 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 del certificato . Questo parametro e il provider del certificato sono disponibili solo su Windows.
Specifica un nome di dominio o un modello di nome che deve corrispondere alla proprietà DNSNameList dei certificati che il cmdlet ottiene. Il valore di questo parametro può essere Unicode
o ASCII
. I valori punycode vengono convertiti in Unicode. I caratteri jolly (*
) sono consentiti.
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 del certificato . Questo parametro e il provider del certificato sono disponibili solo su Windows.
Per ottenere i certificati con Document Encryption
nel 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 del certificato . Questo parametro e il provider del certificato sono disponibili solo su Windows.
Specifica il testo o un modello di testo da associare alla proprietà EnhancedKeyUsageList dei certificati che il cmdlet ottiene. I caratteri jolly (*
) sono consentiti. 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
. Sono consentiti caratteri jolly. Il parametro Exclude è efficace solo quando il comando include i contenuti di un elemento, come C:\Windows\*
, dove il carattere jolly specifica i contenuti della directory C:\Windows
.
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 del certificato . Questo parametro e il provider del certificato sono disponibili solo su Windows.
Specifica che il cmdlet deve restituire solo i certificati in scadenza o prima del numero di giorni specificato. Un valore pari a 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 di 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é lasciare che sia PowerShell a filtrare gli oggetti dopo il loro recupero. La stringa di filtro viene passata all'API .NET per enumerare i file. L'API supporta solo *
e ?
caratteri jolly.
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 da provider a 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, uno o più elementi che questo cmdlet include nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio *.txt
. Sono consentiti caratteri jolly. Il parametro Includi è valido solo quando il comando include i contenuti di un elemento, ad esempio C:\Windows\*
, in cui il carattere jolly specifica il contenuto della directory C:\Windows
.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-LiteralPath
Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come caratteri 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. Sono consentiti caratteri jolly. 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 locazione 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 del certificato . Questo parametro e il provider del certificato sono disponibili solo su Windows.
Per ottenere i certificati con Server Authentication
nel 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 unità Function:
.
Il cmdlet restituisce questo tipo quando si accede alle unità del Registro di sistema.
Il cmdlet restituisce questo tipo quando si accede alle unità Variable:
.
Il cmdlet restituisce questi tipi quando si accede alle unità WSMan:
.
Note
PowerShell include gli alias seguenti per Get-Item
:
- Tutte le piattaforme:
gi
Questo cmdlet non dispone di 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 il Get-ItemProperty
per ottenere i valori e i dati del Registro di sistema. I valori del Registro di sistema vengono 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.