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

String

Vous pouvez diriger une chaîne qui contient un chemin d’accès à cette applet de commande.

Sorties

AliasInfo

L’applet de commande génère ce type lors de l’accès au Alias: lecteur.

X509StoreLocation

X509Store

X509Certificate2

L’applet de commande génère ces types lors de l’accès au Cert: lecteur.

DictionaryEntry

L’applet de commande génère ce type lors de l’accès au Env: lecteur.

DirectoryInfo

FileInfo

L’applet de commande génère ces types lors de l’accès aux lecteurs du système de fichiers.

FunctionInfo

FilterInfo

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

RegistryKey

L’applet de commande génère ce type lors de l’accès aux lecteurs du Registre.

PSVariable

L’applet de commande génère ce type lors de l’accès Variable: aux lecteurs.

WSManConfigContainerElement

WSManConfigLeafElement

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.