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

Rutina Get-Item získá položku v zadaném umístění. Nezískáte obsah položky v umístění, pokud nepoužíváte 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 získá 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ář C: jednotky. 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 v jednotce 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 *.* by se nenačítaly 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 C:\Windows LastAccessTime adresáře. LastAccessTime je jen jednou vlastností adresářů systému souborů. Chcete-li 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 tuto 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í na 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í. Pokud chcete získat informace o pevném propojení, předáte výstup na 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 in lla---

Příklad 9: Výstup pro operační systémy jiné než Windows

V PowerShellu 7.1 v systémech Get-Item Unix poskytuje rutina 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 najdete 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 úroveň přihlašovacích údajů 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 název domény nebo vzor 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ána v PowerShellu 7.1.

Další informace najdete 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.

Chcete-li získat certifikáty, které mají Document Encryption v hodnotě vlastnosti EnhancedKeyUsageList , použijte parametr DocumentEncryptionCert .

Další informace najdete 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 popisný název a pole OID EKU.

Tento parametr byl znovu vyvolána v PowerShellu 7.1.

Další informace najdete 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é tato rutina vylučuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt. Jsou povoleny zástupné znaky. Parametr Exclude je účinný pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah C:\Windows adresáře.

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í. Hodnota nula (0) získá certifikáty, jejichž platnost vypršela.

Tento parametr byl znovu vyvolána v PowerShellu 7.1.

Další informace najdete 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, který má kvalifikovat parametr 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 se předá rozhraní .NET API k vytvoření výčtu souborů. Rozhraní API podporuje * pouze zástupné dokumentace.?

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 najdete v tématu about_Providers. I pomocí parametru Force nemůže rutina 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é tato rutina zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, 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 C:\Windows adresáře.

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 řídicí 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. Tato rutina získá položku v zadaném umístění. Jsou povoleny zástupné znaky. Tento parametr je povinný, ale cesta k názvu parametru je nepovinná.

K určení aktuálního umístění použijte tečku (.). Pomocí zástupné znaky (*) zadejte všechny položky v aktuálním umístění.

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.

Chcete-li získat certifikáty, které mají Server Authentication v hodnotě vlastnosti EnhancedKeyUsageList , použijte parametr SSLServerAuthentication .

Další informace najdete 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

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel 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é kóty. 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 Get-Item můžete získat alternativní datové proudy z adresářů i souborů.

Další informace najdete v tématu 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

String

Řetězec, který obsahuje cestu k této rutině, můžete převést.

Výstupy

AliasInfo

Rutina tento typ vypíše při přístupu k jednotce Alias: .

X509StoreLocation

X509Store

X509Certificate2

Rutina vypíše tyto typy při přístupu k Cert: jednotce.

DictionaryEntry

Rutina tento typ vypíše při přístupu k jednotce Env: .

DirectoryInfo

FileInfo

Rutina vypíše tyto typy při přístupu k jednotkám Systému souborů.

FunctionInfo

FilterInfo

Rutina vypíše tyto typy při přístupu k jednotkám Function: .

RegistryKey

Rutina tento typ vypíše při přístupu k jednotkám registru.

PSVariable

Rutina tento typ vypíše při přístupu k jednotkám Variable: .

WSManConfigContainerElement

WSManConfigLeafElement

Rutina 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.

K procházení registru použijte tuto rutinu k získání klíčů registru a Get-ItemProperty 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 najdete v tématu about_Providers.