Compartilhar via


Get-Item

Obtém o item no local especificado.

Sintaxe

Path (Default) - FileSystem provider

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-Stream <string[]>]
    [<CommonParameters>]

LiteralPath - FileSystem provider

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-Stream <string[]>]
    [<CommonParameters>]

Path (Default) - Certificate provider

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-CodeSigningCert]
    [-DocumentEncryptionCert]
    [-SSLServerAuthentication]
    [-DnsName <string>]
    [-Eku <string[]>]
    [-ExpiringInDays <int>]
    [<CommonParameters>]

LiteralPath - Certificate provider

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-CodeSigningCert]
    [-DocumentEncryptionCert]
    [-SSLServerAuthentication]
    [-DnsName <string>]
    [-Eku <string[]>]
    [-ExpiringInDays <int>]
    [<CommonParameters>]

Path (Default) - All providers

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [<CommonParameters>]

LiteralPath - All providers

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [<CommonParameters>]

Description

O cmdlet Get-Item 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 de disco

Este exemplo obtém o diretório atual do drive C:. 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 unidade C:. 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, de modo que *.* não recuperaria diretórios ou nomes de arquivo sem um ponto.

Exemplo 5: Obter uma propriedade no diretório especificado

Este exemplo obtém a propriedade LastAccessTime do diretório C:\Windows. 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 de 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 cmdlet Get-ItemProperty 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 tenham 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, uma exibição alternativa foi adicionada para obter informações de hardlink. Para obter as informações de hardlink, redirecione 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 propriedade Mode identifica o hardlink por meio do l em la---

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

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

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, conforme representadas em um sistema Unix
  • user é o proprietário do arquivo
  • Group é o proprietário do grupo
  • Size é o tamanho do arquivo ou diretório, conforme representado em um sistema Unix

Observação

Esse recurso foi movido do experimental para o mainstream no PowerShell 7.1.

Parâmetros

-CodeSigningCert

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

Para obter uma lista dos certificados que têm Code Signing no valor de propriedade EnhancedKeyUsageList, use o parâmetro CodeSigningCert.

Para obter mais informações, consulte about_Certificate_Provider.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Credential

Observação

Esse parâmetro não é compatível com nenhum provedor instalado com o PowerShell. Para executar este cmdlet em nome de outro usuário ou elevar suas credenciais, use Invoke-Command.

Propriedades do parâmetro

Tipo:PSCredential
Valor padrão:Current user
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-DnsName

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

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

Esse parâmetro foi reintroduzido no PowerShell 7.1

Para obter mais informações, consulte about_Certificate_Provider.

Propriedades do parâmetro

Tipo:DnsNameRepresentation
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DocumentEncryptionCert

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

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

Para obter mais informações, consulte about_Certificate_Provider.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Eku

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

Especifica um texto ou padrão de texto para corresponder à propriedade EnhancedKeyUsageList de 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.

Esse parâmetro foi reintroduzido no PowerShell 7.1

Para obter mais informações, consulte about_Certificate_Provider.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-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 Excluir só é eficaz quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ExpiringInDays

Esse é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Esse 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.

Esse parâmetro foi reintroduzido no PowerShell 7.1

Para obter mais informações, consulte about_Certificate_Provider.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Filter

Especifica um filtro para qualificar o parâmetro Path. O provedor FileSystem é o único provedor do PowerShell instalado que dá 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 ter o PowerShell filtrar os objetos depois que eles são recuperados. A cadeia de caracteres de filtro é passada para a API do .NET para enumerar arquivos. A API só dá suporte a caracteres curingas * e ?.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-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 provedor para provedor. Para obter mais informações, consulte about_Providers. Mesmo usando o parâmetro Force, o cmdlet não consegue superar as restrições de segurança.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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ó é eficaz quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LiteralPath

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

Para mais informações, consulte sobre_Regras_de_Citação.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

LiteralPath
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Path

Especifica o caminho para um item. Esse cmdlet obtém o item no local especificado. Caracteres curinga são permitidos. Esse 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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

Path
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-SSLServerAuthentication

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

Para obter uma lista dos certificados que têm Server Authentication no valor de propriedade EnhancedKeyUsageList, use o parâmetro SSLServerAuthentication.

Para obter mais informações, consulte about_Certificate_Provider.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Stream

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

Obtém o fluxo de dados alternativo especificado do arquivo. Insira o nome do fluxo. Há suporte para caracteres curinga. 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 podem obter fluxos de dados alternativos de diretórios, bem como arquivos.

Para obter mais informações, consulte about_FileSystem_Provider.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:No alternate file streams
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

String

É possível direcionar uma cadeia de caracteres que contém um caminho para este cmdlet.

Saídas

AliasInfo

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

X509StoreLocation

X509Store

X509Certificate2

O cmdlet exibe esses tipos de dados ao acessar a unidade Cert:.

DictionaryEntry

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

DirectoryInfo

FileInfo

O cmdlet gera esses tipos ao acessar as unidades do FileSystem.

FunctionInfo

FilterInfo

O cmdlet gera esses tipos quando acessa as unidades Function:.

RegistryKey

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

PSVariable

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

WSManConfigContainerElement

WSManConfigLeafElement

O cmdlet gera esses tipos quando acessa as unidades WSMan:.

Observações

O PowerShell inclui os seguintes aliases para Get-Item:

  • Todas as plataformas:
    • gi

Esse cmdlet não tem um parâmetro Recurse, pois 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 esse cmdlet para obter chaves do Registro e o Get-ItemProperty para obter valores e dados do Registro. Os valores do Registro são considerados propriedades da chave do Registro.

Esse cmdlet foi projetado para funcionar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis na sessão, digite Get-PSProvider. Para obter mais informações, consulte about_Providers.