Partilhar via


Get-Item

Obtém o item no local especificado.

Sintaxe

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

O Get-Item cmdlet obtém o item no local especificado. Ele não obtém o conteúdo do item no local, a menos que você use um caractere curinga (*) para solicitar todo o conteúdo do item.

Esse cmdlet é usado por provedores do PowerShell para navegar por diferentes tipos de armazenamentos de dados.

Exemplos

Exemplo 1: Obter o diretório atual

Este exemplo obtém o diretório atual. O ponto ('.') representa o item no local atual (não seu conteúdo).

Get-Item .

Directory: C:\

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

Exemplo 2: Obter todos os itens no diretório atual

Este exemplo obtém todos os itens no diretório atual. O caractere curinga (*) representa todo o conteúdo do item atual.

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

Exemplo 3: Obter o diretório atual de uma unidade

Este exemplo obtém o diretório atual da C: unidade. O objeto recuperado representa apenas o diretório, não seu conteúdo.

Get-Item C:

Exemplo 4: Obter itens na unidade especificada

Este exemplo obtém os itens na C: unidade. O caractere curinga (*) representa todos os itens no contêiner, não apenas o contêiner.

Get-Item C:\*

No PowerShell, use um único asterisco (*) para obter conteúdo, em vez do tradicional *.*. O formato é interpretado literalmente, portanto *.* , não recuperaria diretórios ou nomes de arquivos sem um ponto.

Exemplo 5: Obter uma propriedade no diretório especificado

Este exemplo obtém a propriedade LastAccessTime do C:\Windows diretório. LastAccessTime é apenas uma propriedade dos diretórios do sistema de arquivos. Para ver todas as propriedades de um diretório, digite (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

Exemplo 6: Mostrar o conteúdo de uma chave do Registro

Este exemplo mostra o conteúdo da chave do Registro Microsoft.PowerShell . Você pode usar esse cmdlet com o provedor do Registro do PowerShell para obter chaves e subchaves do Registro, mas deve usar o Get-ItemProperty cmdlet para obter os valores e os dados do Registro.

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

Exemplo 7: Obter itens em um diretório que têm uma exclusão

Este exemplo obtém itens no diretório do Windows com nomes que incluem um ponto (.), mas não começam com w*. Este exemplo funciona somente quando o caminho inclui um caractere curinga (*) para especificar o conteúdo do item.

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

No PowerShell 6.2, um modo de exibição alternativo foi adicionado para obter informações de hardlink. Para obter as informações de hardlink, canalize a saída para 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

A Mode propriedade identifica o hardlink pelo l in la---

Exemplo 9: Saída para sistemas operacionais não Windows

No PowerShell 7.1 em sistemas Unix, o Get-Item cmdlet fornece saída Unix-like:

PS> Get-Item /Users

Directory: /

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

As novas propriedades que agora fazem parte da saída são:

  • UnixMode é as permissões de arquivo representadas em um sistema Unix
  • O usuário é o proprietário do arquivo
  • O grupo é o proprietário do grupo
  • Tamanho é o tamanho do arquivo ou diretório representado em um sistema Unix

Nota

Esse recurso foi movido de experimental para mainstream no PowerShell 7.1.

Parâmetros

-CodeSigningCert

Este é um parâmetro dinâmico disponibilizado pelo provedor de certificado . Este parâmetro e o provedor de certificado só estão disponíveis no Windows.

Para obter certificados que têm Code Signing em seu valor de propriedade EnhancedKeyUsageList , use o parâmetro CodeSigningCert .

Para obter mais informações, consulte about_Certificate_Provider.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Credential

Nota

Esse parâmetro não é suportado por nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.

Tipo:PSCredential
Position:Named
Default value:Current user
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-DnsName

Este é um parâmetro dinâmico disponibilizado pelo provedor de certificado . Este parâmetro e o provedor de certificado só estão disponíveis no Windows.

Especifica um nome de domínio ou padrão de nome para corresponder à propriedade DNSNameList dos certificados que o cmdlet obtém. O valor desse parâmetro pode ser Unicode ou ASCII. Os valores Punycode são convertidos em Unicode. Caracteres curinga (*) são permitidos.

Este parâmetro foi reintroduzido no PowerShell 7.1

Para obter mais informações, consulte about_Certificate_Provider.

Tipo:DnsNameRepresentation
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-DocumentEncryptionCert

Este é um parâmetro dinâmico disponibilizado pelo provedor de certificado . Este parâmetro e o provedor de certificado só estão disponíveis no Windows.

Para obter certificados que tenham Document Encryption em seu valor de propriedade EnhancedKeyUsageList , use o parâmetro DocumentEncryptionCert .

Para obter mais informações, consulte about_Certificate_Provider.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Eku

Este é um parâmetro dinâmico disponibilizado pelo provedor de certificado . Este parâmetro e o provedor de certificado só estão disponíveis no Windows.

Especifica o texto ou um padrão de texto a ser correspondido à propriedade EnhancedKeyUsageList dos certificados que o cmdlet obtém. Caracteres curinga (*) são permitidos. A propriedade EnhancedKeyUsageList contém o nome amigável e os campos OID do EKU.

Este parâmetro foi reintroduzido no PowerShell 7.1

Para obter mais informações, consulte about_Certificate_Provider.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Exclude

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui na operação. O valor desse parâmetro qualifica o parâmetro Path . Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos. O parâmetro Exclude é efetivo somente quando o comando inclui o conteúdo de um item, como , onde C:\Windows\*o caractere curinga especifica o C:\Windows conteúdo do diretório.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-ExpiringInDays

Este é um parâmetro dinâmico disponibilizado pelo provedor de certificado . Este parâmetro e o provedor de certificado só estão disponíveis no Windows.

Especifica que o cmdlet só deve retornar certificados que estão expirando dentro ou antes do número especificado de dias. Um valor zero (0) obtém certificados que expiraram.

Este parâmetro foi reintroduzido no PowerShell 7.1

Para obter mais informações, consulte about_Certificate_Provider.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Filter

Especifica um filtro para qualificar o parâmetro Path . O provedor FileSystem é o único provedor PowerShell instalado que oferece suporte a filtros. Os filtros são mais eficientes do que outros parâmetros. O provedor aplica filtro quando o cmdlet obtém os objetos em vez de fazer com que o PowerShell filtre os objetos depois que eles são recuperados. A cadeia de caracteres de filtro é passada para a API .NET para enumerar arquivos. A API suporta * apenas e ? curingas.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Force

Indica que esse cmdlet obtém itens que não podem ser acessados de outra forma, como itens ocultos. A implementação varia de fornecedor para fornecedor. Para obter mais informações, consulte about_Providers. Mesmo usando o parâmetro Force , o cmdlet não pode substituir restrições de segurança.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Include

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet inclui na operação. O valor desse parâmetro qualifica o parâmetro Path . Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos. O parâmetro Include só é efetivo quando o comando inclui o conteúdo de um item, como , onde C:\Windows\*o caractere curinga especifica o C:\Windows conteúdo do diretório.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-LiteralPath

Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Para obter mais informações, consulte about_Quoting_Rules.

Tipo:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Path

Especifica o caminho para um item. Este cmdlet obtém o item no local especificado. Caracteres curinga são permitidos. Este parâmetro é necessário, mas o nome do parâmetro Path é opcional.

Use um ponto (.) para especificar o local atual. Use o caractere curinga (*) para especificar todos os itens no local atual.

Tipo:String[]
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

-SSLServerAuthentication

Este é um parâmetro dinâmico disponibilizado pelo provedor de certificado . Este parâmetro e o provedor de certificado só estão disponíveis no Windows.

Para obter certificados que tenham Server Authentication em seu valor de propriedade EnhancedKeyUsageList , use o parâmetro SSLServerAuthentication .

Para obter mais informações, consulte about_Certificate_Provider.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Stream

Este é um parâmetro dinâmico disponibilizado pelo provedor FileSystem. Este parâmetro só está disponível no Windows.

Obtém o fluxo de dados alternativo especificado do arquivo. Insira o nome do fluxo. Curingas são suportados. Para obter todos os fluxos, use um asterisco (*). Esse parâmetro é válido em diretórios, mas observe que os diretórios não têm fluxos de dados por padrão.

Esse parâmetro foi introduzido no PowerShell 3.0. A partir do PowerShell 7.2, Get-Item pode obter fluxos de dados alternativos de diretórios e arquivos.

Para obter mais informações, consulte about_FileSystem_Provider.

Tipo:String[]
Position:Named
Default value:No alternate file streams
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

Entradas

String

Você pode canalizar uma cadeia de caracteres que contenha um caminho para esse cmdlet.

Saídas

AliasInfo

O cmdlet gera esse tipo ao acessar a Alias: unidade.

X509StoreLocation

X509Store

X509Certificate2

O cmdlet gera esses tipos ao acessar a Cert: unidade.

DictionaryEntry

O cmdlet gera esse tipo ao acessar a Env: unidade.

DirectoryInfo

FileInfo

O cmdlet gera esses tipos ao acessar as unidades do sistema de arquivos.

FunctionInfo

FilterInfo

O cmdlet gera esses tipos ao acessar as Function: unidades.

RegistryKey

O cmdlet gera esse tipo ao acessar as unidades do Registro.

PSVariable

O cmdlet gera esse tipo ao acessar as Variable: unidades.

WSManConfigContainerElement

WSManConfigLeafElement

O cmdlet gera esses tipos ao acessar as WSMan: unidades.

Notas

O PowerShell inclui os seguintes aliases para Get-Item:

  • Todas as plataformas:
    • gi

Este cmdlet não tem um parâmetro Recurse , porque obtém apenas um item, não seu conteúdo. Para obter o conteúdo de um item recursivamente, use Get-ChildItem.

Para navegar pelo Registro, use este cmdlet para obter chaves do Registro e o para obter valores e dados do Get-ItemProperty Registro. Os valores do Registro são considerados propriedades da chave do Registro.

Este cmdlet foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite Get-PsProvider. Para obter mais informações, consulte about_Providers.