Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Em um experimento projetado para avaliar a proficiência no PowerShell, dois grupos distintos de profissionais de TI — iniciantes e especialistas — receberam primeiro um exame escrito sem acesso a um computador. Surpreendentemente, as pontuações de teste indicaram habilidades comparáveis em ambos os grupos. Um teste subsequente foi então administrado, espelhando o primeiro, mas com uma diferença fundamental: os participantes tinham acesso a um computador offline equipado com o PowerShell. Os resultados revelaram uma diferença significativa de habilidades entre os dois grupos desta vez.
Quais fatores contribuíram para os resultados observados entre as duas avaliações?
Especialistas nem sempre sabem as respostas, mas sabem como descobrir as respostas.
Os resultados observados nos resultados dos dois testes foram porque os especialistas não memorizam milhares de comandos do PowerShell. Em vez disso, eles se destacam em usar o sistema de Ajuda no PowerShell, permitindo que eles descubram e aprendam a usar comandos quando necessário.
Tornar-se proficiente com o sistema de Ajuda é a chave para o sucesso com o PowerShell.
Ouvi jeffrey Snover, o criador do PowerShell, compartilhar uma história semelhante em várias ocasiões.
Detectabilidade
Os comandos compilados no PowerShell são conhecidos como cmdlets, pronunciados como "command-let", não "CMD-let". A convenção de nomenclatura para cmdlets segue um formato singular de verbo-substantivo para torná-los facilmente detectáveis. Por exemplo, Get-Process é o cmdlet para determinar quais processos estão em execução e Get-Service é o cmdlet para recuperar uma lista de serviços. As funções, também conhecidas como cmdlets de script e aliases, são outros tipos de comandos do PowerShell que são discutidos posteriormente neste livro. O termo "comando do PowerShell" descreve qualquer comando no PowerShell, independentemente de ser um cmdlet, uma função ou um alias.
Você também pode executar comandos nativos do sistema operacional do PowerShell, como programas de linha de comando tradicionais, como ping.exe e ipconfig.exe.
Os três cmdlets principais do PowerShell
Get-HelpGet-Command-
Get-Member(abordado no capítulo 3)
Muitas vezes me perguntam: "Como você descobre quais são os comandos no PowerShell?". Tanto Get-Help quanto Get-Command são recursos inestimáveis para descobrir e entender comandos no PowerShell.
Obter Ajuda
A primeira coisa que você precisa saber sobre o sistema de Ajuda no PowerShell é como usar o cmdlet Get-Help.
Get-Help é um comando multiuso que ajuda você a aprender a usar comandos depois de encontrá-los.
Você também pode usar Get-Help para localizar comandos, mas de uma maneira diferente e mais indireta quando comparado a Get-Command.
Ao usar Get-Help para localizar comandos, ele inicialmente executa uma pesquisa curinga por nomes de comando com base em sua entrada. Se isso não encontrar correspondências, ele realizará uma pesquisa abrangente de texto completo em todos os artigos de ajuda do PowerShell em seu sistema. Caso isso também não encontre resultados, ele retornará um erro.
Veja como usar Get-Help para exibir o conteúdo da ajuda do cmdlet Get-Help.
Get-Help -Name Get-Help
A partir da versão 3.0 do PowerShell, o conteúdo de ajuda não vem pré-instalado com o sistema operacional. Quando você executa Get-Help pela primeira vez, uma mensagem pergunta se você deseja baixar os arquivos de ajuda do PowerShell para seu computador.
Responder Sim pressionando Y executa o cmdlet Update-Help para baixar o conteúdo de ajuda.
Do you want to run Update-Help?
The Update-Help cmdlet downloads the most current Help files for Windows
PowerShell modules, and installs them on your computer. For more information
about the Update-Help cmdlet, see
https:/go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Se você não receber essa mensagem, execute Update-Help de uma sessão elevada do PowerShell executada como administrador.
Depois que a atualização for concluída, o artigo de ajuda será exibido.
Reserve um momento para executar o exemplo em seu computador, examinar a saída e observar como o sistema de ajuda organiza as informações.
- NOME
- SINOPSE
- SINTAXE
- DESCRIÇÃO
- LINKS RELACIONADOS
- COMENTÁRIOS
Ao examinar o resultado, tenha em mente que os artigos de ajuda geralmente contêm uma grande quantidade de informações, e o que aparece por padrão não é todo o artigo de ajuda.
Parâmetros
Ao executar um comando no PowerShell, talvez seja necessário fornecer informações adicionais ou entrada para o comando. Os parâmetros permitem especificar opções e argumentos que alteram o comportamento de um comando. A seção SYNTAX de cada artigo de ajuda descreve os parâmetros disponíveis para o comando.
Get-Help tem vários parâmetros que você pode especificar para retornar todo o artigo de ajuda ou um subconjunto para um comando. Para exibir todos os parâmetros disponíveis para Get-Help, consulte a seção SYNTAX de seu artigo de ajuda, conforme mostrado no exemplo a seguir.
...
SYNTAX
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Full]
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] -Detailed
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] -Examples
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] -Online [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] -Parameter <System.String> [-Path <System.String>]
[-Role <System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] [-Path <System.String>] [-Role <System.String[]>]
-ShowWindow [<CommonParameters>]
...
Conjuntos de parâmetros
Ao examinar a seção SYNTAX para Get-Help, observe que as informações parecem se repetir seis vezes. Cada um desses blocos é um conjunto de parâmetros individual, indicando que o cmdlet Get-Help apresenta seis conjuntos distintos de parâmetros. Uma visão mais detalhada revela que cada conjunto de parâmetros contém pelo menos um parâmetro exclusivo, tornando-o diferente dos outros.
Os conjuntos de parâmetros são mutuamente exclusivos. Depois de especificar um parâmetro exclusivo que existe apenas em um conjunto de parâmetros, o PowerShell limitará você a usar os parâmetros contidos nesse conjunto de parâmetros.
Por exemplo, você não pode usar os parâmetros Completo e Detalhados de Get-Help juntos, pois pertencem a conjuntos de parâmetros diferentes.
Cada um dos parâmetros a seguir pertence a um conjunto de parâmetros diferente para o cmdlet Get-Help.
- Completo
- Detalhado
- Exemplos
- Online
- Parâmetro
- ShowWindow
A sintaxe de comando
Se você está começando a usar o PowerShell, compreender as informações enigmáticas — caracterizadas por colchetes e parênteses angulares — na seção SINTAXE pode parecer difícil. No entanto, aprender esses elementos de sintaxe é essencial para se tornar proficiente com o PowerShell. Quanto mais freqüentemente você usa o sistema de Ajuda do PowerShell, mais fácil fica lembrar de todas as nuances.
Exiba a sintaxe do cmdlet Get-EventLog.
Get-Help Get-EventLog
A saída abaixo mostra o trecho relevante do artigo de ajuda.
...
SYNTAX
Get-EventLog [-LogName] <System.String> [[-InstanceId]
<System.Int64[]>] [-After <System.DateTime>] [-AsBaseObject] [-Before
<System.DateTime>] [-ComputerName <System.String[]>] [-EntryType {Error
| Information | FailureAudit | SuccessAudit | Warning}] [-Index
<System.Int32[]>] [-Message <System.String>] [-Newest <System.Int32>]
[-Source <System.String[]>] [-UserName <System.String[]>]
[<CommonParameters>]
Get-EventLog [-AsString] [-ComputerName <System.String[]>] [-List]
[<CommonParameters>]
...
As informações de sintaxe incluem pares de colchetes ([]). Dependendo do uso, esses colchetes têm duas finalidades diferentes.
- Elementos entre colchetes são opcionais.
- Um conjunto vazio de colchetes seguindo um tipo de dados, como
<string[]>, indica que o parâmetro pode aceitar vários valores passados como uma matriz ou um objeto de coleção.
Parâmetros posicionais
Alguns cmdlets são projetados para aceitar parâmetros posicionais. Os parâmetros posicionais permitem que você forneça um valor sem especificar o nome do parâmetro. Ao usar um parâmetro posicionalmente, você deve especificar seu valor na posição correta na linha de comando. Você pode encontrar as informações posicionais de um parâmetro na seção PARAMETERS do artigo de ajuda de um comando. Quando você especifica explicitamente os nomes de parâmetro, pode usar os parâmetros em qualquer ordem.
Para o cmdlet Get-EventLog, o primeiro parâmetro no primeiro conjunto de parâmetros é LogName.
LogName está entre colchetes, indicando que é um parâmetro posicional.
Get-EventLog [-LogName] <System.String>
Como LogName é um parâmetro posicional, você pode especificá-lo por nome ou posição. De acordo com os colchetes angulares após o nome do parâmetro, o valor de LogName deve ser uma única cadeia de caracteres. A ausência de colchetes que incluem o nome do parâmetro e o tipo de dados indica que logName é um parâmetro necessário dentro desse conjunto de parâmetros específico.
O segundo parâmetro nesse conjunto de parâmetros é InstanceId. Tanto o nome do parâmetro quanto o tipo de dados estão totalmente entre colchetes, significando que InstanceId é um parâmetro opcional.
[[-InstanceId] <System.Int64[]>]
Além disso, InstanceId tem seu próprio par de colchetes, indicando que ele é um parâmetro posicional semelhante ao parâmetro LogName. Seguindo o tipo de dados, um conjunto vazio de colchetes implica que InstanceId pode aceitar vários valores.
Alternar parâmetros
Um parâmetro que não requer um valor é chamado de parâmetro switch. Você pode identificar facilmente parâmetros de comutador porque não existe um tipo de dado seguindo o nome do parâmetro. Quando você especifica um parâmetro de comutador, seu valor é true. Quando você não especifica um parâmetro de comutador, o valor é false.
O segundo conjunto de parâmetros inclui um parâmetro List, que é um parâmetro de comutador. Quando você especifica o parâmetro List, ele retorna uma lista de logs de eventos no computador local.
[-List]
Uma abordagem simplificada para sintaxe
Há um método mais amigável para obter as mesmas informações que a sintaxe de comando enigmática, mas apresentadas de forma clara em inglês simples. O PowerShell retorna o artigo de ajuda completo ao usar Get-Help com o parâmetro Full, facilitando a compreensão do uso de um comando.
Get-Help -Name Get-Help -Full
Reserve um momento para executar o exemplo em seu computador, examinar a saída e observar como o sistema de ajuda organiza as informações.
- NOME
- SINOPSE
- SINTAXE
- DESCRIÇÃO
- PARÂMETROS
- ENTRADAS
- SAÍDAS
- ANOTAÇÕES
- EXEMPLOS
- LINKS RELACIONADOS
Ao especificar o parâmetro Full com o cmdlet Get-Help, a saída inclui várias seções extras. Entre essas seções, PARAMETERS geralmente fornece uma explicação detalhada para cada parâmetro. No entanto, a extensão dessas informações varia dependendo do comando específico que você está investigando.
...
-Detailed <System.Management.Automation.SwitchParameter>
Adds parameter descriptions and examples to the basic help display.
This parameter is effective only when the help files are installed
on the computer. It has no effect on displays of conceptual ( About_
) help.
Required? true
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
-Examples <System.Management.Automation.SwitchParameter>
Displays only the name, synopsis, and examples. This parameter is
effective only when the help files are installed on the computer. It
has no effect on displays of conceptual ( About_ ) help.
Required? true
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
-Full <System.Management.Automation.SwitchParameter>
Displays the entire help article for a cmdlet. Full includes
parameter descriptions and attributes, examples, input and output
object types, and additional notes.
This parameter is effective only when the help files are installed
on the computer. It has no effect on displays of conceptual ( About_
) help.
Required? false
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
...
Quando você executou o comando anterior para exibir a ajuda do comando Get-Help, provavelmente notou que a saída passou rápido demais para ler.
Se você estiver usando o console do PowerShell, o Terminal do Windows ou o VS Code e precisar exibir um artigo de ajuda, a função help poderá ser útil. Ele redireciona a saída de Get-Help para more.com, exibindo uma página de conteúdo de ajuda de cada vez. É recomendável usar a função help em vez do cmdlet Get-Help porque ele fornece uma melhor experiência do usuário e é menos para digitar.
Observação
O ISE não dá suporte ao uso de more.com, portanto, executar help funciona da mesma maneira que Get-Help.
Execute cada um dos comandos a seguir no PowerShell em seu computador.
Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full
Você observou alguma variação na saída quando executou os comandos anteriores?
No exemplo anterior, a primeira linha usa o cmdlet Get-Help, a segunda usa a função help e a terceira linha omite o parâmetro Nome ao usar a função help. Como Name é um parâmetro posicional, o terceiro exemplo aproveita sua posição em vez de indicar explicitamente o nome do parâmetro.
A diferença é que os dois últimos comandos exibem a saída uma página de cada vez. Ao usar a função help, pressione a barra de espaços para exibir a próxima página de conteúdo ou Q para encerrar. Se você precisar encerrar qualquer comando em execução interativamente no PowerShell, pressione Ctrl+C.
Para localizar rapidamente informações sobre um parâmetro específico, use o parâmetro . Essa abordagem retorna conteúdo que contém apenas as informações específicas do parâmetro, em vez de todo o artigo de ajuda. Essa é a maneira mais fácil de encontrar informações sobre um parâmetro específico.
O exemplo a seguir usa a função help com o parâmetro Parameter para retornar informações do artigo de ajuda do parâmetro Name de Get-Help.
help Get-Help -Parameter Name
As informações de ajuda mostram que o parâmetro Name é posicional e deve ser especificado na primeira posição (posição zero) quando usado posicionalmente.
-Name <System.String>
Gets help about the specified command or concept. Enter the name of a
cmdlet, function, provider, script, or workflow, such as `Get-Member`,
a conceptual article name, such as `about_Objects`, or an alias, such
as `ls`. Wildcard characters are permitted in cmdlet and provider
names, but you can't use wildcard characters to find the names of
function help and script help articles.
To get help for a script that isn't located in a path that's listed in
the `$env:Path` environment variable, type the script's path and file
name.
If you enter the exact name of a help article, `Get-Help` displays the
article contents.
If you enter a word or word pattern that appears in several help
article titles, `Get-Help` displays a list of the matching titles.
If you enter any text that doesn't match any help article titles,
`Get-Help` displays a list of articles that include that text in their
contents.
The names of conceptual articles, such as `about_Objects`, must be
entered in English, even in non-English versions of PowerShell.
Required? false
Position? 0
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
O parâmetro Name espera um valor de cadeia de caracteres, conforme identificado pelo tipo de dados <String> ao lado do nome do parâmetro.
Há vários outros parâmetros que você pode especificar com Get-Help para retornar um subconjunto de um artigo de ajuda. Para ver como eles funcionam, execute os comandos a seguir em seu computador.
Get-Help -Name Get-Command -Full
Get-Help -Name Get-Command -Detailed
Get-Help -Name Get-Command -Examples
Get-Help -Name Get-Command -Online
Get-Help -Name Get-Command -Parameter Noun
Get-Help -Name Get-Command -ShowWindow
Normalmente, use help <command name> com o parâmetro Full ou Online. Se você tiver apenas interesse nos exemplos, use o parâmetro Exemplos. Se você tiver apenas interesse em um parâmetro específico, use o parâmetro Parameter.
Quando você usa o parâmetro ShowWindow, ele exibe o conteúdo da ajuda em uma janela pesquisável separada. Você pode mover essa janela para um monitor diferente se tiver vários monitores. No entanto, o parâmetro ShowWindow tem um bug conhecido que pode impedi-lo de exibir todo o artigo de ajuda. O parâmetro ShowWindow também requer um sistema operacional com uma GUI (Interface Gráfica do Usuário). Ele retorna um erro quando você tenta usá-lo no Windows Server Core.
Se você tiver acesso à internet, poderá usar o parâmetro Online. O parâmetro Online abre o artigo de ajuda no navegador da Web padrão. O conteúdo online é o conteúdo mais atualizado. O navegador permite que você pesquise o conteúdo da ajuda e exiba outros artigos de ajuda relacionados.
Observação
Não há suporte para o parâmetro Online para artigos Sobre.
help Get-Command -Online
Localizando comandos com Get-Help
Para encontrar comandos com Get-Help, especifique um termo de pesquisa cercado por asteriscos (*) como caracteres curinga para o valor do parâmetro Name. O exemplo a seguir usa o parâmetro Name posicionalmente.
help *process*
Name Category Module Synops
---- -------- ------ ------
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Con...
Exit-PSHostProcess Cmdlet Microsoft.PowerShell.Core Clo...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core Get...
Debug-Process Cmdlet Microsoft.PowerShell.M... Deb...
Get-Process Cmdlet Microsoft.PowerShell.M... Get...
Start-Process Cmdlet Microsoft.PowerShell.M... Sta...
Stop-Process Cmdlet Microsoft.PowerShell.M... Sto...
Wait-Process Cmdlet Microsoft.PowerShell.M... Wai...
Invoke-LapsPolicyProcessing Cmdlet LAPS Inv...
ConvertTo-ProcessMitigationPolicy Cmdlet ProcessMitigations Con...
Get-ProcessMitigation Cmdlet ProcessMitigations Get...
Set-ProcessMitigation Cmdlet ProcessMitigations Set...
Nesse cenário, você não precisa adicionar os caracteres curinga *. Se Get-Help não conseguir encontrar um comando que corresponda ao valor fornecido, ele fará uma pesquisa de texto completo para esse valor. O exemplo a seguir produz os mesmos resultados que especificar o caractere curinga * nas duas extremidades de process.
help process
Quando você especifica um caractere curinga dentro do valor, Get-Help pesquisa apenas os comandos que correspondem ao padrão fornecido. Ele não executa uma pesquisa de texto completo. O comando a seguir não retorna nenhum resultado.
help pr*cess
O PowerShell gerará um erro se você especificar um valor que começa com um traço sem colocá-lo entre aspas porque ele o interpreta como um nome de parâmetro. Não existe nenhum nome de parâmetro para o cmdlet Get-Help.
help -process
Se você estiver tentando pesquisar comandos que terminam com -process, adicione um * ao início do valor.
help *-process
Quando você procura comandos do PowerShell com Get-Help, é melhor ser vago em vez de muito específico.
Quando você pesquisou process anteriormente, os resultados retornaram apenas comandos que incluíam process em seu nome. Mas se você procurar processes, ele não encontrará correspondências para nomes de comando. Como indicado anteriormente, quando a ajuda não encontra correspondências, ela executa uma pesquisa abrangente de texto completo de cada artigo de ajuda em seu sistema e retorna esses resultados. Esse tipo de pesquisa geralmente produz mais resultados do que o esperado, incluindo informações não relevantes para você.
help processes
Name Category Module Synops
---- -------- ------ ------
Disconnect-PSSession Cmdlet Microsoft.PowerShell.Core Dis...
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Con...
ForEach-Object Cmdlet Microsoft.PowerShell.Core Per...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core Get...
Get-PSSessionConfiguration Cmdlet Microsoft.PowerShell.Core Get...
New-PSSessionOption Cmdlet Microsoft.PowerShell.Core Cre...
New-PSTransportOption Cmdlet Microsoft.PowerShell.Core Cre...
Out-Host Cmdlet Microsoft.PowerShell.Core Sen...
Start-Job Cmdlet Microsoft.PowerShell.Core Sta...
Where-Object Cmdlet Microsoft.PowerShell.Core Sel...
Debug-Process Cmdlet Microsoft.PowerShell.M... Deb...
Get-Process Cmdlet Microsoft.PowerShell.M... Get...
Get-WmiObject Cmdlet Microsoft.PowerShell.M... Get...
Start-Process Cmdlet Microsoft.PowerShell.M... Sta...
Stop-Process Cmdlet Microsoft.PowerShell.M... Sto...
Wait-Process Cmdlet Microsoft.PowerShell.M... Wai...
Clear-Variable Cmdlet Microsoft.PowerShell.U... Del...
Convert-String Cmdlet Microsoft.PowerShell.U... For...
ConvertFrom-Csv Cmdlet Microsoft.PowerShell.U... Con...
ConvertFrom-Json Cmdlet Microsoft.PowerShell.U... Con...
ConvertTo-Html Cmdlet Microsoft.PowerShell.U... Con...
ConvertTo-Xml Cmdlet Microsoft.PowerShell.U... Cre...
Debug-Runspace Cmdlet Microsoft.PowerShell.U... Sta...
Export-Csv Cmdlet Microsoft.PowerShell.U... Con...
Export-FormatData Cmdlet Microsoft.PowerShell.U... Sav...
Format-List Cmdlet Microsoft.PowerShell.U... For...
Format-Table Cmdlet Microsoft.PowerShell.U... For...
Get-Unique Cmdlet Microsoft.PowerShell.U... Ret...
Group-Object Cmdlet Microsoft.PowerShell.U... Gro...
Import-Clixml Cmdlet Microsoft.PowerShell.U... Imp...
Import-Csv Cmdlet Microsoft.PowerShell.U... Cre...
Measure-Object Cmdlet Microsoft.PowerShell.U... Cal...
Out-File Cmdlet Microsoft.PowerShell.U... Sen...
Out-GridView Cmdlet Microsoft.PowerShell.U... Sen...
Select-Object Cmdlet Microsoft.PowerShell.U... Sel...
Set-Variable Cmdlet Microsoft.PowerShell.U... Set...
Sort-Object Cmdlet Microsoft.PowerShell.U... Sor...
Tee-Object Cmdlet Microsoft.PowerShell.U... Sav...
Trace-Command Cmdlet Microsoft.PowerShell.U... Con...
Write-Information Cmdlet Microsoft.PowerShell.U... Spe...
Export-BinaryMiLog Cmdlet CimCmdlets Cre...
Get-CimAssociatedInstance Cmdlet CimCmdlets Ret...
Get-CimInstance Cmdlet CimCmdlets Get...
Import-BinaryMiLog Cmdlet CimCmdlets Use...
Invoke-CimMethod Cmdlet CimCmdlets Inv...
New-CimInstance Cmdlet CimCmdlets Cre...
Remove-CimInstance Cmdlet CimCmdlets Rem...
Set-CimInstance Cmdlet CimCmdlets Mod...
Compress-Archive Function Microsoft.PowerShell.A... Cre...
Get-Counter Cmdlet Microsoft.PowerShell.D... Get...
Invoke-WSManAction Cmdlet Microsoft.WSMan.Manage... Inv...
Remove-WSManInstance Cmdlet Microsoft.WSMan.Manage... Del...
Get-WSManInstance Cmdlet Microsoft.WSMan.Manage... Dis...
New-WSManInstance Cmdlet Microsoft.WSMan.Manage... Cre...
Set-WSManInstance Cmdlet Microsoft.WSMan.Manage... Mod...
about_Arithmetic_Operators HelpFile
about_Arrays HelpFile
about_Environment_Variables HelpFile
about_Execution_Policies HelpFile
about_Functions HelpFile
about_Jobs HelpFile
about_Logging HelpFile
about_Methods HelpFile
about_Objects HelpFile
about_Pipelines HelpFile
about_Preference_Variables HelpFile
about_Remote HelpFile
about_Remote_Jobs HelpFile
about_Session_Configuration_Files HelpFile
about_Simplified_Syntax HelpFile
about_Switch HelpFile
about_Variables HelpFile
about_Variable_Provider HelpFile
about_Windows_PowerShell_5.1 HelpFile
about_WQL HelpFile
about_WS-Management_Cmdlets HelpFile
about_Foreach-Parallel HelpFile
about_Parallel HelpFile
about_Sequence HelpFile
Quando você pesquisou process, ele retornou 12 resultados. No entanto, ao pesquisar processes, produziu 78 resultados. Se a pesquisa encontrar apenas uma correspondência, Get-Help exibirá o conteúdo da ajuda em vez de listar os resultados da pesquisa.
help *hotfix*
NAME
Get-HotFix
SYNOPSIS
Gets the hotfixes that are installed on local or remote computers.
SYNTAX
Get-HotFix [-ComputerName <System.String[]>] [-Credential
<System.Management.Automation.PSCredential>] [-Description
<System.String[]>] [<CommonParameters>]
Get-HotFix [[-Id] <System.String[]>] [-ComputerName <System.String[]>]
[-Credential <System.Management.Automation.PSCredential>]
[<CommonParameters>]
DESCRIPTION
> This cmdlet is only available on the Windows platform. The
`Get-HotFix` cmdlet uses the Win32_QuickFixEngineering WMI class to
list hotfixes that are installed on the local computer or specified
remote computers.
RELATED LINKS
Online Version: https://learn.microsoft.com/powershell/module/microsoft.
powershell.management/get-hotfix?view=powershell-5.1&WT.mc_id=ps-gethelp
about_Arrays
Add-Content
Get-ComputerRestorePoint
Get-Credential
Win32_QuickFixEngineering class
REMARKS
To see the examples, type: "Get-Help Get-HotFix -Examples".
For more information, type: "Get-Help Get-HotFix -Detailed".
For technical information, type: "Get-Help Get-HotFix -Full".
For online help, type: "Get-Help Get-HotFix -Online"
Você também pode encontrar comandos que não têm artigos de ajuda com Get-Help, embora essa funcionalidade não seja comumente conhecida. A função more é um dos comandos que não tem um artigo de ajuda. Para confirmar se você pode encontrar comandos com Get-Help que não incluem artigos de ajuda, use a função help para localizar more.
help *more*
A pesquisa encontrou apenas uma correspondência, portanto, retornou as informações básicas de sintaxe que você vê quando um comando não tem um artigo de ajuda.
NAME
more
SYNTAX
more [[-paths] <string[]>]
ALIASES
None
REMARKS
None
O sistema de ajuda do PowerShell também contém artigos de ajuda conceitual Sobre. Você deve atualizar o conteúdo da ajuda em seu sistema para obter os artigos Sobre. Para obter mais informações, consulte a seção Atualização de ajuda deste capítulo.
Use o comando a seguir para retornar uma lista de todos os artigos de ajuda Sobre no seu sistema.
help About_*
Se você limita os resultados a um artigo de ajuda sobre, Get-Help exibe o conteúdo desse artigo.
help about_Updatable_Help
Atualizando a Ajuda
Anteriormente neste capítulo, você atualizou os artigos de ajuda do PowerShell em seu computador na primeira vez em que executou o cmdlet Get-Help. Você deve executar periodicamente o cmdlet Update-Help em seu computador para obter atualizações para o conteúdo da ajuda.
Importante
No Windows PowerShell 5.1, você deve executar Update-Help como administrador em uma sessão elevada do PowerShell.
No exemplo a seguir, Update-Help baixa o conteúdo de ajuda do PowerShell para todos os módulos instalados em seu computador. Você deve usar o parâmetro Force para garantir que você baixe a versão mais recente do conteúdo da ajuda.
Update-Help -Force
Conforme mostrado nos resultados a seguir, um módulo retornou um erro. Erros não são incomuns e geralmente ocorrem quando o autor do módulo não configura a ajuda atualizável corretamente.
Update-Help : Failed to update Help for the module(s) 'BitsTransfer' with UI
culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture
en-US. Make sure the HelpInfoUri property in the module manifest is valid or
check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Update-Help], Except
ion
+ FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShe
ll.Commands.UpdateHelpCommand
Update-Help requer acesso à Internet para baixar o conteúdo da ajuda. Se o computador não tiver acesso à Internet, use o cmdlet Save-Help em um computador com acesso à Internet para baixar e salvar o conteúdo de ajuda atualizado. Em seguida, use o parâmetro SourcePath de Update-Help para especificar o local do conteúdo de ajuda atualizado salvo.
Get-Command
Get-Command é outro comando multiuso que ajuda você a encontrar comandos. Quando você executa Get-Command sem parâmetros, ele retorna uma lista de todos os comandos do PowerShell em seu sistema.
Você também pode usar Get-Command para obter sintaxe de comando semelhante a Get-Help.
Como você determina a sintaxe para Get-Command? Você pode usar Get-Help para exibir o artigo de ajuda para Get-Command, conforme mostrado na seção Get-Help deste capítulo. Você também pode usar Get-Command com o parâmetro Syntax para exibir a sintaxe de qualquer comando. Esse atalho ajuda você a determinar rapidamente como usar um comando sem navegar pelo conteúdo de ajuda.
Get-Command -Name Get-Command -Syntax
Usar Get-Command com o parâmetro de sintaxe fornece uma exibição mais concisa da sintaxe que mostra os parâmetros e seus tipos de valor, sem listar os valores permitidos específicos, como mostra Get-Help.
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>]
[-Noun <string[]>] [-Module <string[]>]
[-FullyQualifiedModule <ModuleSpecification[]>] [-TotalCount <int>]
[-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax]
[-ShowCommandInfo] [-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [<CommonParameters>]
Se você precisar de informações mais detalhadas sobre como usar um comando, use Get-Help.
help Get-Command -Full
A seção SYNTAX de Get-Help fornece uma exibição mais amigável expandindo valores enumerados para parâmetros. Ele mostra os valores reais que você pode usar, facilitando a compreensão das opções disponíveis.
...
Get-Command [[-Name] <System.String[]>] [[-ArgumentList]
<System.Object[]>] [-All] [-CommandType {Alias | Function | Filter |
Cmdlet | ExternalScript | Application | Script | Workflow |
Configuration | All}] [-FullyQualifiedModule
<Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
[-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule
<Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
[-Module <System.String[]>] [-Noun <System.String[]>] [-ParameterName
<System.String[]>] [-ParameterType
<System.Management.Automation.PSTypeName[]>] [-ShowCommandInfo]
[-Syntax] [-TotalCount <System.Int32>] [-Verb <System.String[]>]
[<CommonParameters>]
...
A seção PARÂMETROS da ajuda para Get-Command revela que os parâmetros Nome, Substantivoe Verbo aceitam caracteres curinga.
...
-Name <System.String[]>
Specifies an array of names. This cmdlet gets only commands that
have the specified name. Enter a name or name pattern. Wildcard
characters are permitted.
To get commands that have the same name, use the All parameter. When
two commands have the same name, by default, `Get-Command` gets the
command that runs when you type the command name.
Required? false
Position? 0
Default value None
Accept pipeline input? True (ByPropertyName, ByValue)
Accept wildcard characters? true
-Noun <System.String[]>
Specifies an array of command nouns. This cmdlet gets commands,
which include cmdlets, functions, and aliases, that have names that
include the specified noun. Enter one or more nouns or noun
patterns. Wildcard characters are permitted.
Required? false
Position? named
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
-Verb <System.String[]>
Specifies an array of command verbs. This cmdlet gets commands,
which include cmdlets, functions, and aliases, that have names that
include the specified verb. Enter one or more verbs or verb
patterns. Wildcard characters are permitted.
Required? false
Position? named
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
...
O exemplo a seguir usa o caractere curinga * com o valor do parâmetro Name de Get-Command.
Get-Command -Name *service*
Quando você usa caracteres curinga com o parâmetro Name de Get-Command, ele retorna comandos do PowerShell e comandos nativos, conforme mostrado nos resultados a seguir.
CommandType Name Version
----------- ---- -------
Function Get-NetFirewallServiceFilter 2.0.0.0
Function Set-NetFirewallServiceFilter 2.0.0.0
Cmdlet Get-Service 3.1.0.0
Cmdlet New-Service 3.1.0.0
Cmdlet New-WebServiceProxy 3.1.0.0
Cmdlet Restart-Service 3.1.0.0
Cmdlet Resume-Service 3.1.0.0
Cmdlet Set-Service 3.1.0.0
Cmdlet Start-Service 3.1.0.0
Cmdlet Stop-Service 3.1.0.0
Cmdlet Suspend-Service 3.1.0.0
Application SecurityHealthService.exe 10.0.2...
Application SensorDataService.exe 10.0.2...
Application services.exe 10.0.2...
Application services.msc 0.0.0.0
Application TieringEngineService.exe 10.0.2...
Application Windows.WARP.JITService.exe 10.0.2...
Você pode limitar os resultados de Get-Command a comandos do PowerShell usando o parâmetro commandType.
Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script
Outra opção pode ser usar o parâmetro verbo ou substantivo ou ambos, já que apenas os comandos do PowerShell têm verbos e substantivos.
O exemplo a seguir usa Get-Command para localizar comandos em seu computador que funcionam com processos.
Use o parâmetro Noun e especifique Process como valor.
Get-Command -Noun Process
CommandType Name Version
----------- ---- -------
Cmdlet Debug-Process 3.1.0.0
Cmdlet Get-Process 3.1.0.0
Cmdlet Start-Process 3.1.0.0
Cmdlet Stop-Process 3.1.0.0
Cmdlet Wait-Process 3.1.0.0
Resumo
Neste capítulo, você aprendeu a encontrar comandos com Get-Help e Get-Command. Você também aprendeu a usar o sistema de ajuda para entender como usar comandos depois de encontrá-los. Além disso, você aprendeu a atualizar o sistema de ajuda em seu computador quando o novo conteúdo de ajuda estiver disponível.
Revisão
- O parâmetro DisplayName de
Get-Serviceé posicional? - Quantos conjuntos de parâmetros o cmdlet
Get-Processtem? - Quais comandos do PowerShell existem para trabalhar com logs de eventos?
- Qual é o comando do PowerShell para retornar uma lista de processos do PowerShell em execução em seu computador?
- Como você atualiza o conteúdo da ajuda do PowerShell armazenado em seu computador?
Referências
Para saber mais sobre os conceitos abordados neste capítulo, leia os seguintes artigos de ajuda do PowerShell.
- Obter ajuda
- Comando GET
- Atualização-Ajuda
- Ajuda de Salvamento
- about_Updatable_Help
- sobre_Sintaxe_de_Comando
Próximas etapas
No próximo capítulo, você aprenderá sobre objetos, propriedades, métodos e o cmdlet Get-Member.