Infra - Windows Server
Utilizando pipes no Monad
Com este tutorial mostramos como utilizar pipes no Monad permitindo melhores resultados na administração de sistemas.
por Anderson PatricioAutor: Anderson Patricio / José Rodas
Overview
O Monad como uma grande linguagem e poderoso shell fornece a possibilidade de usar pipes, que basicamente são aproveitar a saída de um comando com outro instrução.
Já possuímos isto no cmd.exe mas de forma mais simplista, um exemplo de que podemos utilizar:
netstat -an | find ":25"
Com isto estamos listando todas as portas abertar da máquina (netstat -an) e mostrando somente os resultados que tiverem a incidência do texto ":25".
No Monad isto é possível, iremos utilizar aqui alguns possíveis pipes, com isto podemos combinar um ou mais comandos trazendo a informação importante de forma mais fácil.
O que devemos saber é quando utilizamos esta técnica, a resposta do primeiro comando é utilizado pelo segundo e assim sucessivamente.
Bom para entendermos bem o conceito segue abaixo o primeiro exemplo e um dos mais comuns que é utilizar o cmdlet get-help <comando> por padrão ele mostra todo o help passando todo conteúdo na tela, utilizando pipe (|) mais more, conseguimos que a saída do primeiro cmdlet (get-help <comando>) seja feita de forma mais fácil para o administrador permitindo controlarmos o fluxo da informação.
get-help get-command | more
Pedimos ajuda com possibilidade de controlar a saída do help.
Utilizando Pipes..
Bom vamos ver a real funcionalidade do pipe, seguem os exemplos baseado em uma necessidade, o Administrador da rede quer uma listagem dos processos chamados svchost executados na máquina, mas o mesmo precisa no formato .txt para entregar para o seu "chefe", vamos utilizar o Monad para ajudarmos nesta árdua tarefa. Vamos fazer passo a passo para melhor entendimento
get-process
Bom, para listarmos os processos utilizamos o cmdlet get-process que lista todos os processos, conseguimos 33% da tarefa que o Administrador necessita.
get-process | where-object { $_.processname -eq "svchost" }
Agora que já sabemos o cmdlet para listar os processos precisamos saber somente os chamados svchost, então vamos utilizar o nosso primeiro pipe, utilizando where-object { $_.processname -eq "svchost" } onde toda saída do cmlet get-process será filtrado de forma que será apresentando somente os processos chamados svchost.
get-process | where-object { $_.processname -eq "svchost" } | out-file c:\anderson.txt
Bom conseguimos no comando anterior listar somente o necessário utilizando pipes, agora precisamos adicionar mais um pipe para jogar a saída do cmdlet get-process e filtrado pelo segundo cmdlet e utilizamos um terceiro cmdlet out-file c:\anderson.txt para jogar o conteúdo para o arquivo anderson.txt.
Visualizando a necessidade do administrador...
Ainda a partir do Monad digitamos notepad anderson.txt e será mostrado o que nos foi solicitado.
Conclusão
Com este tutorial mostramos como utilizar pipes no Monad permitindo melhores resultados na administração de sistemas.
- Instalando e configurando um servidor DHCP no Windows Server 2008Windows Server
- Instalando Active Directory Windows Server 2008Windows Server
- Instalando e configurando um servidor DNS no Windows Server 2008Windows Server
- Aperfeiçoar UPDATE e DELETE x CursoresSQL Server
- Sequenciando as VMs no Hyper-VWindows