Get-Item
Získá položku v zadaném umístění.
Syntaxe
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>]
Description
Cmdlet Get-Item
získá položku na zadaném umístění. Nezískává obsah položky na daném místě, pokud nevyužijete zástupný znak (*
) k vyžádání veškerého obsahu položky.
Tuto rutinu používají poskytovatelé PowerShellu k procházení různých typů úložišť dat.
Příklady
Příklad 1: Získání aktuálního adresáře
Tento příklad zobrazuje aktuální adresář. Tečka (.) představuje položku v aktuálním umístění (nikoli v jejím obsahu).
Get-Item .
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test
Příklad 2: Získání všech položek v aktuálním adresáři
Tento příklad získá všechny položky v aktuálním adresáři. Zástupný znak (*
) představuje veškerý obsah aktuální položky.
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
Příklad 3: Získání aktuálního adresáře jednotky
Tento příklad získá aktuální adresář jednotky C:
. Načtený objekt představuje pouze adresář, nikoli jeho obsah.
Get-Item C:
Příklad 4: Získání položek na zadané jednotce
Tento příklad získá položky na disku C:
. Zástupný znak (*
) představuje všechny položky v kontejneru, nejen kontejner.
Get-Item C:\*
V PowerShellu použijte k získání obsahu jednu hvězdičku (*
) místo tradičního *.*
. Formát se interpretuje doslova, takže *.*
nezíská adresáře ani názvy souborů bez tečky.
Příklad 5: Získání vlastnosti v zadaném adresáři
Tento příklad získá vlastnost LastAccessTime adresáře C:\Windows
.
LastAccessTime je jen jednou vlastností adresářů systému souborů. Pokud chcete zobrazit všechny vlastnosti adresáře, zadejte (Get-Item <directory-name>) | Get-Member
.
(Get-Item C:\Windows).LastAccessTime
Příklad 6: Zobrazení obsahu klíče registru
Tento příklad ukazuje obsah klíče registru Microsoft.PowerShellu. Tuto rutinu můžete použít s poskytovatelem registru PowerShellu k získání klíčů registru a podklíčů registru, ale k získání hodnot a dat registru musíte použít rutinu Get-ItemProperty
.
Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\
Příklad 7: Získání položek v adresáři s vyloučením
Tento příklad získá položky v adresáři Windows s názvy, které obsahují tečku (.
), ale nezačínají w*
. Tento příklad funguje pouze v případě, že cesta obsahuje zástupný znak (*
) k určení obsahu položky.
Get-Item C:\Windows\*.* -Exclude "w*"
Příklad 8: Získání informací o pevném propojení
V PowerShellu 6.2 se přidalo alternativní zobrazení pro získání informací o pevném propojení. Informace o pevném propojení získáte tak, že výstup předáte 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
Vlastnost Mode
identifikuje pevný odkaz podle l
v la---
Příklad 9: Výstup pro operační systémy jiné než Windows
V PowerShellu 7.1 v systémech Unix poskytuje rutina Get-Item
výstup podobný unixu:
PS> Get-Item /Users
Directory: /
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
drwxr-xr-x root admin 12/20/2019 11:46 192 Users
Nové vlastnosti, které jsou nyní součástí výstupu, jsou:
- UnixMode je oprávnění k souborům reprezentovaná v systému Unix.
- uživatel je vlastníkem souboru.
- Skupina je vlastníkem skupiny.
- Velikost je velikost souboru nebo adresáře reprezentovaná v systému Unix.
Poznámka
Tato funkce byla přesunuta z experimentálního do hlavního proudu v PowerShellu 7.1.
Parametry
-CodeSigningCert
Jedná se o dynamický parametr zpřístupněný poskytovatelem certifikátu. Tento parametr a poskytovatel certifikátu jsou k dispozici pouze ve Windows.
Chcete-li získat certifikáty, které mají Code Signing
v hodnotě vlastnosti EnhancedKeyUsageList, použijte parametr CodeSigningCert.
Další informace naleznete v tématu about_Certificate_Provider.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Credential
Poznámka
Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete zosobnit jiného uživatele nebo zvýšit oprávnění při spuštění této rutiny, použijte Invoke-Command.
Typ: | PSCredential |
Position: | Named |
Default value: | Current user |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-DnsName
Jedná se o dynamický parametr zpřístupněný poskytovatelem certifikátu. Tento parametr a poskytovatel certifikátu jsou k dispozici pouze ve Windows.
Určuje vzor názvu domény nebo názvu, který se má shodovat s vlastností DNSNameList certifikátů, které rutina získá. Hodnota tohoto parametru může být Unicode
nebo ASCII
. Punycode hodnoty jsou převedeny na Unicode. Jsou povoleny zástupné znaky (*
).
Tento parametr byl znovu vyvolán v PowerShellu 7.1.
Další informace naleznete v tématu about_Certificate_Provider.
Typ: | DnsNameRepresentation |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-DocumentEncryptionCert
Jedná se o dynamický parametr zpřístupněný poskytovatelem certifikátu. Tento parametr a poskytovatel certifikátu jsou k dispozici pouze ve Windows.
Pokud chcete získat certifikáty, které mají Document Encryption
v hodnotě vlastnosti EnhancedKeyUsageList, použijte parametr DocumentEncryptionCert.
Další informace naleznete v tématu about_Certificate_Provider.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Eku
Jedná se o dynamický parametr zpřístupněný poskytovatelem certifikátu. Tento parametr a poskytovatel certifikátu jsou k dispozici pouze ve Windows.
Určuje text nebo textový vzor, který se má shodovat s vlastností EnhancedKeyUsageList certifikátů, které rutina získá. Jsou povoleny zástupné znaky (*
).
EnhancedKeyUsageList vlastnost obsahuje přátelský název a pole OID EKU.
Tento parametr byl znovu vyvolán v PowerShellu 7.1.
Další informace naleznete v tématu about_Certificate_Provider.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Exclude
Určuje, jako pole řetězců, položku nebo položky, které tento cmdlet vylučuje z operace. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt
. Jsou povoleny zástupné znaky. Parametr Exclude je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah adresáře C:\Windows
.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-ExpiringInDays
Jedná se o dynamický parametr zpřístupněný poskytovatelem certifikátu. Tento parametr a poskytovatel certifikátu jsou k dispozici pouze ve Windows.
Určuje, že rutina by měla vracet pouze certifikáty, jejichž platnost vyprší nebo před zadaným počtem dní. Pokud je hodnota nula (0
), získají se certifikáty, jejichž platnost vypršela.
Tento parametr byl znovu vyvolán v PowerShellu 7.1.
Další informace naleznete v tématu about_Certificate_Provider.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Filter
Určuje filtr pro kvalifikaci parametru Path. Zprostředkovatel FileSystem je jediným nainstalovaným poskytovatelem PowerShellu, který podporuje filtry. Filtry jsou efektivnější než jiné parametry. Zprostředkovatel použije filtr, když rutina získá objekty místo toho, aby objekty po jejich načtení vyfiltrovaly PowerShell. Řetězec filtru je předán rozhraní .NET API za účelem výčtu souborů. Rozhraní API podporuje pouze *
a ?
zástupné znaky.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Force
Označuje, že tato rutina získá položky, ke kterým se jinak nedá získat přístup, například ke skrytým položkám. Implementace se liší od zprostředkovatele po zprostředkovatele. Další informace naleznete v tématu about_Providers. I když používáte parametr Force, rutina nemůže přepsat omezení zabezpečení.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Include
Určuje, jako pole řetězců, položku nebo položky, které tento cmdlet zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt
. Jsou povoleny zástupné znaky. Parametr Include je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah adresáře C:\Windows
.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-LiteralPath
Určuje cestu k jednomu nebo více umístěním. Hodnota LiteralPath se používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje escape znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.
Další informace najdete v tématu about_Quoting_Rules.
Typ: | String[] |
Aliasy: | PSPath, LP |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Path
Určuje cestu k položce. Tento cmdlet získá položku na zadaném umístění. Jsou povoleny zástupné znaky. Tento parametr je povinný, ale název parametru cesta je nepovinný.
K určení aktuálního umístění použijte tečku (.
). K určení všech položek v aktuálním umístění použijte zástupný znak (*
).
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-SSLServerAuthentication
Jedná se o dynamický parametr zpřístupněný poskytovatelem certifikátu. Tento parametr a poskytovatel certifikátu jsou k dispozici pouze ve Windows.
Pokud chcete získat certifikáty, které mají Server Authentication
v hodnotě vlastnosti EnhancedKeyUsageList, použijte parametr SSLServerAuthentication.
Další informace naleznete v tématu about_Certificate_Provider.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Stream
Toto je dynamický parametr zpřístupněný poskytovatelem FileSystem. Tento parametr je k dispozici pouze ve Windows.
Získá zadaný alternativní datový proud ze souboru. Zadejte název datového proudu. Podporují se zástupné znaky. Pokud chcete získat všechny streamy, použijte hvězdičku (*
). Tento parametr je platný pro adresáře, ale všimněte si, že adresáře ve výchozím nastavení nemají datové proudy.
Tento parametr byl představen v PowerShellu 3.0. Od PowerShellu 7.2 může Get-Item
získat alternativní datové proudy z adresářů i souborů.
Pro více informací se podívejte na about_FileSystem_Provider.
Typ: | String[] |
Position: | Named |
Default value: | No alternate file streams |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
Vstupy
Můžete přesměrovat řetězec, který obsahuje cestu, do této rutiny.
Výstupy
Cmdlet vypíše tento typ při přístupu k jednotce Alias:
.
Příkaz cmdlet vypíše tyto typy souborů při přístupu k disku Cert:
.
Cmdlet vypíše tento typ při přístupu k jednotce Env:
.
Cmdlet vypíše tyto typy při přístupu k diskovým jednotkám souborového systému.
Příkaz cmdlet vypíše tyto typy při přístupu k jednotkám Function:
.
Cmdlet vypíše tento typ při přístupu k jednotkám registru.
Tento cmdlet vypíše tento typ při přístupu k jednotkám Variable:
.
Příkaz cmdlet vypíše tyto typy při přístupu k jednotkám WSMan:
.
Poznámky
PowerShell obsahuje následující aliasy pro Get-Item
:
- Všechny platformy:
gi
Tato rutina nemá parametr Recurse, protože získá pouze položku, nikoli její obsah.
Chcete-li získat obsah položky rekurzivně, použijte Get-ChildItem
.
Pro procházení registru použijte tento příkaz cmdlet k získání klíčů registru a Get-ItemProperty
k získání hodnot a dat registru. Hodnoty registru jsou považovány za vlastnosti klíče registru.
Tato rutina je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PsProvider
. Další informace naleznete v tématu about_Providers.