Utilizar o Windows PowerShell
Embora as ferramentas de gerenciamento de GUI muitas vezes possam ser mais fáceis de usar do que as ferramentas de linha de comando, o gerente de departamento de TI da Contoso acredita que você pode realizar muitas tarefas administrativas mais rapidamente usando um script simples ou um único comando. Por exemplo, o processo de atualização das mesmas informações para várias contas de usuário usando Usuários e Computadores do Ative Directory pode ser demorado. No entanto, o uso do módulo Ative Directory no Windows PowerShell permite que um administrador execute essa tarefa repetitiva rapidamente. Você decide investigar o impacto do uso do Windows PowerShell para administrar a infraestrutura de servidor na Contoso.
Descrição geral
O Windows PowerShell é um ambiente de linha de comando e script que você pode usar para gerenciar todos os aspetos do sistema operacional Windows. O Windows PowerShell usa comandos especiais chamados cmdlets que são compostos por pares verbo-substantivo, como Restart-Computer.
Você também pode usar o Windows PowerShell para se conectar remotamente a outros computadores e até mesmo executar cmdlets do Windows PowerShell em uma lista de computadores, permitindo que você execute ações em vários computadores usando uma única instrução de linha de comando.
Comandos e cmdlets do Windows PowerShell
Os comandos são blocos de construção que você reúne usando a linguagem de script do Windows PowerShell. Eles fornecem a funcionalidade principal do Windows PowerShell. Usando comandos, você pode criar soluções personalizadas para problemas administrativos complexos.
Os cmdlets são os componentes fundamentais dos comandos. Há milhares de cmdlets do Windows PowerShell disponíveis nos sistemas operacionais Windows e em outros produtos da Microsoft. Como mencionado anteriormente, os cmdlets são compostos por um par verbo-substantivo.
Verbos do cmdlet
A parte verbal do nome do cmdlet indica o que o cmdlet faz. Há um conjunto de verbos aprovados que os criadores de cmdlets usam, o que fornece consistência nos nomes dos cmdlets. Os verbos comuns são descritos na tabela a seguir.
| Verbo | Explicação |
|---|---|
| Obtenção | Recupera um recurso, como um arquivo ou um usuário. |
| Definição | Altera os dados associados a um recurso, como uma propriedade de arquivo ou usuário. |
| Novo | Cria um recurso, como um arquivo ou usuário. |
| Adicionar | Adiciona um recurso a um contêiner de vários recursos. |
| Remover | Exclui um recurso de um contêiner de vários recursos. |
Substantivos de cmdlet
A parte nominal do nome do cmdlet indica quais tipos de recursos ou objetos o cmdlet afeta. Todos os cmdlets que operam no mesmo recurso devem usar o mesmo substantivo. Por exemplo, o substantivo Serviço é usado para cmdlets que funcionam com serviços do Windows e o substantivo Processo é usado para gerenciar processos em um computador.
Formato do parâmetro
Os parâmetros modificam as ações executadas por um cmdlet. Cada cmdlet pode não ter parâmetros, um parâmetro ou muitos parâmetros. Os nomes dos parâmetros começam com um traço (-). Um espaço separa o valor que você deseja passar do nome do parâmetro. Se o valor que você está passando contiver espaços, você precisará colocar o texto entre aspas. Alguns parâmetros aceitam vários valores, que são separados por vírgulas e sem espaços.
Exemplos
Você pode estudar os exemplos a seguir para ajudar a determinar como você pode usar o Windows PowerShell para executar tarefas administrativas comuns. O comando a seguir exibe uma lista de serviços em execução.
Get-Service | Where-Object {$_.Status -eq "Running"}
O comando a seguir exibe uma lista de serviços que têm um nome que começa com "win" e que exclui o serviço chamado WinRM.
Get-Service -Name "win*" -Exclude "WinRM"
Este próximo comando gera uma lista de todos os serviços para um arquivo de texto formatado para saída HTML.
Get-Service | ConvertTo-Html > File.html
Uma variação do comando anterior gera apenas dados selecionados sobre serviços e, em seguida, exporta a saída para um arquivo CSV.
Get-Service | Select-Object Name, Status | Export-CSV c:\service.csv
O comando a seguir recupera as informações especificadas (número de telefone do escritório e nome principal do usuário) sobre os usuários do Ative Directory.
Get-ADUser -Filter * -Properties OfficePhone | FT OfficePhone,UserPrincipalName
Este exemplo final recupera um subconjunto de usuários do AD DS (aqueles na UO de Marketing) e modifica suas propriedades adicionando uma descrição a cada conta.
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=Marketing,DC=Contoso,DC=Com" | Set-ADUser -Description "Member of the Marketing Department"
ISE do Windows PowerShell
O ISE é um ambiente totalmente gráfico que fornece um editor de scripts, recursos de depuração, um console interativo e várias ferramentas que ajudam você a descobrir e aprender novos comandos do Windows PowerShell. Este módulo fornece uma familiaridade básica com o funcionamento do ISE.
Painéis
O ISE oferece dois painéis principais: um painel Script (ou editor de scripts) e o painel Console. Você pode posicioná-los um acima do outro ou lado a lado em um layout de dois painéis. Você também pode maximizar um painel e alternar entre os painéis. Por padrão, um painel Complemento de Comando também é exibido, o que permite pesquisar ou procurar comandos disponíveis e revisar e preencher parâmetros para um comando selecionado. Há também uma janela de comando flutuante que fornece a mesma funcionalidade.
Personalizando o modo de exibição
O ISE fornece várias maneiras de personalizar a exibição. Um controle deslizante na área inferior direita da janela altera o tamanho da fonte ativa. A caixa de diálogo Opções permite personalizar a seleção de fontes e cores para muitos elementos de texto diferentes do Windows PowerShell, como palavras-chave e valores de cadeia de caracteres. O ISE apoia a criação de temas visuais. Um tema é uma coleção de configurações de fonte e cor que você pode aplicar como um grupo para personalizar a aparência do ISE. Existem vários temas internos que empacotam personalizações para fins como fazer apresentações. O ISE também oferece a opção de criar temas personalizados. Outros recursos do ISE incluem:
- Uma biblioteca de trechos extensível interna que você pode usar para armazenar comandos comumente usados.
- A capacidade de carregar suplementos criados pela Microsoft ou por terceiros que fornecem funcionalidade adicional.
- Integração com os recursos de depuração do Windows PowerShell.
Comunicação remota do Windows PowerShell
O objetivo da comunicação remota do Windows PowerShell é conectar-se a computadores remotos para que você possa executar comandos neles e, em seguida, direcionar os resultados de volta para o computador local. Isso permite que você execute comandos do Windows PowerShell em vários computadores da rede a partir do computador cliente, em vez de usar a criação de uma conexão com cada computador.
Um dos principais objetivos da comunicação remota do Windows PowerShell é habilitar a administração em lote, que permite executar comandos em um conjunto de computadores remotos simultaneamente. Você pode usar a comunicação remota de uma das três maneiras, descritas na tabela a seguir.
| Método | Descrição |
|---|---|
| Comunicação remota um-para-um | No cenário de comunicação remota um-para-um (também conhecido como comunicação remota interativa), você se conecta a um único computador remoto e executa comandos do Windows PowerShell nele, exatamente como se tivesse entrado no computador e aberto uma janela do Windows PowerShell. |
| Comunicação remota um-para-muitos | No cenário de comunicação remota um-para-muitos, (também conhecido como -), você emite um comando que é executado em um ou mais computadores remotos em paralelo. Você não está trabalhando com cada computador remoto interativamente. Em vez disso, os comandos são emitidos e executados em lote, e os resultados são retornados ao computador para uso. |
| Comunicação remota de muitos para um | No cenário de comunicação remota Many-to-One (também conhecido como comunicação remota fan-in), vários administradores fazem conexões remotas com um único computador. Normalmente, esses administradores têm permissões diferentes no mesmo computador remoto e podem estar trabalhando em uma sessão restrita do Windows PowerShell. |
Atenção
Ao executar comandos em vários computadores, esteja ciente das diferenças entre os computadores remotos, como diferenças em sistemas operacionais, estruturas de sistemas de arquivos e registros de sistema.
PowerShell Direto
Muitos administradores optam por executar alguns de seus servidores em ambientes virtualizados. Para habilitar uma administração mais simples de VMs Hyper-V que executam o Windows 10 ou o Windows Server, você pode usar um recurso chamado PowerShell Direct.
O PowerShell Direct permite que você execute um cmdlet ou script do Windows PowerShell dentro de uma VM a partir do sistema operacional host, independentemente das configurações de rede, firewall e gerenciamento remoto.