다음을 통해 공유


Use o Windows PowerShell para acelerar comandos repetitivos

Neste Tutorial vamos aprender como usar o cmdlet Get-History do Windows PowerShell para acelerar a execução de comandos repetitivos.

Solução


Quando utilizamos o Windows PowerShell podemos executar o mesmo comando repetidas vezes, isso nos ajuda, pois facilita lembrar dos comandos que foram executados e que podem ser reutilizados no dia a dia.

O cmdlet Get-History contém o histórico da sessão, ou seja, a lista de comandos inseridos durante a sessão atual.

O número de comandos armazenados é baseada em uma variável chamada **MaximumHistoryCount **e o valor default é 4096, quando atingir 4095 o comando mais antigo será substituído, esse valor poderá ser alterado.

http://www.andersonpatricio.org/wp-content/uploads/2016/04/image_thumb.png

O Windows PowerShell mantém automaticamente um histórico de cada sessão. Podemos salvar o histórico da sessão em formato XML ou CSV. Por padrão, os arquivos de histórico são salvos no diretório onde está sendo executado os comandos, neste caso c:\users\administrador, mas o arquivo poderá ser salvo em qualquer local.

Temos quatro cmdlets do Windows PowerShell que permitem trabalharmos com o Get-History.http://www.andersonpatricio.org/wp-content/uploads/2016/04/PS01.png

Acelerando a execução dos comandos

Para consultar a lista de comandos ao invés de digitarmos Get-History digite apenas h e será exibida a lista de todos os comandos que foram digitados.

http://www.purainfo.com.br/wp-content/uploads/ps05_thumb.png

 

Para executar um dos comandos que foram consultados anteriormente ao invés de digitarmos Invoke-History 5 digite apenas r e o id correspondente que neste caso é o número 5http://www.andersonpatricio.org/wp-content/uploads/2016/04/ps03.png

O histórico da sessão é uma lista dos comandos inseridos durante a sessão junto com a ID. O histórico da sessão representa a ordem de execução, o status e os horários de início e término do comando. À medida que você insere cada comando, o Windows PowerShell o adiciona ao histórico para que você possa reutilizá-lo.

E pra finalizar vamos exportar os comandos executados para um arquivo CSV, isso é muito útil quando realizamos o troubleshooting de um servidor e executamos vários comandos para realizar uma análise mais detalhada mas no final do atendimento não lembramos a ordem de execução e quais comandos foram utilizados, neste caso podemos exportar para um arquivo e reutilizar caso seja necessário ou até para fins de auditoria.

Get-History | Export-CSV C:\Temp\CommandHistory.CSVhttp://www.andersonpatricio.org/wp-content/uploads/2016/04/ps04.pnghttp://www.andersonpatricio.org/wp-content/uploads/2016/04/image_thumb5.png

Conclusão


Neste artigo, mostramos como podemos tirar proveito do cmdlet Get-History executando o mesmo comando várias vezes, acelerar a execução das tarefas e criar rotinas automatizadas para executar os comandos.