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.
Nota editorial
Importante
A Especificação da Linguagem do Windows PowerShell 3.0 foi publicada em dezembro de 2012 e é baseada no Windows PowerShell 3.0. Essa especificação não reflete o estado atual do PowerShell. Não há nenhum plano para atualizar essa documentação para refletir o estado atual. Esta documentação é apresentada aqui para referência histórica.
O documento de especificação está disponível como um documento do Microsoft Word do Centro de Download da Microsoft em: https://www.microsoft.com/download/details.aspx?id=36389 esse documento do Word foi convertido para apresentação aqui no Microsoft Learn. Durante a conversão, algumas alterações editoriais foram feitas para acomodar a formatação para a plataforma Docs. Alguns erros de digitação e pequenos foram corrigidos.
1. Introdução
O PowerShell é uma linha de comando shell e linguagem de script, projetada especialmente para administradores do sistema.
A maioria dos shells opera executando um comando ou utilitário em um novo processo e apresentando os resultados para o usuário como texto. Esses shells também possuem comandos incorporados ao shell que são executados no processo de shell. Como há poucos comandos internos, muitos utilitários foram criados para complementá-los. O PowerShell é muito diferente. Em vez de processar texto, o shell processa objetos. O PowerShell também inclui um grande conjunto de comandos internos com cada um com uma interface consistente e eles podem funcionar com comandos escritos pelo usuário.
Um objeto é uma entidade de dados que tem propriedades (ou seja, características) e métodos (ou seja, ações que podem ser executadas no objeto). Todos os objetos do mesmo tipo têm o mesmo conjunto base de propriedades e métodos, mas cada instância de um objeto pode ter valores de propriedade diferentes.
Uma grande vantagem do uso de objetos é que é muito mais fácil de canalizar comandos, ou seja, escrever a saída de um comando em outro comando como entrada. (Em um ambiente de linha de comando tradicional, a saída de texto de um comando precisa ser manipulada para atender ao formato de entrada de outro.)
O PowerShell inclui uma linguagem de script muito avançada que dá suporte a constructos para looping, condições, controle de fluxo e atribuição de variável. Essa linguagem tem recursos de sintaxe e palavras-chave semelhantes aos usados na linguagem de programação C# (§C.).
Há quatro tipos de comandos no PowerShell: scripts, funções e métodos, cmdlets e comandos nativos.
Um arquivo de comandos é chamado de script . Por convenção, um script tem uma extensão de nome de arquivo de .ps1. O nível mais alto de um programa do PowerShell é um script que, por sua vez, pode invocar outros comandos.
O PowerShell dá suporte à programação modular por meio de procedimentos nomeados. Um procedimento escrito no PowerShell é chamado de função, enquanto um procedimento externo disponibilizado pelo ambiente de execução (e normalmente escrito em algum outro idioma) é chamado de método .
Um cmdlet (pronuncia-se "command-let") é uma ferramenta de linha de comando simples e dedicada a uma única tarefa. Embora um cmdlet possa ser usado por conta própria, todo o poder dos cmdlets é realizado quando eles são usados em combinação para executar tarefas complexas.
Um comando nativo faz parte do ambiente do host.
Sempre que o ambiente de runtime do PowerShell começa a execução, ele dá início ao que é chamado de sessão. Em seguida, os comandos são executados no contexto dessa sessão.
Essa especificação define a linguagem do PowerShell, os cmdlets internos e o uso de objetos por meio do pipeline.
Ao contrário da maioria dos shells, que aceitam e retornam texto, o Windows PowerShell é criado com base no CLR (Common Language Runtime) do .NET Framework e no .NET Framework, e aceita e retorna objetos do .NET Framework.