Get-Item
Obtém o item no local especificado.
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
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. Alguns parâmetros só estão disponíveis para um provedor específico. Para obter mais informações, consulte about_Providers.
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 somente o diretório, e não 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 arquivo 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 você 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*"
Exemplo 8: Obtendo informações de hardlink
No PowerShell 6.2, uma exibição alternativa foi adicionada para obter informações de hardlink. Para obter as informações de hardlink, direcione 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
em 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 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 são as permissões de arquivo representadas em um sistema Unix
- O usuário é o proprietário do arquivo
- Group é o proprietário do grupo
- Tamanho é o tamanho do arquivo ou diretório, conforme representado em um sistema Unix
Observação
Esse recurso foi movido de experimental para base no PowerShell 7.1.
Parâmetros
-CodeSigningCert
Esse é um parâmetro dinâmico disponibilizado pelo provedor de certificados . Esse parâmetro e o provedor de certificados 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Observação
Esse parâmetro não é compatível com nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DnsName
Esse é um parâmetro dinâmico disponibilizado pelo provedor de certificados . Esse parâmetro e o provedor de certificados 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 Punycode são convertidos para Unicode. Caracteres curinga (*
) são permitidos.
Esse parâmetro foi reintroduzido no PowerShell 7.1
Para obter mais informações, consulte about_Certificate_Provider.
Type: | DnsNameRepresentation |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-DocumentEncryptionCert
Esse é um parâmetro dinâmico disponibilizado pelo provedor de certificados . Esse parâmetro e o provedor de certificados 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Eku
Esse é um parâmetro dinâmico disponibilizado pelo provedor de certificados . Esse parâmetro e o provedor de certificados só estão disponíveis no Windows.
Especifica o texto ou um padrão de texto a ser correspondido com a 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.
Esse parâmetro foi reintroduzido no PowerShell 7.1
Para obter mais informações, consulte about_Certificate_Provider.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Exclude
Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui na operação. O valor deste 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 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 C:\Windows
diretório.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ExpiringInDays
Esse é um parâmetro dinâmico disponibilizado pelo provedor de certificados . Esse parâmetro e o provedor de certificados só estão disponíveis no Windows.
Especifica que o cmdlet só deve retornar certificados que estão expirando em ou antes do número especificado de dias. Um valor igual a 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 o filtro quando o cmdlet obtém os objetos em vez de fazer com que o PowerShell filtre os objetos após serem recuperados. A cadeia de caracteres de filtro é passada para a API do .NET para enumerar arquivos. A API dá suporte apenas a curingas *
e ?
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 provedor para provedor. Para obter mais informações, consulte about_Providers. Mesmo usando o parâmetro Force , o cmdlet não pode substituir as restrições de segurança.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet inclui na operação. O valor deste 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 C:\Windows
diretório.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere 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.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-SSLServerAuthentication
Esse é um parâmetro dinâmico disponibilizado pelo provedor de certificados . Esse parâmetro e o provedor de certificados só estão disponíveis no Windows.
Para obter certificados que têm Server Authentication
no valor da propriedade EnhancedKeyUsageList , use o parâmetro SSLServerAuthentication .
Para obter mais informações, consulte about_Certificate_Provider.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Stream
Esse é um parâmetro dinâmico disponibilizado pelo provedor 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
pode obter fluxos de dados alternativos de diretórios, bem como arquivos.
Para obter mais informações, 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
Você pode canalizar uma cadeia de caracteres que contém um caminho para esse cmdlet.
Saídas
O cmdlet gera esse tipo ao acessar a Alias:
unidade.
O cmdlet gera esses tipos ao acessar a Cert:
unidade.
O cmdlet gera esse tipo ao acessar a Env:
unidade.
O cmdlet gera esses tipos ao acessar as unidades do Sistema de Arquivos.
O cmdlet gera esses tipos ao acessar as Function:
unidades.
O cmdlet gera esse tipo ao acessar as unidades do Registro.
O cmdlet gera esse tipo ao acessar as Variable:
unidades.
O cmdlet gera esses tipos ao acessar as WSMan:
unidades.
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 propriedade da chave do registro.
Esse cmdlet foi projetado para funcionar 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.