Get-Item
Obtient l'élément à l'emplacement spécifié.
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
L’applet Get-Item
de commande obtient l’élément à l’emplacement spécifié. Il n’obtient pas le contenu de l’élément à l’emplacement, sauf si vous utilisez un caractère générique (*
) pour demander tout le contenu de l’élément.
Cette applet de commande est utilisée par les fournisseurs PowerShell pour parcourir différents types de magasins de données.
Exemples
Exemple 1 : Obtenir le répertoire actif
Cet exemple obtient le répertoire actif. Le point ('.') représente l’élément à l’emplacement actuel (et non son contenu).
Get-Item .
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test
Exemple 2 : Obtenir tous les éléments du répertoire actif
Cet exemple obtient tous les éléments du répertoire actif. Le caractère générique (*
) représente tout le contenu de l’élément actif.
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
Exemple 3 : Obtenir le répertoire actuel d’un lecteur
Cet exemple obtient le répertoire actuel du C:
lecteur. L’objet récupéré représente uniquement le répertoire, pas son contenu.
Get-Item C:
Exemple 4 : Obtenir des éléments dans le lecteur spécifié
Cet exemple obtient les éléments du C:
lecteur. Le caractère générique (*
) représente tous les éléments du conteneur, pas seulement le conteneur.
Get-Item C:\*
Dans PowerShell, utilisez un seul astérisque (*
) pour obtenir le contenu, au lieu de l’astérisque traditionnel *.*
. Le format est interprété littéralement, donc *.*
ne récupérerait pas de répertoires ni de noms de fichiers sans point.
Exemple 5 : Obtenir une propriété dans le répertoire spécifié
Cet exemple obtient la propriété LastAccessTime du C:\Windows
répertoire. LastAccessTime n’est qu’une propriété des répertoires de système de fichiers. Pour afficher toutes les propriétés d’un répertoire, tapez (Get-Item <directory-name>) | Get-Member
.
(Get-Item C:\Windows).LastAccessTime
Exemple 6 : Afficher le contenu d’une clé de Registre
Cet exemple montre le contenu de la clé de Registre Microsoft.PowerShell . Vous pouvez utiliser cette applet de commande avec le fournisseur de Registre PowerShell pour obtenir des clés de Registre et des sous-clés de Registre, mais vous devez utiliser l’applet Get-ItemProperty
de commande pour obtenir les valeurs et les données du Registre.
Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\
Exemple 7 : Obtenir des éléments dans un répertoire qui ont une exclusion
Cet exemple obtient des éléments dans le répertoire Windows avec des noms qui incluent un point (.
), mais ne commencent pas par w*
. Cet exemple ne fonctionne que lorsque le chemin inclut un caractère générique (*
) pour spécifier le contenu de l’élément.
Get-Item C:\Windows\*.* -Exclude "w*"
Exemple 8 : Obtention d’informations de liaison matérielle
Dans PowerShell 6.2, une autre vue a été ajoutée pour obtenir des informations de lien dur. Pour obtenir les informations de liaison matérielle, dirigez la sortie vers 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 Mode
propriété identifie le lien dur par l’élément l
in la---
Exemple 9 : Sortie pour les systèmes d’exploitation non-Windows
Dans PowerShell 7.1 sur les systèmes Unix, l’applet Get-Item
de commande fournit une sortie de type Unix :
PS> Get-Item /Users
Directory: /
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
drwxr-xr-x root admin 12/20/2019 11:46 192 Users
Les nouvelles propriétés qui font désormais partie de la sortie sont les suivantes :
- UnixMode est les autorisations de fichier représentées sur un système Unix
- L’utilisateur est le propriétaire du fichier
- Le groupe est le propriétaire du groupe
- La taille est la taille du fichier ou du répertoire tel qu’il est représenté sur un système Unix
Remarque
Cette fonctionnalité a été déplacée d’expérimentale à standard dans PowerShell 7.1.
Paramètres
-CodeSigningCert
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificats sont disponibles uniquement sur Windows.
Pour obtenir des certificats qui ont Code Signing
dans leur valeur de propriété EnhancedKeyUsageList , utilisez le paramètre CodeSigningCert .
Pour plus d’informations, consultez about_Certificate_Provider.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
Remarque
Ce paramètre n’est pas pris en charge par les fournisseurs installés avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | Current user |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-DnsName
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificats sont disponibles uniquement sur Windows.
Spécifie un nom de domaine ou un modèle de nom à mettre en correspondance avec la propriété DNSNameList des certificats que l’applet de commande obtient. La valeur de ce paramètre peut être Unicode
ou ASCII
. Les valeurs Punycode sont converties en Unicode. Les caractères génériques (*
) sont autorisés.
Ce paramètre a été réintroduite dans PowerShell 7.1
Pour plus d’informations, consultez about_Certificate_Provider.
Type: | DnsNameRepresentation |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-DocumentEncryptionCert
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificats sont disponibles uniquement sur Windows.
Pour obtenir des certificats qui ont Document Encryption
dans leur valeur de propriété EnhancedKeyUsageList , utilisez le paramètre DocumentEncryptionCert .
Pour plus d’informations, consultez about_Certificate_Provider.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Eku
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificats sont disponibles uniquement sur Windows.
Spécifie du texte ou un modèle de texte à mettre en correspondance avec la propriété EnhancedKeyUsageList des certificats que l’applet de commande obtient. Les caractères génériques (*
) sont autorisés. La propriété EnhancedKeyUsageList contient le nom convivial et les champs OID de la référence EKU.
Ce paramètre a été réintroduite dans PowerShell 7.1
Pour plus d’informations, consultez about_Certificate_Provider.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-Exclude
Spécifie, en tant que tableau de chaînes, un élément ou des éléments que cette applet de commande exclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path . Entrez un élément ou un modèle de chemin d’accès, tel que *.txt
. Les caractères génériques sont autorisés. Le paramètre Exclude est effectif uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*
exemple, où le caractère générique spécifie le contenu du C:\Windows
répertoire.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-ExpiringInDays
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificats sont disponibles uniquement sur Windows.
Spécifie que l’applet de commande doit uniquement retourner des certificats arrivant à expiration ou avant le nombre de jours spécifié. La valeur zéro (0
) obtient les certificats qui ont expiré.
Ce paramètre a été réintroduite dans PowerShell 7.1
Pour plus d’informations, consultez about_Certificate_Provider.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Filter
Spécifie un filtre pour qualifier le paramètre Path . Le fournisseur FileSystem est le seul fournisseur PowerShell installé qui prend en charge les filtres. Les filtres sont plus efficaces que les autres paramètres. Le fournisseur applique un filtre lorsque l’applet de commande obtient les objets plutôt que d’avoir PowerShell à filtrer les objets après leur récupération. La chaîne de filtre est transmise à l’API .NET pour énumérer les fichiers. L’API prend uniquement en charge *
et ?
les caractères génériques.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-Force
Indique que cette applet de commande obtient des éléments qui ne peuvent pas être accessibles autrement, tels que les éléments masqués. L'implémentation est différente d'un fournisseur à l'autre. Pour plus d’informations, consultez about_Providers. Même à l’aide du paramètre Force , l’applet de commande ne peut pas remplacer les restrictions de sécurité.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Include
Spécifie, sous la forme d’un tableau de chaînes, un élément ou des éléments inclus dans l’opération. La valeur de ce paramètre qualifie le paramètre Path . Entrez un élément ou un modèle de chemin d’accès, tel que *.txt
. Les caractères génériques sont autorisés. Le paramètre Include est efficace uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*
exemple, où le caractère générique spécifie le contenu du C:\Windows
répertoire.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-LiteralPath
Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.
Pour plus d’informations, consultez about_Quoting_Rules.
Type: | String[] |
Alias: | PSPath, LP |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Path
Spécifie le chemin d’accès à un élément. Cette applet de commande obtient l’élément à l’emplacement spécifié. Les caractères génériques sont autorisés. Ce paramètre est obligatoire, mais le chemin d’accès au nom du paramètre est facultatif.
Utilisez un point (.
) pour spécifier l’emplacement actuel. Utilisez le caractère générique (*
) pour spécifier tous les éléments à l’emplacement actuel.
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-SSLServerAuthentication
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificats sont disponibles uniquement sur Windows.
Pour obtenir des certificats qui ont Server Authentication
dans leur valeur de propriété EnhancedKeyUsageList , utilisez le paramètre SSLServerAuthentication .
Pour plus d’informations, consultez about_Certificate_Provider.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Stream
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur FileSystem . Ce paramètre est disponible uniquement sur Windows.
Obtient le flux de données de remplacement spécifié à partir du fichier. Entrez le nom du flux. Les caractères génériques sont pris en charge. Pour obtenir tous les flux, utilisez un astérisque (*
). Ce paramètre est valide sur les répertoires, mais notez que les répertoires n’ont pas de flux de données par défaut.
Ce paramètre a été introduit dans PowerShell 3.0. À partir de PowerShell 7.2, Get-Item
vous pouvez obtenir d’autres flux de données à partir de répertoires et de fichiers.
Pour plus d’informations, consultez about_FileSystem_Provider.
Type: | String[] |
Position: | Named |
Valeur par défaut: | No alternate file streams |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
Entrées
Vous pouvez diriger une chaîne qui contient un chemin d’accès à cette applet de commande.
Sorties
L’applet de commande génère ce type lors de l’accès au Alias:
lecteur.
L’applet de commande génère ces types lors de l’accès au Cert:
lecteur.
L’applet de commande génère ce type lors de l’accès au Env:
lecteur.
L’applet de commande génère ces types lors de l’accès aux lecteurs du système de fichiers.
L’applet de commande génère ces types lors de l’accès Function:
aux lecteurs.
L’applet de commande génère ce type lors de l’accès aux lecteurs du Registre.
L’applet de commande génère ce type lors de l’accès Variable:
aux lecteurs.
L’applet de commande génère ces types lors de l’accès WSMan:
aux lecteurs.
Notes
PowerShell inclut les alias suivants pour Get-Item
:
- Toutes les plateformes :
gi
Cette applet de commande n’a pas de paramètre Recurse , car elle obtient uniquement un élément, et non son contenu.
Pour obtenir le contenu d’un élément de manière récursive, utilisez Get-ChildItem
.
Pour parcourir le Registre, utilisez cette applet de commande pour obtenir des clés de Registre et obtenir Get-ItemProperty
des valeurs et des données de Registre. Les valeurs de Registre sont considérées comme des propriétés des clés de Registre.
Cette applet de commande est conçue pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PsProvider
. Pour plus d’informations, consultez about_Providers.