Get-Item

Obtiene el elemento en la ubicación especificada.

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

El Get-Item cmdlet obtiene el elemento en la ubicación especificada. No obtiene el contenido del elemento en la ubicación a menos que use un carácter comodín (*) para solicitar todo el contenido del elemento.

Los proveedores de PowerShell usan este cmdlet para navegar por diferentes tipos de almacenes de datos. Algunos parámetros solo están disponibles para un proveedor específico. Para obtener más información, consulte about_Providers.

Ejemplos

Ejemplo 1: Obtener el directorio actual

En este ejemplo se obtiene el directorio actual. El punto ('.') representa el elemento en la ubicación actual (no su contenido).

Get-Item .

Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006  10:01 AM            ps-test

Ejemplo 2: Obtener todos los elementos del directorio actual

En este ejemplo se obtienen todos los elementos del directorio actual. El carácter comodín (*) representa todo el contenido del elemento actual.

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

Ejemplo 3: Obtener el directorio actual de una unidad

En este ejemplo se obtiene el directorio actual de la C: unidad. El objeto que se recupera representa sólo el directorio, no su contenido.

Get-Item C:

Ejemplo 4: Obtener elementos en la unidad especificada

En este ejemplo se obtienen los elementos de la C: unidad. El carácter comodín (*) representa todos los elementos del contenedor, no solo el contenedor.

Get-Item C:\*

En PowerShell, use un único asterisco (*) para obtener contenido, en lugar de la tradicional *.*. El formato se interpreta literalmente, por lo que *.* no recuperaría directorios ni nombres de archivo sin un punto.

Ejemplo 5: Obtener una propiedad en el directorio especificado

En este ejemplo se obtiene la propiedad LastAccessTime del C:\Windows directorio. LastAccessTime es solo una propiedad de los directorios del sistema de archivos. Para ver todas las propiedades de un directorio, escriba (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

Ejemplo 6: Mostrar el contenido de una clave del Registro

En este ejemplo se muestra el contenido de la clave del Registro Microsoft.PowerShell . Puede usar este cmdlet con el proveedor del Registro de PowerShell para obtener claves del Registro y subclaves, pero debe usar el Get-ItemProperty cmdlet para obtener los valores y los datos del Registro.

Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\

Ejemplo 7: Obtener elementos de un directorio que tienen una exclusión

En este ejemplo se obtienen elementos del directorio de Windows con nombres que incluyen un punto (.), pero no comienzan por w*. Este ejemplo solo funciona cuando la ruta de acceso incluye un carácter comodín (*) para especificar el contenido del elemento.

Get-Item C:\Windows\*.* -Exclude "w*"

Ejemplo 8: Obtención de información de vínculo físico

En PowerShell 6.2, se agregó una vista alternativa para obtener información de vínculo físico. Para obtener la información del vínculo de disco duro, canalice la salida a . 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 propiedad identifica el vínculo de disco duro por en .lla---

Ejemplo 9: Salida para sistemas operativos que no son Windows

En PowerShell 7.1 en sistemas Unix, el Get-Item cmdlet proporciona una salida similar a Unix:

PS> Get-Item /Users

Directory: /

UnixMode    User  Group   LastWriteTime      Size  Name
--------    ----  -----   -------------      ----  ----
drwxr-xr-x  root  admin   12/20/2019 11:46   192   Users

Las nuevas propiedades que forman parte de la salida son:

  • UnixMode es los permisos de archivo como se representan en un sistema Unix.
  • El usuario es el propietario del archivo
  • El grupo es el propietario del grupo
  • El tamaño es el tamaño del archivo o directorio tal como se representa en un sistema Unix.

Nota:

Esta característica se movió de la rama experimental a la estándar en PowerShell 7.1.

Parámetros

-CodeSigningCert

Este es un parámetro dinámico que el proveedor de certificados pone a disposición. Este parámetro y el proveedor de certificados solo están disponibles en Windows.

Para obtener certificados que tengan Code Signing en su valor de propiedad EnhancedKeyUsageList , use el parámetro CodeSigningCert .

Para obtener más información, consulte about_Certificate_Provider.

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

-Credential

Nota:

Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar las credenciales al ejecutar este cmdlet, use Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DnsName

Este es un parámetro dinámico que el proveedor de certificados pone a disposición. Este parámetro y el proveedor de certificados solo están disponibles en Windows.

Especifica un nombre de dominio o un patrón de nombre para que coincida con la propiedad DNSNameList de los certificados que obtiene el cmdlet. El valor de este parámetro puede ser Unicode o ASCII. Los valores Punycode se convierten a Unicode. Se permiten caracteres comodín (*).

Este parámetro se introdujo en PowerShell 7.1

Para obtener más información, consulte about_Certificate_Provider.

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

-DocumentEncryptionCert

Este es un parámetro dinámico que el proveedor de certificados pone a disposición. Este parámetro y el proveedor de certificados solo están disponibles en Windows.

Para obtener certificados que tengan Document Encryption en su valor de propiedad EnhancedKeyUsageList , use el parámetro DocumentEncryptionCert .

Para obtener más información, consulte about_Certificate_Provider.

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

-Eku

Este es un parámetro dinámico que el proveedor de certificados pone a disposición. Este parámetro y el proveedor de certificados solo están disponibles en Windows.

Especifica el texto o un patrón de texto que debe coincidir con la propiedad EnhancedKeyUsageList de los certificados que obtiene el cmdlet. Se permiten caracteres comodín (*). La propiedad EnhancedKeyUsageList contiene el nombre descriptivo y los campos OID de la EKU.

Este parámetro se introdujo en PowerShell 7.1

Para obtener más información, consulte about_Certificate_Provider.

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

-Exclude

Especifica, como matriz de cadenas, un elemento o elementos que este cmdlet excluye en la operación. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt. Se permite el uso de caracteres comodín. El parámetro Exclude solo es efectivo cuando el comando incluye el contenido de un elemento, como C:\Windows\*, donde el carácter comodín especifica el contenido del C:\Windows directorio.

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

-ExpiringInDays

Este es un parámetro dinámico que el proveedor de certificados pone a disposición. Este parámetro y el proveedor de certificados solo están disponibles en Windows.

Especifica que el cmdlet solo debe devolver certificados que expiran en o antes del número de días especificado. Un valor de cero (0) obtiene certificados que han expirado.

Este parámetro se introdujo en PowerShell 7.1

Para obtener más información, consulte about_Certificate_Provider.

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

-Filter

Especifica un filtro para calificar el parámetro Path . El proveedor FileSystem es el único proveedor de PowerShell instalado que admite filtros. Los filtros son más eficaces que otros parámetros. El proveedor aplica el filtro cuando el cmdlet obtiene los objetos en lugar de que PowerShell filtre los objetos una vez recuperados. La cadena de filtro se pasa a la API de .NET para enumerar los archivos. La API solo admite * caracteres comodín y ? .

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

-Force

Indica que este cmdlet obtiene elementos a los que no se puede tener acceso de otro modo, como elementos ocultos. La implementación varía en función del proveedor. Para obtener más información, consulte about_Providers. Incluso con el parámetro Force , el cmdlet no puede invalidar las restricciones de seguridad.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Especifica, como matriz de cadenas, un elemento o elementos que este cmdlet incluye en la operación. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt. Se permite el uso de caracteres comodín. El parámetro Include solo es efectivo cuando el comando incluye el contenido de un elemento, como C:\Windows\*, donde el carácter comodín especifica el contenido del C:\Windows directorio.

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

-LiteralPath

Especifica una ruta de acceso a una o varias ubicaciones. El valor de LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso contiene caracteres de escape, escríbalos entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Para obtener más información, consulte about_Quoting_Rules.

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

-Path

Especifica la ruta de acceso a un elemento. Este cmdlet obtiene el elemento en la ubicación especificada. Se permite el uso de caracteres comodín. Este parámetro es obligatorio, pero el nombre del parámetro Path es opcional.

Use un punto (.) para especificar la ubicación actual. Use el carácter comodín (*) para especificar todos los elementos de la ubicación actual.

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

-SSLServerAuthentication

Este es un parámetro dinámico que el proveedor de certificados pone a disposición. Este parámetro y el proveedor de certificados solo están disponibles en Windows.

Para obtener certificados que tengan Server Authentication en su valor de propiedad EnhancedKeyUsageList , use el parámetro SSLServerAuthentication .

Para obtener más información, consulte about_Certificate_Provider.

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

-Stream

Se trata de un parámetro dinámico que el proveedor FileSystem pone a disposición. Este parámetro solo está disponible en Windows.

Obtiene el flujo de datos alternativo especificado del archivo. Escriba el nombre de la secuencia. Se admite caracteres comodín. Para obtener todas las secuencias, use un asterisco (*). Este parámetro es válido en directorios, pero tenga en cuenta que los directorios no tienen flujos de datos de forma predeterminada.

Este parámetro se introdujo en PowerShell 3.0. A partir de PowerShell 7.2, Get-Item puede obtener flujos de datos alternativos de directorios, así como archivos.

Para obtener más información, consulte about_FileSystem_Provider.

Type:String[]
Position:Named
Default value:No alternate file streams
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Entradas

String

Puede canalizar una cadena que contenga una ruta de acceso a este cmdlet.

Salidas

AliasInfo

El cmdlet genera este tipo al acceder a la Alias: unidad.

X509StoreLocation

X509Store

X509Certificate2

El cmdlet genera estos tipos al acceder a la Cert: unidad.

DictionaryEntry

El cmdlet genera este tipo al acceder a la Env: unidad.

DirectoryInfo

FileInfo

El cmdlet genera estos tipos al acceder a las unidades del sistema de archivos.

FunctionInfo

FilterInfo

El cmdlet genera estos tipos al acceder a las Function: unidades.

RegistryKey

El cmdlet genera este tipo al acceder a las unidades del Registro.

PSVariable

El cmdlet genera este tipo al acceder a las Variable: unidades.

WSManConfigContainerElement

WSManConfigLeafElement

El cmdlet genera estos tipos al acceder a las WSMan: unidades.

Notas

PowerShell incluye los siguientes alias para Get-Item:

  • Todas las plataformas:
    • gi

Este cmdlet no tiene un parámetro Recurse , ya que solo obtiene un elemento, no su contenido. Para obtener el contenido de un elemento de forma recursiva, use Get-ChildItem.

Para navegar por el Registro, use este cmdlet para obtener claves del Registro y Get-ItemProperty para obtener los valores y los datos del Registro. Los valores del Registro se consideran propiedades de la clave del Registro.

Este cmdlet está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PsProvider. Para obtener más información, consulte about_Providers.