Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este apêndice fornece respostas concisas às perguntas de revisão encontradas no final de cada capítulo. Usa-o para validar a tua compreensão e reforçar conceitos-chave.
Capítulo 1 - Introdução ao PowerShell
- Usa a
$PSVersionTablevariável automática. - Só quando precisas de contornar o Controlo de Conta de Utilizador (UAC) para tarefas que requerem elevação no computador local.
- A política de execução padrão nos sistemas clientes Windows é
Restricted, que impede a execução de scripts. - Use
Get-ExecutionPolicypara determinar a política de execução atual. - Use
Set-ExecutionPolicy(por exemplo,Set-ExecutionPolicy -ExecutionPolicy RemoteSigned).
Capítulo 2 - O sistema de Ajuda
- Não. O parâmetro DisplayName de
Get-Serviceé nomeado, não posicional. -
Get-Processtem seis conjuntos de parâmetros. - Utilize
Get-Command -Noun EventLog. - Utilize
Get-Process -Name powershell. - Execute o
Update-Help(elevado como administrador no Windows PowerShell) para descarregar e instalar o conteúdo de ajuda mais recente.
Capítulo 3 - Descobrindo objetos, propriedades e métodos
-
Get-Processproduz umSystem.Diagnostics.Processobjeto. - Canalize o comando para
Get-Member. - Verifique se o objeto tem um método que executa a ação.
- Use o parâmetro do comando
PassThru, se houver. - Execute o comando uma vez e armazene os resultados numa variável para evitar gerar repetidamente grandes quantidades de saída durante a prototipagem.
Capítulo 4 - One-Liners e o gasoduto
- Um one-liner PowerShell é um único pipeline contínuo, independentemente do número de linhas físicas que abrange.
- Quebras naturais de linha podem ocorrer em caracteres como a barra vertical (
|), a vírgula (,), os colchetes ([ ]), as chavetas ({ }) e os parênteses (( )). - Deves aplicar o filtro à esquerda para melhorar o desempenho e a eficiência, reduzindo a quantidade de dados que passam pelo pipeline.
- Um comando pode aceitar entrada de pipeline por valor (por tipo) ou pelo nome da propriedade.
- Como a maior parte do conteúdo na Galeria do PowerShell é contribuído pela comunidade e pode não ser avaliado, deve ser revisto e testado antes de ser utilizado.
Capítulo 5 - Formatação, aliases, fornecedores, comparação
- Porque os cmdlets de formatação produzem objetos de formatação, que interrompem o pipeline e não podem ser utilizados pela maioria dos outros comandos.
- Usa
Get-Alias -Name %para determinar o verdadeiro cmdlet. - Porque os pseudónimos reduzem a legibilidade e portabilidade, tornando os scripts mais difíceis de compreender para outros.
- Use
Get-ChildItem -Path HKLM:\, HKCU:\para listar chaves de registo em ambas as colmeias. - O
-replaceoperador é insensível a maiúsculas minúsculas por defeito, enquanto o.Replace()método é sensível a maiúsculas.
Capítulo 6 - Controlo do fluxo
-
ForEach-ObjectProcessa os itens um de cada vez do pipeline (streaming), enquanto a instruçãoforeachprocessa itens de uma coleção carregada na memória. - Um ciclo avalia a sua condição antes de ser executado, pelo que pode nem sequer ser executado se a condição for falsa, ao contrário de
whileedo while, que executamdo untilpelo menos uma vez. -
breaksai completamente do ciclo, enquantocontinuesalta a iteração atual e segue para a seguinte.
Capítulo 7 - Trabalhando com WMI
- Os cmdlets WMI (por exemplo,
Get-WmiObject) são mais antigos e usam DCOM, enquanto os cmdlets CIM (por exemplo,Get-CimInstance) são mais recentes e usam WSMan por defeito. - WSMan (Gestão Remota Windows).
- As sessões CIM permitem a reutilização de ligações, suportam credenciais alternativas, melhoram o desempenho e simplificam a gestão de múltiplas ligações remotas.
- Crie uma opção de sessão com
New-CimSessionOption, por exemplo, para usar DCOM, e passe paraNew-CimSession, depois use essa sessão comGet-CimInstance. - Utilize
Remove-CimSession.
Capítulo 8 - Remotização do PowerShell
- Utilize
Enable-PSRemoting. - Utilize
Enter-PSSession. - Permite usar uma sessão persistente em vez de especificar o nome do computador e as credenciais em cada comando.
- Sim, pode usar uma sessão PowerShell (PSSession) num cenário de interatividade remota um a um.
- Os cmdlets executados localmente retornam objetos vivos com métodos, enquanto comandos remotos retornam objetos deserializados sem métodos.
Capítulo 9 - Funções
- Utilize
Get-Verb. - Adicione o
[CmdletBinding()]atributo à função. - Quando a função faz alterações ao estado do sistema ou executa ações potencialmente impactantes.
- Especifique
-ErrorAction Stop. - Para documentar como usar a função para que você e outros possam compreendê-la facilmente e aceder a ajuda com
Get-Help.
Capítulo 10 - Módulos de script
- Cria um
.psm1ficheiro e coloca nele as tuas funções. - Usar verbos aprovados garante consistência, evita avisos e melhora a descoberta.
- Utilize
New-ModuleManifest. - Use
Export-ModuleMemberno.psm1ficheiro ou especifique funções noFunctionsToExportcampo do.psd1ficheiro. - O módulo deve estar numa pasta com o mesmo nome do módulo, localizada num caminho listado em
$env:PSModulePath, e conter o ficheiro do módulo apropriado (.psm1ou manifesto).
Notas Finais
- Estas respostas são intencionalmente concisas para reforçar conceitos-chave.
- Revisite os capítulos para uma compreensão mais profunda.
Colabore connosco no GitHub
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.