Partager via


Get-Item

Obtient l’élément à l’emplacement spécifié.

Syntaxe

Path (Default) - FileSystem provider

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-Stream <string[]>]
    [<CommonParameters>]

LiteralPath - FileSystem provider

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-Stream <string[]>]
    [<CommonParameters>]

Path (Default) - Certificate provider

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-CodeSigningCert]
    [-DocumentEncryptionCert]
    [-SSLServerAuthentication]
    [-DnsName <string>]
    [-Eku <string[]>]
    [-ExpiringInDays <int>]
    [<CommonParameters>]

LiteralPath - Certificate provider

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-CodeSigningCert]
    [-DocumentEncryptionCert]
    [-SSLServerAuthentication]
    [-DnsName <string>]
    [-Eku <string[]>]
    [-ExpiringInDays <int>]
    [<CommonParameters>]

Path (Default) - All providers

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [<CommonParameters>]

LiteralPath - All providers

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [<CommonParameters>]

Description

L’applet de commande Get-Item obtient l’élément à l’emplacement spécifié. Il ne récupère pas le contenu de l'élément à l'emplacement spécifique, à moins que vous n'utilisiez 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 courant

Cet exemple illustre l’obtention du répertoire actuel. 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 l’ensemble du contenu de l’élément actuel.

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 actif du lecteur C:. L’objet récupéré représente uniquement le répertoire, et non son contenu.

Get-Item C:

Exemple 4 : Récupérer des éléments dans le lecteur spécifié

Cet exemple récupère les éléments du lecteur C:. 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 du *.*traditionnel. Le format est interprété littéralement, de sorte que *.* ne récupère 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 répertoire C:\Windows. LastAccessTime n’est qu’une seule 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 les clés et les sous-clés de Registre, mais vous devez utiliser l’applet de commande Get-ItemProperty pour obtenir les valeurs et 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 sur le lien dur

Dans PowerShell 6.2, une vue alternative a été ajoutée pour obtenir des informations de liaison physique. 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 propriété Mode identifie le lien dur à l'aide du l dans la---

Exemple 9 : Sortie pour les systèmes d’exploitation non-Windows

Dans PowerShell 7.1 sur les systèmes Unix, l’applet de commande Get-Item 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 sont les autorisations de fichier telles que représentées sur un système Unix
  • L'utilisateur est le propriétaire du fichier
  • groupe est le propriétaire du groupe
  • Taille correspond à 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 certificat . Ce paramètre et le fournisseur Certificate 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, veuillez consulter la section à propos du fournisseur de certificat.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:Current user
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-DnsName

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificat . Ce paramètre et le fournisseur Certificate sont disponibles uniquement sur Windows.

Spécifie un nom de domaine ou un modèle de nom correspondant à 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, veuillez consulter la section à propos du fournisseur de certificat.

Propriétés du paramètre

Type:DnsNameRepresentation
Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DocumentEncryptionCert

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificat . Ce paramètre et le fournisseur Certificate 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, veuillez consulter la section à propos du fournisseur de certificat.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Eku

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificat . Ce paramètre et le fournisseur Certificate 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 l'EKU.

Ce paramètre a été réintroduite dans PowerShell 7.1

Pour plus d’informations, veuillez consulter la section à propos du fournisseur de certificat.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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 de chemin ou un modèle, tel que *.txt. Les caractères génériques sont autorisés. Le paramètre Exclure est efficace uniquement lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*, où le caractère générique spécifie le contenu du répertoire C:\Windows.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ExpiringInDays

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificat . Ce paramètre et le fournisseur Certificate 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é. Une valeur de zéro (0) récupère les certificats qui ont expiré.

Ce paramètre a été réintroduite dans PowerShell 7.1

Pour plus d’informations, veuillez consulter la section à propos du fournisseur de certificat.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 les caractères génériques * et ?.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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 varie du fournisseur au fournisseur. Pour plus d’informations, voir about_Providers. Même en utilisant le paramètre Force, le cmdlet ne peut pas remplacer les restrictions de sécurité.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 de chemin ou un modèle, tel que *.txt. Les caractères génériques sont autorisés. Le paramètre Include n’est effectif que lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*, où le caractère générique spécifie le contenu du répertoire C:\Windows.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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 la section sur les règles de citation.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:PSPath, DP

Jeux de paramètres

LiteralPath
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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 nom du paramètre Path 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.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

Path
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-SSLServerAuthentication

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificat . Ce paramètre et le fournisseur Certificate 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, veuillez consulter la section à propos du fournisseur de certificat.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 pouvez obtenir d’autres flux de données à partir de répertoires et de fichiers.

Pour plus d’informations, consultez about_FileSystem_Provider.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:No alternate file streams
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

String

Vous pouvez acheminer une chaîne contenant un chemin vers cette applet de commande.

Sorties

AliasInfo

La cmdlet produit ce type de sortie lorsqu'elle accède au lecteur Alias:.

X509StoreLocation

X509Store

X509Certificate2

La cmdlet produit ce type de sortie lorsqu'elle accède au lecteur Cert:.

DictionaryEntry

La cmdlet produit ce type de sortie lorsqu'elle accède au lecteur Env:.

DirectoryInfo

FileInfo

L’applet de commande génère ces types lors de l’accès aux lecteurs FileSystem.

FunctionInfo

FilterInfo

La cmdlet affiche ces types lors de l'accès aux lecteurs Function:.

RegistryKey

La cmdlet affiche ce type lors de l'accès aux lecteurs Registry.

PSVariable

L'applet de commande produit ce type de sortie lors de l'accès aux lecteurs Variable:.

WSManConfigContainerElement

WSManConfigLeafElement

La cmdlet affiche ces types lors de l'accès aux lecteurs WSMan:.

Notes

PowerShell inclut les alias suivants pour Get-Item:

  • Toutes les plateformes :
    • gi

Cette applet de commande n’utilise 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 les clés de Registre et les Get-ItemProperty pour obtenir des valeurs et des données de Registre. Les valeurs de Registre sont considérées comme des propriétés de la clé 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, voir about_Providers.