What is PowerShell?
- 05/22/2020
- 5 minutos para ler
-
- j
- s
- s
PowerShell é um programa multi-plataforma de automação de tarefas de gerenciamento de configuração e estrutura, que consiste ofa shell de linha de comando e linguagem de script. Ao contrário da maioria dos shells, que aceitam e devolvem texto,o PowerShell é construído no topo do .NET Common Language Runtime (CLR), e aceita e retorna.Netobjets., Esta mudança fundamental traz ferramentas e métodos inteiramente novos para a automação.
a saída é baseada em objetos
Ao contrário das interfaces tradicionais da linha de comando, cmdlets PowerShell são projetados para lidar com objects.An objeto é informação estruturada que é mais do que apenas a cadeia de caracteres que aparecem no ecrã. A saída de comandos sempre traz informações extras que você pode usar se precisar.
Se você usou ferramentas de processamento de texto para processar dados no passado, você vai descobrir que eles behavediferently quando usado em PowerShell., Na maioria dos casos, você não precisa de ferramentas de processamento de texto para extrair informações específicas. Você acessar diretamente partes dos dados usando o PowerShell objectsyntax padrão.
a família de comandos é extensível
Interfaces tais comocmd.exe
não fornecem uma forma de estender directamente o conjunto de comandos incorporado. Você pode criar ferramentas externas de linha de comando que funcionam em cmd.exe
. Mas estas ferramentas externas não têm serviços, como a integração de Ajuda. cmd.exe
não sabe automaticamente que estas ferramentas externas são comandos válidos.,
os comandos em PowerShell são conhecidos como cmdlets. Você pode usar cada cmdlet separadamente, mas seu poder é percebido quando você os combina para executar tarefas complexas. Como muitas conchas, o PowerShell dá-te acesso ao sistema de ficheiros no computador. Os fornecedores de PowerShell permitem-lhe aceder a outras lojas de dados, como o registo e as lojas de certificados, tão facilmente como aceder ao sistema de ficheiros.
Você pode criar o seu próprio cmdlet e módulos de funções usando código compilado ou scripts. Módulos podem addcmdlets e provedores para a shell., PowerShell também suporta scripts que são análogos a unixshell scripts e cmd.exe
arquivos em lote.
Suporte para nomes alternativos de comandos
PowerShell suporta nomes alternativos para se referir a comandos com nomes alternativos. O alasing permite aos utilizadores com experiência noutras conchas usar nomes de comandos comuns que já conhecem para operações semelhantes em PowerShell.
Aliasing associa um novo nome a outro comando. Por exemplo, PowerShell tem uma função interna chamada Clear-Host
que limpa a janela de saída., Você pode digitar o cls
ouclear
alias em uma linha de comandos. PowerShell interpreta estes nomes alternativos e executa a funçãoClear-Host
.
Esta característica ajuda os usuários a aprender PowerShell. Em primeiro lugar, a maioria dos usuários do Unix têm um amplo espectro de comandos que os usuários já conhecem pelo nome. Os equivalentes PowerShell não podem produzir resultados qualitativos. No entanto, os resultados estão perto o suficiente para que os usuários possam fazer o trabalho sem conhecer o nome do comando theowershell., “Memória muscular” é outra grande fonte de frustração ao aprender uma nova concha. Se tiver usado cmd.exe
durante anos, poderá indicar reflexivamente o comando cls
para deslizar o ecrã. Sem o nome falso para Clear-Host
, você recebe uma mensagem de erro e não saberá o que fazer para limpar o resultado.
PowerShell lida com a entrada e visualização da consola
quando você digita um comando, a PowerShell processa sempre a entrada da linha de comandos directamente. O powershellal também Formata o resultado que você vê no ecrã., Esta diferença é significativa porque reduz o trabalho exigido a cada cmdlet. Ele garante que você pode sempre fazer as coisas da mesma forma com qualquer cmdlet. Os programadores do Cmdlet não precisam de escrever código para processar os argumentos da linha de comandos ou formatar o resultado.as ferramentas tradicionais da linha de comandos têm os seus próprios esquemas para solicitar e mostrar Ajuda. Somecommand ferramentas de linha de usar /?
para acionar o ecrã da Ajuda; outros, use -?
/H
, ou mesmo//
., Alguns irão mostrar Ajuda em uma janela GUI, em vez de na tela da consola. Se você usar o parâmetro wrong, a ferramenta pode ignorar o que você digitou e começar a executar uma tarefa automaticamente.Uma vez que o PowerShell analisa automaticamente e processa a linha de comando, o id
parâmetro alwaysmeans “mostra-me ajuda para este comando”.
Nota
Se executar uma aplicação gráfica em PowerShell, a janela para a aplicação abre.O PowerShell intervém apenas ao processar a entrada da linha de comandos que fornece ou a saída de Aplicação devolvida à janela da consola., Não afeta a forma como a aplicação funciona internamente.
PowerShell tem uma conduta
Pipelines são, sem dúvida, o conceito mais valioso usado em interfaces de linha de comando. Quando utilizados correctamente, os gasodutos reduzem o esforço de utilização de comandos complexos e facilitam a visualização do fluxo de trabalho. Cada comando em um pipeline passa sua saída, item por item, para o próximo comando. Os comandos não têm de lidar com mais do que um item de cada vez. O resultado é a redução do consumo de recursos e a capacidade de obter a produção imediatamente.,
a notação utilizada para condutas é semelhante à notação utilizada noutras conchas. À primeira vista, pode não ser evidente como os gasodutos são diferentes em termos de potência. Embora você veja texto na tela,pipes PowerShell objetos, não texto, entre comandos.,
Por exemplo, se você usar o Out-Host
cmdlet para forçar uma página-por-página de visualização de saída fromanother comando, a saída se parece exatamente como o normal do texto exibido na tela, dividida intopages:
Get-ChildItem | Out-Host -Paging
de Paginação também reduz a utilização da CPU porque o processamento de transferências para o Out-Host
cmdlet quando ithas uma página completa pronto para exibição. Os cmdlets que o precedem no pipeline pause executionun até que a próxima página de saída esteja disponível.,
objectos na conduta
quando executa um cmdlet em PowerShell, você vê o resultado do texto porque é necessário representar osobjects como texto numa janela de consola. A saída de texto pode não mostrar todas as propriedades do objeto sendo saída.
Por exemplo, considere o Get-Location
cmdlet. A saída do texto é um resumo da informação, não uma representação completa do objeto retornado por Get-Location
. O cabeçalho na saída é adicionado pelo processo que formata os dados para a visualização na tela.,
Get-Location
Path----C:\
direcionando a saída para o Get-Member
cmdlet exibe informações sobre o objeto retornado porGet-Location
.
Get-Location | Get-Member
Get-Location
devolve um objecto PathInfo que contém a localização actual e outras informações.
Built-in help system
Similar ao Unix man
pages, PowerShell inclui artigos de ajuda detalhados que explicam os conceitos de Powershell e a sintaxe de comandos., Use o ‘Get-Help’ cmdlet para mostrar estes artigos no comando Compt ou ver as versões mais recentes destes artigos na linha de documentação PowerShell.
para saber mais sobre PowerShell, veja a seção de PowerShell do aprendizado deste site.