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 an der angegebenen Position 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 Datentypen von Datenspeichern zu navigieren.
Beispiele
Beispiel 1: Abrufen des aktuellen Verzeichnisses
In diesem Beispiel wird das aktuelle Verzeichnis zurückgegeben. Der Punkt ('.') stellt das Element an der aktuellen Position (nicht dessen 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 abgerechnet. 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 abruft. Das abgerufene Objekt stellt nur das Verzeichnis dar, nicht dessen Inhalt.
Get-Item C:
Beispiel 4: Abrufen von Elementen im angegebenen Laufwerk
In diesem Beispiel werden die Elemente auf dem C:
Laufwerk angezeigt. Das Wildcardzeichen (*
) stellt alle Elemente im Container dar, nicht nur den Container.
Get-Item C:\*
Verwenden Sie in PowerShell ein einzelnes Sternchen (*
) zum Abrufen von Inhalten anstelle der herkömmlichen *.*
. Das Format wird buchstäblich interpretiert, sodass *.*
keine Verzeichnisse oder Dateinamen ohne punkt abgerufen werden.
Beispiel 5: Abrufen einer Eigenschaft im angegebenen Verzeichnis
In diesem Beispiel wird die LastAccessTime-Eigenschaft des C:\Windows
Verzeichnisses ab. LastAccessTime ist nur eine Eigenschaft von Dateisystemverzeichnissen. Geben Sie ein, (Get-Item <directory-name>) | Get-Member
um alle Eigenschaften eines Verzeichnisses anzuzeigen.
(Get-Item C:\Windows).LastAccessTime
Beispiel 6: Anzeigen des Inhalts eines Registrierungsschlüssels
Dieses Beispiel zeigt den Inhalt des Microsoft.PowerShell-Registrierungsschlüssels . 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 mit einem Ausschluss
In diesem Beispiel werden Elemente im Windows-Verzeichnis mit Namen, die einen Punkt (.
) enthalten, aber nicht beginnen. w*
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, führen 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 die Hardlinks durch das l
In la---
Beispiel 9: Ausgabe für Nicht-Windows-Betriebssysteme
In PowerShell 7.1 auf Unix-Systemen bietet das Get-Item
Cmdlet Unix-ähnliche Ausgabe:
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 Dateiberechtigungen, die auf einem Unix-System dargestellt werden
- Der Benutzer ist der Dateibesitzer.
- Gruppe ist der Gruppenbesitzer
- Größe ist die Größe der Datei oder des Verzeichnisses, wie auf einem Unix-System dargestellt
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 Code Signing
in ihrem EnhancedKeyUsageList-Eigenschaftswert enthalten sind.
Weitere Informationen finden Sie unter about_Certificate_Provider.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.
Typ: | PSCredential |
Position: | Named |
Standardwert: | Current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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 sein Unicode
oder ASCII
. Punycode-Werte werden in Unicode konvertiert. Wildcardzeichen (*
) sind zulässig.
Dieser Parameter wurde in PowerShell 7.1 erneut eingeführt.
Weitere Informationen finden Sie unter about_Certificate_Provider.
Typ: | DnsNameRepresentation |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 Parameter "DocumentEncryptionCert", um Zertifikate abzurufen, die Document Encryption
in ihrem EnhancedKeyUsageList-Eigenschaftswert enthalten sind.
Weitere Informationen finden Sie unter about_Certificate_Provider.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 erneut eingeführt.
Weitere Informationen finden Sie unter about_Certificate_Provider.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Exclude
Gibt als Zeichenfolgenarray ein Element oder Elemente an, das dieses Cmdlet im Vorgang ausschließt. Der Wert dieses Parameters qualifiziert den Path-Parameter . Geben Sie ein Pfadelement oder Einmuster ein, z *.txt
. B. . Platzhalterzeichen sind zulässig. Der Parameter Exclude ist nur wirksam, wenn der Befehl den Inhalt eines Elements enthält, z C:\Windows\*
. B. wenn das Wildcardzeichen den Inhalt des C:\Windows
Verzeichnisses angibt.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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. Ein Wert von Null (0
) ruft Zertifikate ab, die abgelaufen sind.
Dieser Parameter wurde in PowerShell 7.1 erneut eingeführt.
Weitere Informationen finden Sie unter about_Certificate_Provider.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 powerShell nach dem Abrufen der Objekte zu filtern. Die Filterzeichenfolge wird an die .NET-API übergeben, um Dateien aufzählen zu können. Die API unterstützt *
nur Und-Wildcards ?
.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 bei Verwendung des Parameters Force kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Include
Gibt als Zeichenfolgenarray ein Element oder elemente an, das dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den Path-Parameter . Geben Sie ein Pfadelement oder Einmuster 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. wenn das Wildcardzeichen den Inhalt des C:\Windows
Verzeichnisses angibt.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String[] |
Aliase: | PSPath, LP |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt den Pfad zu einem Element an. Dieses Cmdlet ruft das Element an der angegebenen Position ab. Platzhalterzeichen sind zulässig. Dieser Parameter ist erforderlich, der Parametername "Path " ist jedoch optional.
Verwenden Sie einen Punkt (.
), um die aktuelle Position anzugeben. Verwenden Sie das Wildcardzeichen (*
), um alle Elemente an der aktuellen Position anzugeben.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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 SSLServerAuthentication-Parameter, um Zertifikate abzurufen, die Server Authentication
in ihrem EnhancedKeyUsageList-Eigenschaftswert enthalten sind.
Weitere Informationen finden Sie unter about_Certificate_Provider.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 Datenströme 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.
Typ: | String[] |
Position: | Named |
Standardwert: | No alternate file streams |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
Eingaben
Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.
Ausgaben
Das Cmdlet gibt diesen Typ beim Zugriff auf das Alias:
Laufwerk aus.
Das Cmdlet gibt diese Typen beim Zugriff auf das Cert:
Laufwerk aus.
Das Cmdlet gibt diesen Typ beim Zugriff auf das Env:
Laufwerk aus.
Das Cmdlet gibt diese Typen aus, wenn sie auf die Dateisystemlaufwerke zugreifen.
Das Cmdlet gibt diese Typen beim Zugriff auf die Function:
Laufwerke aus.
Das Cmdlet gibt diesen Typ beim Zugriff auf die Registrierungslaufwerke aus.
Das Cmdlet gibt diesen Typ beim Zugriff auf die Variable:
Laufwerke aus.
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 abruft, nicht dessen Inhalt.
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 Get-ItemProperty
Abrufen von Registrierungswerten und -daten. Die Registrierungswerte werden als Eigenschaften des Registrierungsschlüssels angesehen.
Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können Get-PsProvider
. Weitere Informationen finden Sie unter about_Providers.