Como começar a aprender o PowerShell?

Como começar a aprender o PowerShell?

“Sim, estou um pouco familiarizado com o PowerShell” é talvez uma das declarações mais usadas em conferências de tecnologia ao longo dos anos. Não podem ser feitas muitas alegações que possam ser igualmente subestimadas ou exageradas.

Alguns dos que dizem isso são bastante humildes, embora provavelmente conheçam bastante o PowerShell. Outros tendem a pensar que conhecer o PowerShell é o mesmo que saber usá-lo. Para aqueles que não sabem como usá-lo, que ainda é uma parte significativa da equipe de suporte e engenharia de sistemas, pode ser um pensamento bastante assustador pensar sobre por onde começar a usar o PowerShell em primeiro lugar. Você já ouviu inúmeros discursos técnicos, leu páginas de artigos e conversou muito com colegas sobre todas as coisas que ele pode fazer por você. Você olha para esta montanha crescente e tudo o que você pode fazer é se concentrar no topo e o óbvio lhe escapa quando se trata de planejar como chegar ao topo. Este primeiro degrau está bem na sua frente, no sopé da montanha.

Você pode não saber nada sobre o PowerShell, e tudo bem.

Vamos tirar isso do caminho. Se você não conhece o PowerShell, tudo bem. Tudo bem se você conhece o PowerShell, mas não há problema em confessar se você nunca o usou. Concordar com a cabeça em discussões com colegas e adicionar o PowerShell ao seu currículo para dar a você uma vantagem pode se tornar uma realidade muito mais rápido do que você pensa. Todo mundo tem sua própria história do PowerShell, e sua história será tão única quanto sua jornada no mundo do suporte e engenharia de TI. Você não tem para onde ir, mas para cima!

De acordo com o Microsoft Docs , “O PowerShell é uma solução de automação de tarefas multiplataforma que consiste em um shell de linha de comando, uma linguagem de script e uma estrutura de gerenciamento de configuração. O PowerShell funciona no Windows, Linux e macOS.” O foco desta postagem será estritamente a parte do shell do PowerShell e se concentrará nisso. Outros aspectos ficam um pouco mais claros à medida que você ganha mais experiência com o shell do PowerShell.

A Microsoft desenvolveu o PowerShell e está constantemente aprimorando o PowerShell para interoperar com sistemas operacionais de desktop Windows, sistemas operacionais Windows Server, recursos do Office 365 e recursos de nuvem do Azure. Ele se tornará parte integrante de quase todo o universo de produtos da Microsoft. O PowerShell permite que engenheiros e equipe de suporte gerenciem suas responsabilidades com mais eficiência, permitindo a criação e modificação em massa de recursos como arquivos, pastas, configurações e configurações. É mais conhecido por sua nomenclatura única e fácil de usar de verbos e substantivos cmdlet, pronunciados como “comando”. Cmdlets são os comandos reais usados ​​para realizar alguma ação no PowerShell. Alguns cmdlets podem ser executados exatamente como estão, sem definir parâmetros. Você os digita, pressiona enter e BOOM! Você tem a saída dada a você no console. Se você estiver familiarizado com o prompt de comando Always Faithful em um ambiente Windows, você se sentirá muito confortável com o PowerShell. Muitos dos comandos que você normalmente executaria no prompt de comando também podem ser executados no console do PowerShell. De qualquer forma, experimente na próxima vez que você normalmente usar a linha de comando. Veja como ele pode fazer o mesmo dentro de um console do PowerShell. tente na próxima vez que você normalmente usa a linha de comando. Veja como ele pode fazer o mesmo dentro de um console do PowerShell. tente na próxima vez que você normalmente usa a linha de comando. Veja como ele pode fazer o mesmo dentro de um console do PowerShell.

Abrindo o véu da GUI

A maioria das pessoas adora sua preciosa GUI. Eles podem ver tudo o que acham que precisam ver, e ficam com aquela sensação de calor e confusão quando clicam em Aplicar e depois em OK. Alguns deles gostam de viver no limite e não pressionar aplicar! Afinal, à medida que você se aprofunda cada vez mais no gerenciamento de servidores, desktops ou Exchange, você se verá clicando sem parar quando for necessário fazer uma alteração que exija a adição de 360 ​​usuários a 20 grupos de segurança diferentes do Active Directory. Você está pronto para este pesadelo de encaixe?

É seguro dizer que o PowerShell ajuda a levantar o véu em uma GUI preciosa e amada. O PowerShell permite que você enfrente o desafio de agrupar usuários do AD em vários grupos e desenvolver vários comandos para realizar o trabalho em uma fração do tempo que levaria para fazer tudo por meio de uma GUI. A beleza é que a Microsoft quer que você use o PowerShell para essas tarefas. Com o foco no uso do PowerShell em muitos dos principais exames de certificação da Microsoft, ele não é mais apenas para administradores experientes, mas está se tornando algo cada vez mais necessário em seu kit de ferramentas de suporte diário. Com suficiente precisão, podemos dizer que qualquer ação, botão, opção ou configuração que você vê na interface gráfica,

Primeiros passos

Vamos começar com alguns cmdlets que você pode usar agora mesmo se estiver lendo isso em um PC com Windows. Uma coisa com a qual a maioria dos administradores de sistema e engenheiros interage é o console de serviços. Se você abrir um console do PowerShell, basta Get-Servicedigitar e pressionar Enter para obter uma lista de serviços instalados. Você terá uma visão geral rápida de todos os serviços instalados no sistema local e seu status atual de Em execução ou Parado. Essa saída seria útil para ver se um serviço de aplicativo específico está em execução ou não.

Talvez você não precise de toda a lista de serviços e esteja procurando por um serviço específico. Digamos que você queira verificar se o serviço de spooler de impressão está em execução. Você pode chamá-lo pelo nome usando o parâmetro -ServiceName assim:

Get-Service -ServiceName spooler

Essa saída fornecerá uma lista única do serviço de spooler de impressão e seu status. Digamos que um serviço esteja em execução ou parado e você queira pará-lo ou iniciá-lo. Você pode usar a seguinte entrada para parar/iniciar o serviço de spooler de impressão:

Start-Service -ServiceName spooler

Spooler Stop-Service -ServiceName

Por padrão, essas linhas não mostram o status do serviço quando o comando é enviado. Você precisará executar Get-Service -ServiceName spoolerpara visualizar o status atual.

Felizmente, o PowerShell é muito amigável com curingas ao listar objetos e nomes. Digamos que você precise verificar um serviço específico, mas não tem certeza do que é chamado “oficialmente”. Você só sabe que a primeira palavra foi removida. É simples:

Get-Service -ServiceName remote*

Essa entrada listará todos os serviços, começando com remoto, e permitirá que você restrinja sua pesquisa para encontrar o serviço específico que está procurando e tomar as medidas necessárias. Não esqueça que também existe o cmdlet Restart-Service.

Levando esse pequeno conhecimento de serviços um passo adiante, vamos verificar os serviços em uma máquina remota. Digamos que você esteja em um ambiente de domínio do Windows e tenha acesso administrativo a computadores remotos que você gerencia. Você pode usar os mesmos cmdlets discutidos anteriormente, mas precisa adicionar um parâmetro e um valor. Para verificar o serviço de spooler de impressão em um servidor remoto chamado PrintServer01:

Get-Service -ComputerName PrintServer01

Essa saída listará todos os serviços instalados na máquina remota, assim como no sistema local que fizemos anteriormente. Esse cmdlet evita o incômodo de usar o RDP para fazer logon em um servidor remoto para testar um serviço ou adicionar o servidor remoto ao snap-in do MMC local. Essa habilidade por si só compensa muito rapidamente.

Outro comando que pode ser usado imediatamente, sem parâmetros, é Get-NetIPAddress. Esse cmdlet fornecerá uma lista de todos os adaptadores de rede no sistema local e muitas informações sobre cada adaptador. Nesta saída, você pode ver o funcionamento interno da GUI. Você pode ver muito mais informações sobre coisas que normalmente veria como um ícone na GUI. A beleza de exibir informações adicionais é que você sempre pode usar o PowerShell para processar e pesquisar qualquer informação adicional. Por exemplo, se você quiser fazer alterações em adaptadores de rede específicos, poderá pesquisar ou filtrar apenas aqueles que tenham um valor específico. As possibilidades são infinitas!

Onde saber mais

Agora que você tem o mínimo do que o PowerShell tem a oferecer, cabe a você continuar subindo a montanha sobre a qual falamos anteriormente. Colocar um pé na frente do outro é tão fácil quanto navegar por alguns recursos para obter dicas do PowerShell. Uma simples pesquisa no Google pelo cmdlet é um bom começo. O Microsoft Docs tem uma biblioteca poderosa para cada cmdlet individual, com muitos exemplos de como usá-los. O próprio PowerShell é uma boa fonte de explicações e exemplos. O comando Get-Help Get-Servicefornecerá mais informações sobre nosso exemplo acima.

Um recurso que muitos usuários experientes do PowerShell lembram é o livro mais bem avaliado de Don Jones e Jeffrey Hicks. Esses gigantes do PowerShell possuem os ombros em que muitos se apoiam quando se trata de conquistar o Monte PowerShell. O livro se chama Aprenda o Windows PowerShell em um mês de almoços. Este livro fácil de ler leva você pelos conceitos básicos do PowerShell em pequenas partes e, em última análise, é o recurso para o qual você recorrerá constantemente quando se encontrar em uma situação em que precisar usar o PowerShell.

A comunidade do PowerShell também é um lugar muito aberto e útil para aprender. O subreddit do r/PowerShell e o PowerShell.org têm uma comunidade muito próspera de pessoas de todos os níveis de habilidade. Você sempre pode obter alguma orientação desses recursos. Você não pode escalar essa montanha se não tomar medidas, então vá direto ao assunto e veja como o PowerShell pode ajudá-lo com as tarefas mundanas e mundanas do dia-a-dia que às vezes você teme. Você pode se encontrar em um frenesi planejando e automatizando grande parte de sua carga de trabalho para ter tempo de aprender mais sobre o PowerShell!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *