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 cmdlet Get-Item
obtiene el elemento en la ubicación especificada. No obtiene el contenido del elemento en la ubicación específica a menos que use un carácter comodín (*
) para solicitar todos los contenidos 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
Este ejemplo obtiene el directorio actual de la unidad C:
. El objeto que se recupera representa solo el directorio, no su contenido.
Get-Item C:
Ejemplo 4: Obtener elementos en la unidad de disco especificada
Este ejemplo obtiene los elementos de la unidad C:
. 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 directorio C:\Windows
. 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 de Microsoft.PowerShell. Puede usar este cmdlet con el proveedor del Registro de PowerShell para obtener claves del Registro y subclaves, pero debe usar el cmdlet Get-ItemProperty
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 sobre enlaces duros
En PowerShell 6.2, se agregó una vista alternativa para obtener información de vínculo físico. Para obtener la información del enlace 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 propiedad Mode
identifica el hardlink por el l
en la---
.
Ejemplo 9: Salida para sistemas operativos que no son Windows
En PowerShell 7.1 en sistemas Unix, el cmdlet Get-Item
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 son los permisos de archivo representados en un sistema Unix.
- usuario es el propietario del archivo
- grupo es el propietario del grupo
- Tamaño es el tamaño del archivo o directorio tal como se representa en un sistema Unix.
Nota
Esta característica se ha movido de experimental a estándar en PowerShell 7.1.
Parámetros
-CodeSigningCert
Se trata de un parámetro dinámico proporcionado por el proveedor del certificado . Este parámetro y el proveedor Certificate solo están disponibles en Windows.
Para obtener certificados que tengan Code Signing
en su valor de propiedad EnhancedKeyUsageList, utilice 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
Se trata de un parámetro dinámico disponible por el proveedor del Certificado . Este parámetro y el proveedor Certificate solo están disponibles en Windows.
Especifica un nombre de dominio o un patrón de nombres 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 en 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
Se trata de un parámetro dinámico puesto a disposición por el proveedor del Certificado . Este parámetro y el proveedor Certificate solo están disponibles en Windows.
Para obtener certificados que tengan Document Encryption
en su valor de propiedad EnhancedKeyUsageList, utilice 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
Se trata de un parámetro dinámico que el proveedor del Certificado pone a disposición. Este parámetro y el proveedor Certificate solo están disponibles en Windows.
Especifica un texto o un patrón de texto que debe coincidir con la propiedad de EnhancedKeyUsageList de los certificados que recupera el cmdlet. Se permiten caracteres comodín (*
). La propiedad EnhancedKeyUsageList contiene el nombre amigable y los campos OID del 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 al parámetro Path. Escriba un elemento o patrón de ruta, 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 directorio C:\Windows
.
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 proporcionado por el proveedor del Certificado . Este parámetro y el proveedor Certificate 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 de 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 de proveedor a 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 define el parámetro Path. Escriba un elemento de ruta de acceso o un patrón, 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 directorio C:\Windows
.
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 utiliza exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala 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 Ruta de acceso 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
Se trata de un parámetro dinámico facilitado por el proveedor del certificado . Este parámetro y el proveedor Certificate solo están disponibles en Windows.
Para obtener certificados que tengan Server Authentication
en su valor de propiedad EnhancedKeyUsageList, utilice 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 ofrece el proveedor del sistema de archivos 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 todos los flujos, 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, vea 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 contiene una ruta de acceso a este cmdlet.
Salidas
El cmdlet muestra este tipo cuando se accede a la unidad Alias:
.
El cmdlet genera estos tipos al acceder a la unidad Cert:
.
El cmdlet genera este tipo al acceder a la unidad de disco Env:
.
El cmdlet genera estos tipos al acceder a las unidades del sistema de archivos.
El cmdlet muestra este tipo cuando se accede a las unidades Function:
.
El cmdlet muestra este tipo cuando se accede a las unidades del Registro.
El cmdlet muestra este tipo al acceder a las unidades Variable:
.
El cmdlet muestra este tipo cuando se accede a las unidades WSMan:
.
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 el Get-ItemProperty
para obtener valores y 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.