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
Este exemplo obtém o diretório atual da unidade C:. O objeto recuperado representa apenas o diretório, não seu conteúdo.
Get-Item C:
Exemplo 4: Obter itens na drive 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, para que *.* não recupere 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 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 registo Microsoft.PowerShell. Você pode usar esse cmdlet com o provedor do Registro 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 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, 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 propriedade Mode 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 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 são as permissões de arquivo representadas em um sistema Unix
- User é o proprietário do ficheiro
- Grupo é o proprietário do grupo
- Tamanho é o tamanho do arquivo ou diretório representado em um sistema Unix
Observação
Esse recurso foi movido de experimental para mainstream no PowerShell 7.1.
Parâmetros
-CodeSigningCert
Este é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Este parâmetro e o provedor de de certificado só estão disponíveis no Windows.
Para obter certificados que têm Code Signing em seus EnhancedKeyUsageList valor da propriedade, use o CodeSigningCert parâmetro.
Para obter mais informações, consulte sobre o fornecedor de certificados.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Credential
Observação
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.
Propriedades dos parâmetros
| Tipo: | PSCredential |
| Default value: | Current user |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-DnsName
Este é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Este parâmetro e o provedor de de certificado só estão disponíveis no Windows.
Especifica um nome de domínio ou padrão de nome a ser correspondido à propriedade DNSNameList dos certificados que o cmdlet obtém. O valor deste parâmetro pode ser Unicode ou ASCII. Os valores Punycode são convertidos em Unicode. Caracteres coringa (*) são permitidos.
Este parâmetro foi reintroduzido no PowerShell 7.1
Para obter mais informações, consulte sobre o fornecedor de certificados.
Propriedades dos parâmetros
| Tipo: | DnsNameRepresentation |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-DocumentEncryptionCert
Este é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Este parâmetro e o provedor de de certificado só estão disponíveis no Windows.
Para obter certificados que possuem Document Encryption no valor da propriedade EnhancedKeyUsageList, use o parâmetro DocumentEncryptionCert.
Para obter mais informações, consulte sobre o fornecedor de certificados.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Eku
Este é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Este parâmetro e o provedor de de certificado 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 coringa (*) 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 sobre o fornecedor de certificados.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 coringa são permitidos. O parâmetro Exclude só é efetivo quando o comando inclui o conteúdo de um item, como C:\Windows\*, onde o caractere curinga especifica o conteúdo do diretório C:\Windows.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ExpiringInDays
Este é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Este parâmetro e o provedor de 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 sobre o fornecedor de certificados.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Filter
Especifica um filtro para qualificar o parâmetro Path. O provedor FileSystem é o único provedor do 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 os caracteres universais * e ?.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 fornecedor para fornecedor. Para obter mais informações, consulte about_Providers. Mesmo usando o parâmetro Force, o cmdlet não consegue ultrapassar restrições de segurança.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 coringa são permitidos. O parâmetro Include só é efetivo quando o comando inclui o conteúdo de um item, como C:\Windows\*, onde o caractere curinga especifica o conteúdo do diretório C:\Windows.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-LiteralPath
Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.
Para obter mais informações, consulte about_Quoting_Rules.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | PSPath, LP |
Conjuntos de parâmetros
LiteralPath
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Path
Especifica o caminho para um item. Este cmdlet obtém o item no local especificado. Caracteres coringa 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 dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
Path
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-SSLServerAuthentication
Este é um parâmetro dinâmico disponibilizado pelo provedor Certificate. Este parâmetro e o provedor de de certificado só estão disponíveis no Windows.
Para obter certificados que tenham Server Authentication no seu EnhancedKeyUsageList valor da propriedade, use o parâmetro SSLServerAuthentication.
Para obter mais informações, consulte sobre o fornecedor de certificados.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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. O uso de caracteres universais é suportado. 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.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | No alternate file streams |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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
Você pode encaminhar uma cadeia de caracteres que contenha um caminho para este cmdlet.
Saídas
AliasInfo
O cmdlet gera esse tipo ao acessar a unidade Alias:.
X509StoreLocation
X509Store
X509Certificate2
O cmdlet produz estes tipos ao aceder ao drive Cert:.
DictionaryEntry
O cmdlet gera esse tipo ao acessar a unidade Env:.
DirectoryInfo
FileInfo
O cmdlet gera esses tipos ao acessar as unidades FileSystem.
FunctionInfo
FilterInfo
O cmdlet produz saídas desses tipos ao acessar as unidades Function:.
RegistryKey
O cmdlet gera este tipo ao aceder aos drives do Registo.
PSVariable
O cmdlet gera este tipo de saída ao aceder às unidades Variable:.
WSManConfigContainerElement
WSManConfigLeafElement
O cmdlet produz saídas desses tipos ao acessar as unidades WSMan:.
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 Get-ItemProperty para obter valores e dados do 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.