Get-Item
Obtiene el elemento en la ubicación especificada.
Sintaxis
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.
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 .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 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | Current user |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | DnsNameRepresentation |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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 ?
.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Alias: | PSPath, LP |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | No alternate file streams |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
Entradas
Puede canalizar una cadena que contenga 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 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.