Freigeben über


Get-Item

Ruft das Element am angegebenen Speicherort ab.

Syntax

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>]

Beschreibung

Das Get-Item Cmdlet ruft das Element am angegebenen Speicherort ab. Der Inhalt des Elements wird nicht an der Position abgerufen, es sei denn, Sie verwenden ein Wildcardzeichen (*), um den gesamten Inhalt des Elements anzufordern.

Dieses Cmdlet wird von PowerShell-Anbietern verwendet, um durch verschiedene Arten von Datenspeichern zu navigieren. Einige Parameter sind nur für einen bestimmten Anbieter verfügbar. Weitere Informationen finden Sie unter about_Providers.

Beispiele

Beispiel 1: Abrufen des aktuellen Verzeichnisses

In diesem Beispiel wird das aktuelle Verzeichnis abgerufen. Der Punkt ('.') stellt das Element an der aktuellen Position (nicht seinen Inhalt) dar.

Get-Item .

Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006  10:01 AM            ps-test

Beispiel 2: Abrufen aller Elemente im aktuellen Verzeichnis

In diesem Beispiel werden alle Elemente im aktuellen Verzeichnis abgerufen. Das Wildcardzeichen (*) stellt den gesamten Inhalt des aktuellen Elements dar.

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

Beispiel 3: Abrufen des aktuellen Verzeichnisses eines Laufwerks

In diesem Beispiel wird das aktuelle Verzeichnis des C: Laufwerks abgerufen. Das abgerufene Objekt stellt nur das Verzeichnis dar, nicht dessen Inhalt.

Get-Item C:

Beispiel 4: Abrufen von Elementen auf dem angegebenen Laufwerk

In diesem Beispiel werden die Elemente im C: Laufwerk abgerufen. Das Wildcardzeichen (*) stellt alle Elemente im Container dar, nicht nur den Container.

Get-Item C:\*

Verwenden Sie in PowerShell anstelle des herkömmlichen *.*ein einzelnes Sternchen (*), um Inhalte abzurufen. Das Format wird wörtlich interpretiert, sodass *.* Verzeichnisse oder Dateinamen ohne Punkt nicht abgerufen werden.

Beispiel 5: Abrufen einer Eigenschaft im angegebenen Verzeichnis

In diesem Beispiel wird die LastAccessTime-Eigenschaft des C:\Windows Verzeichnisses abgerufen. LastAccessTime ist nur eine Eigenschaft von Dateisystemverzeichnissen. Um alle Eigenschaften eines Verzeichnisses anzuzeigen, geben Sie ein (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

Beispiel 6: Anzeigen des Inhalts eines Registrierungsschlüssels

Dieses Beispiel zeigt den Inhalt des Registrierungsschlüssels Microsoft.PowerShell . Sie können dieses Cmdlet mit dem PowerShell-Registrierungsanbieter verwenden, um Registrierungsschlüssel und Unterschlüssel abzurufen, aber Sie müssen das Get-ItemProperty Cmdlet verwenden, um die Registrierungswerte und Daten abzurufen.

Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\

Beispiel 7: Abrufen von Elementen in einem Verzeichnis, die über einen Ausschluss verfügen

In diesem Beispiel werden Elemente im Windows-Verzeichnis mit Namen abgerufen, die einen Punkt (.) enthalten, aber nicht mit w*beginnen. Dieses Beispiel funktioniert nur, wenn der Pfad ein Wildcardzeichen (*) enthält, um den Inhalt des Elements anzugeben.

Get-Item C:\Windows\*.* -Exclude "w*"

Beispiel 8: Abrufen von Hardlinkinformationen

In PowerShell 6.2 wurde eine alternative Ansicht hinzugefügt, um Hardlinkinformationen abzurufen. Um die Hardlinkinformationen abzurufen, übergeben Sie die Ausgabe an 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

Die Mode -Eigenschaft identifiziert den Hardlink durch den l in la---

Beispiel 9: Ausgabe für Nicht-Windows-Betriebssysteme

In PowerShell 7.1 auf Unix-Systemen stellt das Get-Item Cmdlet eine Unix-ähnliche Ausgabe bereit:

PS> Get-Item /Users

Directory: /

UnixMode    User  Group   LastWriteTime      Size  Name
--------    ----  -----   -------------      ----  ----
drwxr-xr-x  root  admin   12/20/2019 11:46   192   Users

Die neuen Eigenschaften, die jetzt Teil der Ausgabe sind, sind:

  • UnixMode ist die Dateiberechtigung, wie sie auf einem Unix-System dargestellt wird.
  • Der Benutzer ist der Dateibesitzer.
  • Group ist der Gruppenbesitzer.
  • Größe ist die Größe der Datei oder des Verzeichnisses, wie sie auf einem Unix-System dargestellt wird.

Hinweis

Dieses Feature wurde von „Experimentell“ in „Mainstream“ in PowerShell 7.1 verschoben.

Parameter

-CodeSigningCert

Dies ist ein dynamischer Parameter, der vom Zertifikatanbieter zur Verfügung gestellt wird. Dieser Parameter und der Zertifikatanbieter sind nur unter Windows verfügbar.

Verwenden Sie den CodeSigningCert-Parameter, um Zertifikate abzurufen, die den Wert der EnhancedKeyUsageList-Eigenschaft aufweisenCode Signing.

Weitere Informationen finden Sie unter about_Certificate_Provider.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Hinweis

Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command, um die Identität eines anderen Benutzers zu annehmen oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DnsName

Dies ist ein dynamischer Parameter, der vom Zertifikatanbieter zur Verfügung gestellt wird. Dieser Parameter und der Zertifikatanbieter sind nur unter Windows verfügbar.

Gibt einen Domänennamen oder ein Namensmuster an, das mit der DNSNameList-Eigenschaft von Zertifikaten übereinstimmt, die das Cmdlet abruft. Der Wert dieses Parameters kann entweder oder ASCIIseinUnicode. Punycode-Werte werden in Unicode konvertiert. Wildcardzeichen (*) sind zulässig.

Dieser Parameter wurde in PowerShell 7.1 wieder eingeführt.

Weitere Informationen finden Sie unter about_Certificate_Provider.

Type:DnsNameRepresentation
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-DocumentEncryptionCert

Dies ist ein dynamischer Parameter, der vom Zertifikatanbieter zur Verfügung gestellt wird. Dieser Parameter und der Zertifikatanbieter sind nur unter Windows verfügbar.

Verwenden Sie den DocumentEncryptionCert-Parameter, um Zertifikate abzurufen, die im EnhancedKeyUsageList-Eigenschaftswert enthalten Document Encryption sind.

Weitere Informationen finden Sie unter about_Certificate_Provider.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Eku

Dies ist ein dynamischer Parameter, der vom Zertifikatanbieter zur Verfügung gestellt wird. Dieser Parameter und der Zertifikatanbieter sind nur unter Windows verfügbar.

Gibt Text oder ein Textmuster an, das mit der EnhancedKeyUsageList-Eigenschaft von Zertifikaten übereinstimmt, die das Cmdlet abruft. Wildcardzeichen (*) sind zulässig. Die EnhancedKeyUsageList-Eigenschaft enthält den Anzeigenamen und die OID-Felder der EKU.

Dieser Parameter wurde in PowerShell 7.1 wieder eingeführt.

Weitere Informationen finden Sie unter about_Certificate_Provider.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Gibt als Zeichenfolgenarray ein Element oder Elemente an, die von diesem Cmdlet im Vorgang ausgeschlossen werden. Der Wert dieses Parameters qualifiziert den Path-Parameter. Geben Sie ein Path-Element oder -Muster ein, z *.txt. B. . Platzhalterzeichen sind zulässig. Der Exclude-Parameter ist nur wirksam, wenn der Befehl den Inhalt eines Elements enthält, z C:\Windows\*. B. , wobei das Wildcardzeichen den Inhalt des C:\Windows Verzeichnisses angibt.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ExpiringInDays

Dies ist ein dynamischer Parameter, der vom Zertifikatanbieter zur Verfügung gestellt wird. Dieser Parameter und der Zertifikatanbieter sind nur unter Windows verfügbar.

Gibt an, dass das Cmdlet nur Zertifikate zurückgeben soll, die innerhalb oder vor der angegebenen Anzahl von Tagen ablaufen. Der Wert 0 (0) ruft abgelaufene Zertifikate ab.

Dieser Parameter wurde in PowerShell 7.1 wieder eingeführt.

Weitere Informationen finden Sie unter about_Certificate_Provider.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Gibt einen Filter an, um den Path-Parameter zu qualifizieren. Der FileSystem-Anbieter ist der einzige installierte PowerShell-Anbieter, der Filter unterstützt. Filter sind effizienter als andere Parameter. Der Anbieter wendet filter an, wenn das Cmdlet die Objekte abruft, anstatt die Objekte nach dem Abrufen von PowerShell filtern zu lassen. Die Filterzeichenfolge wird an die .NET-API übergeben, um Dateien aufzulisten. Die API unterstützt * nur und ? Wildcards.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Gibt an, dass dieses Cmdlet Elemente abruft, auf die andernfalls nicht zugegriffen werden kann, z. B. ausgeblendete Elemente. Die Implementierung unterscheidet sich bei den einzelnen Anbietern. Weitere Informationen finden Sie unter about_Providers. Selbst mit dem Force-Parameter kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Gibt als Zeichenfolgenarray ein Element oder Elemente an, die dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den Path-Parameter. Geben Sie ein Path-Element oder -Muster ein, z *.txt. B. . Platzhalterzeichen sind zulässig. Der Include-Parameter ist nur wirksam, wenn der Befehl den Inhalt eines Elements enthält, z C:\Windows\*. B. , wobei das Wildcardzeichen den Inhalt des C:\Windows Verzeichnisses angibt.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Gibt einen Pfad zu einem oder mehreren Speicherorten an. Der Wert von LiteralPath wird genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Weitere Informationen finden Sie unter about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Gibt den Pfad zu einem Element an. Dieses Cmdlet ruft das Element am angegebenen Speicherort ab. Platzhalterzeichen sind zulässig. Dieser Parameter ist erforderlich, aber der Parametername Path ist optional.

Verwenden Sie einen Punkt (.), um die aktuelle Position anzugeben. Verwenden Sie das Wildcardzeichen (*), um alle Elemente am aktuellen Speicherort anzugeben.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-SSLServerAuthentication

Dies ist ein dynamischer Parameter, der vom Zertifikatanbieter zur Verfügung gestellt wird. Dieser Parameter und der Zertifikatanbieter sind nur unter Windows verfügbar.

Verwenden Sie den Server AuthenticationSSLServerAuthentication-Parameter, um Zertifikate abzurufen, die über den Eigenschaftswert EnhancedKeyUsageList verfügen.

Weitere Informationen finden Sie unter about_Certificate_Provider.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Stream

Dies ist ein dynamischer Parameter, der vom FileSystem-Anbieter zur Verfügung gestellt wird. Dieser Parameter ist nur unter Windows verfügbar.

Ruft den angegebenen alternativen Datenstrom aus der Datei ab. Geben Sie den Namen des Stroms ein. Platzhalter werden unterstützt. Um alle Streams abzurufen, verwenden Sie ein Sternchen (*). Dieser Parameter ist für Verzeichnisse gültig. Beachten Sie jedoch, dass Verzeichnisse standardmäßig keine Datenströme enthalten.

Dieser Parameter wurde in PowerShell 3.0 eingeführt. Ab PowerShell 7.2 Get-Item können alternative Datenströme aus Verzeichnissen und Dateien abgerufen werden.

Weitere Informationen finden Sie unter about_FileSystem_Provider.

Type:String[]
Position:Named
Default value:No alternate file streams
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Eingaben

String

Sie können eine Zeichenfolge, die einen Pfad enthält, an dieses Cmdlet übergeben.

Ausgaben

AliasInfo

Das Cmdlet gibt diesen Typ beim Zugriff auf das Alias: Laufwerk aus.

X509StoreLocation

X509Store

X509Certificate2

Das Cmdlet gibt diese Typen beim Zugriff auf das Cert: Laufwerk aus.

DictionaryEntry

Das Cmdlet gibt diesen Typ beim Zugriff auf das Env: Laufwerk aus.

DirectoryInfo

FileInfo

Das Cmdlet gibt diese Typen beim Zugriff auf die Dateisystemlaufwerke aus.

FunctionInfo

FilterInfo

Das Cmdlet gibt diese Typen beim Zugriff auf die Function: Laufwerke aus.

RegistryKey

Das Cmdlet gibt diesen Typ beim Zugriff auf die Registrierungslaufwerke aus.

PSVariable

Das Cmdlet gibt diesen Typ beim Zugriff auf die Variable: Laufwerke aus.

WSManConfigContainerElement

WSManConfigLeafElement

Das Cmdlet gibt diese Typen beim Zugriff auf die WSMan: Laufwerke aus.

Hinweise

PowerShell enthält die folgenden Aliase für Get-Item:

  • Alle Plattformen:
    • gi

Dieses Cmdlet verfügt nicht über einen Recurse-Parameter , da es nur ein Element und nicht dessen Inhalt abruft. Um den Inhalt eines Elements rekursiv abzurufen, verwenden Sie Get-ChildItem.

Um durch die Registrierung zu navigieren, verwenden Sie dieses Cmdlet zum Abrufen von Registrierungsschlüsseln und zum Abrufen von Get-ItemProperty Registrierungswerten und -daten. Die Registrierungswerte werden als Eigenschaften des Registrierungsschlüssels angesehen.

Dieses Cmdlet ist für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten, geben Sie ein Get-PsProvider. Weitere Informationen finden Sie unter about_Providers.