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 las claves del Registro y las 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 de vínculo físico, 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 de en .l
la---
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 ahora forman parte de la salida son:
- UnixMode es los permisos de archivo representados en un sistema Unix.
- El usuario es el propietario del archivo
- El grupo es el propietario del grupo
- Size 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
Se trata de 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 tienen 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
Se trata de 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
Se trata de 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
Se trata de 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 para que coincida 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 una 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
Se trata de 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 los 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 acceder 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 una 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 caracteres 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
Se trata de 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 tienen 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 disponible por el proveedor FileSystem . 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
Puede canalizar una cadena que contiene una ruta de acceso a este cmdlet.
Salidas
El cmdlet genera este tipo al acceder a la Alias:
unidad.
El cmdlet genera estos tipos al acceder a la Cert:
unidad.
El cmdlet genera este tipo al acceder a la Env:
unidad.
El cmdlet genera estos tipos al acceder a las unidades del sistema de archivos.
El cmdlet genera estos tipos al acceder a las Function:
unidades.
El cmdlet genera este tipo al acceder a las unidades del Registro.
El cmdlet genera este tipo al acceder a las Variable:
unidades.
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 las claves del Registro y para Get-ItemProperty
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.