Bruno Lopes apresentou sobre Powershell, cobrindo cmdlets, pipelines e módulos. Ele explicou que cmdlets são os blocos de construção do Powershell, pipelines permitem processar objetos entre cmdlets, e módulos agrupam funcionalidades relacionadas.
1. NOME DA APRESENTAÇÃO
Nome (Nick no Fórum)
25 DE MAIO @MICROSOFT
Powershell "à minha maneira"
Bruno Lopes (brunomlopes)
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 a
vender, desenvolver, comercializar e suportar um
produto
• Co-Organizador/Orador
• Fã de Powershelle de python, e de c#, e de javascript, e de linux, e de .net…
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 uma
pasta num porto à escolha
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
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 <cmdlet> -?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