Home .:. Suporte .:. Certificados
Procurar (Powered by Bing):
 
 

.:. Menu

  Home

  News (Português)

  Anuncie no site

  Suporte

 

.:. Tecnologias

  Exchange 2010

  Exchange 2007

  Exchange 2003

  OCS

  Online Services

  ISA Server

  Windows Server
 

  BizTalk e SQL

  ForeFront Family

  System Center
 

  Artigos

  Guias Práticos

 

.:. Sobre..

  Sobre o site

  Colaboradores


 

    Utilizando pipes no Monad

AP401 - Utilizando pipes no Monad

Autor: Anderson Patricio / José Rodas
Publicação: 29/Mar/2006

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".



Solução

 

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.

 


 
 

Site desenvolvido em Front-Page e por um IT Pro, ou seja, a aparência não é o ponto forte do site :). Dúvidas ou sugestões:  webmaster@andersonpatricio.org