NOME DA APRESENTAÇÃONome (Nick no Fórum)25 DE MAIO @MICROSOFTPowershell "à minha maneira"Bruno Lopes (brunomlopes)
Quem sou? O meu valor!• Bruno Lopes ( brunomlopes )• Co-founder de uma startup• Tirei o curso há 7 anos• 80% do que fiz e ...
AgendaCmdlets Pipeline Módulos
Questões?
AgendaCmdlets Pipeline Módulos
What, Why, How• Cmdlet:• Átomo de execução de Powershell• V1.0 – em C#/VB.Net• V2.0 – em Powershell• Abstrai comportamento...
CódigoCmdlets
Questões?
AgendaCmdlets Pipeline Módulos
Pipeline• Conceito familiar de outras shells• Em powershell são objectos e não texto que passa na pipeline• Funções “espec...
CódigoPipelines
Questões?
AgendaCmdlets Pipeline Módulos
Módulos• Agrupam um conjunto de funcionalidades• Variáveis• Funções• Cmdlets• Podem• Ter documentação associada• Ser insta...
CódigoMódulos
Questões?
Estudos futuros• Profile• Extended Type Data• Module Manifests• Add-Type• Powershell Remoting• Interacção com .Net
Referências• Ajuda• Get-help• <Verb>-<Noun> -?• Blogs• Hey, Scripting Guy!• http://blogs.technet.com/b/heyscriptingguy/• M...
Questões?(ultima hipótese)(durante a apresentação, lá fora podem perguntar mais coisas)
Patrocinador GoldPatrocinadores Silver
Media Partners
ObrigadoBruno Lopesbrunomlopes@gmail.com@brunomlopes
Upcoming SlideShare
Loading in …5
×

Powershell “à minha maneira”

576 views

Published on

Por Bruno Lopes

Nesta apresentação vamos olhar para powershell na perspectiva de expandir as capacidades do ambiente com funções e módulos nossos.

Vamos olhar para como construir um módulo com cmdlets que funcionam da mesma forma que as nativas de powershell, e que podem ser usadas na consola de powershell, tirando partido de script blocks e pipelining.

Demos: https://github.com/brunomlopes/pap-2013-05-25-powershell

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
576
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Também faço suporte de clientes, administração de sistemas, tiro cafés e até à pouco tempo era faxineiro.
  • Eu hoje venho vos falar de 3 temas de powershell que vos vão permitir extender e tirar melhor partido de powershell.Para isto eu vou assumir alguma familiaridade com powershell, que sabem o que é, como definir variáveis e funções, e os rudimentos de uso de comandos e pipelines.Para demo vou usar powershell v3, usando o integratedscriptingenvironmentNa primeira parte vamos falar de Cmdlets, como criar, documentar e definir parâmetros e comportamentosDepois vamos falar um bocado da pipeline de powershell, e como é que podem criar funções que tiram partido da pipelineFinalmente, tudo isto tem que ser organizado de uma forma, e essa forma é tipicamente em “módulos”
  • E sem mais demoras, vamos começar por cmdlets
  • V2.0 de powershell trás o conceito de funções avançadasget-helpabout_functions_advancedAuto-descritiva, quer dizer que não deve ser preciso procurar no manual qual o comportamento, basta fazer &lt;cmdlet&gt; -?Inspecionavel quer dizer que devemos poder, na linha de comandos, procurar informação sobre o cmdlet e os argumentosO “sempre” aqui é apenas uma guia. Podem criar cmdlets com nomes diferentes do que os indicados, mas o powershell vai vos avisar que não estão a seguir as indicações certas.Vamos criar uma cmdlet que inicie o iisexpress, que é instalado com qq versão de visual studio 2012, e com o sp1 de vs 2010 (se não me engano)
  • Vamos ao código(abrir o powershell)
  • V2.0 de powershell trás o conceito de funções avançadasget-helpabout_functions_advanced
  • Extendedtype data permite extender os tipos de dados que são manipulados em powerhsell
  • Powershell “à minha maneira”

    1. 1. NOME DA APRESENTAÇÃONome (Nick no Fórum)25 DE MAIO @MICROSOFTPowershell "à minha maneira"Bruno Lopes (brunomlopes)
    2. 2. Quem sou? O meu valor!• Bruno Lopes ( brunomlopes )• Co-founder de uma startup• Tirei o curso há 7 anos• 80% do que fiz e faço é web e .Net• Éramos uma empresa de custom development• Agora estamos agora avender, desenvolver, comercializar e suportar umproduto• Co-Organizador/Orador• Fã de Powershelle de python, e de c#, e de javascript, e de linux, e de .net…
    3. 3. AgendaCmdlets Pipeline Módulos
    4. 4. Questões?
    5. 5. AgendaCmdlets Pipeline Módulos
    6. 6. What, Why, How• Cmdlet:• Átomo de execução de Powershell• V1.0 – em C#/VB.Net• V2.0 – em Powershell• Abstrai comportamento/recurso• Auto-descritiva e inspecionável• Seguem “sempre” o mesmo padrão:• Verbo-Nome• A lista de verbos “recomendada” é obtida por um cmdlet• Get-Verb• Caso de exemplo: Start-IisExpress• Queremos iniciar um IIS Express a servir a aplicação de umapasta num porto à escolha
    7. 7. CódigoCmdlets
    8. 8. Questões?
    9. 9. AgendaCmdlets Pipeline Módulos
    10. 10. Pipeline• Conceito familiar de outras shells• Em powershell são objectos e não texto que passa na pipeline• Funções “especiais”• Processo:• Begin• Process• End• Permite processar item a item da pipeline• Caso de exemplo : Push-AzureMessageTopic• Enviar um objecto para uma message queue de azure
    11. 11. CódigoPipelines
    12. 12. Questões?
    13. 13. AgendaCmdlets Pipeline Módulos
    14. 14. Módulos• Agrupam um conjunto de funcionalidades• Variáveis• Funções• Cmdlets• Podem• Ter documentação associada• Ser instalados globalmente• Exemplos• WebAdministration (IIS)• Posh-git• Pscx (powershell community extensions)
    15. 15. CódigoMódulos
    16. 16. Questões?
    17. 17. Estudos futuros• Profile• Extended Type Data• Module Manifests• Add-Type• Powershell Remoting• Interacção com .Net
    18. 18. Referências• Ajuda• Get-help• <Verb>-<Noun> -?• Blogs• Hey, Scripting Guy!• http://blogs.technet.com/b/heyscriptingguy/• Módulos• PowerShell Community Extensions• http://pscx.codeplex.com/• Posh-git• https://github.com/dahlbyk/posh-git
    19. 19. Questões?(ultima hipótese)(durante a apresentação, lá fora podem perguntar mais coisas)
    20. 20. Patrocinador GoldPatrocinadores Silver
    21. 21. Media Partners
    22. 22. ObrigadoBruno Lopesbrunomlopes@gmail.com@brunomlopes

    ×