A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
SUMÁRIO
Qual é o seu Problema ?..................................................................................................................................................3
A resposta para os seus questionamentos.................................................................................................................3
Você ainda está com o pé atrás?..................................................................................................................................4
Pausa para reflexão ...........................................................................................................................................................8
Encontrando comando com palavras chaves..........................................................................................................10
Pausa para reflexão .........................................................................................................................................................11
Como usar os comandos...............................................................................................................................................12
Aliases..................................................................................................................................................................................14
Cansado de digitar?.........................................................................................................................................................15
O seu trabalho vira historia no Powershell...............................................................................................................16
Considerações finais........................................................................................................................................................16
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Qual é o seu Problema ?
Na minha experiência com treinamentos eu me deparo com muitos alunos que desejam
trabalhar com Powershell e alguns, que tem aversão à linha de comando, e aí vejo alguns
dizerem:
“não vejo necessidade de usar comando já que tem interface gráfica”
“Acho que estamos voltando a "idade da pedra" da informática.”
“Eu acho que a interface gráfica é mais fácil”
“não consigo decorar comandos”
“ nem sei como encontrar comandos nesse terminal”
E o resultado disso, não conseguem aprender a trabalhar com linha de comando e não
desfrutam dos benefícios que o Powershell pode oferecer.
Talvez sejam os seus questionamentos também.
A resposta para os seus questionamentos.
“não vejo necessidade de usar comando já que tem interface gráfica”
“Eu acho que a interface gráfica é mais fácil”
“Acho que estamos voltado a "idade da pedra" da informática.”
“Eu acho que a interface gráfica é mais fácil”
Bem não sei se para reiniciar o serviço de DNS seja mais fácil seguir os passos abaixo:
1. Clicar iniciar clicar em ferramentas administrativas
2. Clicar em DNS
3. Clicar com botão direito no nome do servidor
4. Clicar em todas as tarefas
5. Clicar em reiniciar
Ufa !!! 5 passos.
Que tal fazer isso via Powershell ?
1. Clique no ícone do Powershell na barra de inicio rápido
2. Digite o comando restart-service dns
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Pronto !!! pulamos 3 passos .
Você ainda está com o pé atrás?
Já sei por que, ainda não respondi aos outros questionamentos ?
Então vamos às respostas:
“não consigo decorar comandos do PowerShell”
“ nem sei como encontrar comandos nesse terminal”
Para te convencer vou te apresentar algumas formas de encontrar comandos para tarefas
do servidor no PowerShell
1º. Forma – Listando todos os comandos possíveis – para isso use o comando get-
command.
2º. Forma
Listar tudo , não só os comandos do PowerShell mais qualquer executável que estão nos
diretórios da variável PATH do Windows use o comando get-command * . Use o comando
$env:path para ver quais são estes diretórios da variável PATH.
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
3º. Forma
Os comando do PowerShell são chamados de cmdlets , caso você não queria listar tudo ,
mas apenas os cmdlets, use o comando Get-Command -CommandType Cmdlet
4º. Forma
O PoweShell trabalha com módulos que são instalados para estender a sua funcionalidade
e nos possibilitando gerenciar vários papeis do servidor apenas instalando os módulos
desses papeis .
Podemos instalar módulos para por exemplo Active Directory, Hyper-v e etc.
Então imagine que você precise listar os somente os comandos do módulo do Active
Directory bastaria para isso usar o comando Get-Command -Module ActiveDirectory , mas
para esse comando ser executado com sucesso o modulo do Active Diretory já tem que
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
estar instalado, mas não se preocupe a partir do PowerShell 3.0 quando usamos o comando
get-comand ou get-help eles são importados/instalados automaticamente.
O que ? está com cara feia porque ?
Há !! já entendi , você quer saber como saber a versão do Powershell que você está usando
não é ? Muito bem use estes dois comandos : get-host ou $PSVersionTable
5º. Forma
Listando os módulos que estão instalados, para isso use o comando Get-Module –
ListAvailable
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
6º. Forma
Listar os cmdlets importados de sua sessão atual , para isso use o comando Get-
Command -ListImported -CommandType Cmdlet .
Não sei se você notou, mas as duas listagens de comandos são diferentes. Isso
acontece porque no item 4 listamos os comandos do modulo do AD então o parâmetro –
ListImported do item 6, lista os comandos com os módulos carregados na sua sessão pois
foi importado pelo Get-Command.
7º. Forma
Listar somente os módulos do PoweShell de inicio ,ou seja só os módulos básicos , use o
comando
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Get-Command -CommandType Cmdlet -Module Microsoft*,PS*
Pausa para reflexão
Agora que já listamos muitos comandos talvez você esteja perguntando: O que eu faço
com isso tudo? Como usa-los ? Quando usá-los ?
Calma , calma , calma ...
Se eu fosse o chapolin eu diria: “Palma, Palma, não Priemos Cânico”
Primeiro você precisa saber que o Powershell usa como convenção de nomenclatura dos
comandos a combinação de verbo e substantivos , ou seja fazer algo com alguma coisa.
Por exemplo quero reiniciar o serviço de DNS então eu uso o comando restart-service dns.
O restart é o verbo e o service o substantivo , se fosse em português seria
reiniciar-serviço .
Viu como é fácil ? Agora você já pode continuar com mais uma forma de encontrar
comando para tarefas do servidor no PowerShell
8º. Forma
Listar os comandos que contem um verbo especifico usando o comando Get-Command
com o parâmetro -Verb e o nome do verbo. Por exemplo:
Get-Command -Verb Get
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Assim listaremos todos os comandos do verbo get (obter) .
Agora pense em um verbo .....
1
2
3
4
5
6
Pensou no verbo copiar? Ok.
Hum, muito bom . Foi o que eu pensei também!!!!
Copiar seria copy em inglês então podemos usar o comando Get-Command -Verb
copy , assim listamos todos os comando do verbo copiar
Assim podemos fazer com qualquer verbo.
9º. Forma
Listar apenas os substantivos, para isso use o comando Get-Command -CommandType
Cmdlet | Select Noun | Sort Noun
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Encontrando comando com palavras chaves
Agora imagine que você esteja querendo administrar o AD e queria saber quais comandos
podem ser usados e o que pode ser administrado pelo PoweShell aí é que entra a 10º
forma
10º. Forma
listar comandos que servem para gerenciar um determinado papel do servidor usando
uma palavra chave, para isso use o comando:
Get-Command -Noun ad*
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Pausa para reflexão
Agora você ainda deve está se perguntado: Tive acesso a uma quantidade enorme de
comandos e ainda não sei usar nenhum, como vou saber como usa-los ?
A resposta é simples você pode obter a ajuda do comando .
Então colocando em prática o que você já aprendeu , vamos recordar que os cmdlets do
Powershell usam a nomenclatura de verbo e substantivo , então se eu preciso obter ajuda
do sistema eu uso o verbo get (obter) e substantivo help (ajuda).
Agora já descobrimos o comando para obter ajuda get-help , agora resta saber de que
comando eu quero obter ajuda.
Vamos supor que queremos obter ajuda do comando get-service então usamos o seguinte
comando get-help get-service
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Como usar os comandos
Humm.. já sei que você pensou.
“Que manual de comando estranho , não tem exemplos , não explica para que server o
comando “
Calma , vamos resolver isso.
Você precisa saber que o ajuda do Powershell ele vem com um manual limitado dos
comandos e que para termos o manual completo temos que fazer a atualização dos
manuais.
Podemos observar que o próprio comando oferece a dica para resolver este problema
basta que executemos o comando update-help e os manuais serão atualizados.
Observação: O comando acima tem que ser executado com conexão de internet ativa.
Agora que os manuais estão atualizados vamos ver como ficou nosso comando get-help
get-service ?
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Que legal !!
Observe que agora temos a sinopse do comando , onde podemos descobrir qual a
utilidade do comando que no caso do get-service , serve para obter os serviços que estão
no computador local ou remoto.
Observe também que há uma descrição e lá os comandos relacionados com este.
Mas não tem exemplos.
Então por isso que há mais informações no item COMENTÁRIOS ,em comentários está
escrito assim :
COMENTÁRIOS
Para ver os exemplos, digite: "get-help Get-Service -examples".
Para obter mais informações, digite: "get-help Get-Service -detailed".
Para obter informações técnicas, digite: "get-help Get-Service -full".
Para obter ajuda online, digite: "get-help Get-Service -online"
Então agora vamos usar o que ele mesmo sugeriu , o comando
get-help Get-Service -examples
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Agora você terá uma grande lista de exemplos de uso do comando
O que ? Eu sou muito fera ?
Para com isso , assim você me deixa encabulado .
Mas voltando ao assunto..
Aliases
Mas tem um outro problema que talvez você não tenha pensado .
E os comandos que já sei usar ,em outros sistemas como o MS-DOS e o Linux
Se eu fosse o Chapolin diria a celebre frase “ Seus problemas acabaram, não contavam com
a minha astúcia ....oops da astucia da Microsoft)
A Microsoft criou então alguns pseudônimos (aliases) para os comandos do Powershell que
possibilita usar o nome de comando que eu já conheço para executar outros do Poweshell.
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Por exemplo:
O ls ( igual do Linux) é um pseudônimo para o comando Get-ChildItem ( lista o
contéudo do diretório) , assim como o DIR (MS-DOS) também é .
O cp ( igual do Linux) é um pseudônimo para o comando copy-item ( copia
arquivos e diretórios) , assim como o copy (MS-DOS) também é .
Para obter uma lista completa de Aliases use o comando
Get-Command -CommandType alias
Agora faz alguns testes
Execute os comandos a sequencia de comandos abaixo
1. mkdir teste (cria diretório)
2. cd teste (acessa o diretório)
3. mkdir powershell (cria diretório)
4. ls ou dir (lista o conteúdo do diretório)
Nas sequencia de comandos acima foram usados apenas aliases .
Cansado de digitar?
O Powershell pode te dar uma forcinha .
Quando estiver digitando no terminal do Poweshell não precisa digitar todo o comando
,apenas uma ou duas letras e aperta TAB e ele completará o nome do comando para você.
Aí você pergunta : Ele é adivinho ? Como ele vai saber o comando que eu quero se tem
vários comandos que começam com a mesma letra ?
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
Hum...boa pergunta !
Então basta que você pressione o TAB repetidamente até ele mostrar o comando que você
está querendo.
O seu trabalho vira historia no Powershell
Todos os comando que digitamos até agora no Powershell ficaram gravados em um
histórico de comandos basta que você use o comando (alias) history para ter acesso a esse
histórico.
E caso queira usar um destes comandos do histórico basta digitar o numero
correspondente ao comando .
Agora fica a pergunta : Você ainda acha o PowerShell um mistério ?
Considerações finais
Este ebook teve como objetivo, desmistificar a linha de comando e suas dificuldades, é claro
que este ebook não é a respostas para todos os questionamentos e dúvidas, mas espero
que ele tenha cumprido o seu papel ,que o de simplificar aquilo que parecia muito
complicado.
Obrigado pela leitura e até a próxima.
A p r e n d a P o w e s h e l l d e f o r m a d i v e r t i d a
AS | CONSULTORIA & TREINAMENTOS
www.astreinamentos.com.br
A AS CONSULTORIA & TREINAMENTOS tem como objetivo ajudar a comunidade de TI visando o
desenvolvimento dos profissionais de TI. Fazemos isso de 5 formas principais oferecendo ebooks, palestras,
artigos , vídeos tutoriais e treinamentos. Conheça o nosso blog e nosso canal no youtube oferecemos
informações relevantes e conteúdo atual para a comunidade técnica para que sejam cada dia mais ativa e
eficiente.
AS | CONSULTORIA E TREINAMENTOS
Sobre o Autor - Alexander Silva
Alexander Silva é Diretor e fundador da AS tem vasta experiência em treinamento e capacitação de
profissionais de TI, experiência essa adquirida com mais de 10 anos atuando no mercado. Alexander Silva é
LPIC-1 e LPIC -2 Linux / MCSA Microsoft / MCP/ CompTIA Lnux + / CLA Novell.