Partager via


Get-Item

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

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

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. Certains paramètres sont disponibles uniquement pour un fournisseur spécifique. Pour plus d'informations, consultez about_Providers.

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 actif 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 du traditionnel *.*. Le format est interprété au sens littéral, de sorte que *.* ne récupère pas les répertoires ou les 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 qui ne commencent pas par w*. Cet exemple fonctionne uniquement lorsque le chemin d’accès 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 liaison matérielle. 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 physique par le 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 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 telles qu’elles sont 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.

Notes

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 certificat sont disponibles uniquement sur Windows.

Pour obtenir les 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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Notes

Ce paramètre n’est pris en charge par aucun fournisseur installé 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
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DnsName

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificat 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éintroduit dans PowerShell 7.1

Pour plus d’informations, consultez about_Certificate_Provider.

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

-DocumentEncryptionCert

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificat 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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Eku

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

Spécifie le 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éintroduit dans PowerShell 7.1

Pour plus d’informations, consultez about_Certificate_Provider.

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

-Exclude

Spécifie, en tant que tableau de chaînes, un ou plusieurs é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, tel que C:\Windows\*, où le caractère générique spécifie le contenu du C:\Windows répertoire.

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

-ExpiringInDays

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

Spécifie que l’applet de commande doit retourner uniquement les certificats qui expirent dans ou avant le nombre de jours spécifié. Une valeur égale à zéro (0) obtient les certificats qui ont expiré.

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

Pour plus d’informations, consultez about_Certificate_Provider.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 au lieu de faire filtrer les objets par PowerShell une fois qu’ils ont été récupérés. La chaîne de filtre est passée à l’API .NET pour énumérer les fichiers. L’API prend uniquement en charge * les caractères génériques et ? .

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

-Force

Indique que cette applet de commande obtient les éléments qui ne sont pas 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
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Spécifie, en tant que tableau de chaînes, un ou plusieurs éléments que cette applet de commande inclut 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, tel que C:\Windows\*, où le caractère générique spécifie le contenu du C:\Windows répertoire.

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

-LiteralPath

Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement telle qu’elle est tapé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 des séquences d’échappement.

Pour plus d’informations, consultez about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 de 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.

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

-SSLServerAuthentication

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de certificats . Ce paramètre et le fournisseur de certificat 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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 l’autre flux de données 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 peut 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
Default value:No alternate file streams
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Entrées

String

Vous pouvez diriger une chaîne qui contient un chemin vers 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 aux Function: 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 aux Variable: lecteurs.

WSManConfigContainerElement

WSManConfigLeafElement

L’applet de commande génère ces types lors de l’accès aux WSMan: 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, pas son contenu. Pour obtenir le contenu d’un élément de manière récursive, utilisez Get-ChildItem.

Pour naviguer dans le Registre, utilisez cette applet de commande pour obtenir les clés de Registre et pour obtenir les valeurs et les données du Get-ItemProperty 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.