SlideShare a Scribd company logo
1 of 22
NOME DA APRESENTAÇÃO
Nome (Nick no Fórum)
25 DE MAIO @MICROSOFT
Powershell "à 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 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…
Agenda
Cmdlets Pipeline Módulos
Questões?
Agenda
Cmdlets 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/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
Código
Cmdlets
Questões?
Agenda
Cmdlets Pipeline Módulos
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
Código
Pipelines
Questões?
Agenda
Cmdlets Pipeline Módulos
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)
Código
Mó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ódulos
• PowerShell Community Extensions
• http://pscx.codeplex.com/
• Posh-git
• https://github.com/dahlbyk/posh-git
Questões?
(ultima hipótese)
(durante a apresentação, lá fora podem perguntar mais coisas)
Patrocinador Gold
Patrocinadores Silver
Media Partners
Obrigado
Bruno Lopes
brunomlopes@gmail.com
@brunomlopes

More Related Content

What's hot

Usando os Recursos do Joomla! ao Máximo
Usando os Recursos do Joomla! ao MáximoUsando os Recursos do Joomla! ao Máximo
Usando os Recursos do Joomla! ao MáximoPedro Renan
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Bruno Rodrigo S. Souza
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalLeo Baiano
 
CMS Livres Gestao de conhecimento para web
CMS Livres   Gestao de conhecimento para webCMS Livres   Gestao de conhecimento para web
CMS Livres Gestao de conhecimento para webPaulino Michelazzo
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Front-end: O que é necessário saber ?
Front-end: O que é necessário saber ?Front-end: O que é necessário saber ?
Front-end: O que é necessário saber ?Rafael Pazini
 
Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTiago Matos
 
drupal: ligando os nos da rede
drupal: ligando os nos da rededrupal: ligando os nos da rede
drupal: ligando os nos da redeAndré Avorio
 
Sweet Child O' Themes
Sweet Child O' ThemesSweet Child O' Themes
Sweet Child O' ThemesBreno Alves
 
Aula 4. bibliotecas js
Aula 4. bibliotecas jsAula 4. bibliotecas js
Aula 4. bibliotecas jsandreluizlc
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaMario Guedes
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Leandro Nunes
 
Hacktoberfest - Contribuindo com Open Source
Hacktoberfest  - Contribuindo com Open SourceHacktoberfest  - Contribuindo com Open Source
Hacktoberfest - Contribuindo com Open Sourceakamud
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com JavajesuinoPower
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkJosemar Davi Luedke
 
Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010Zarathon Maia
 

What's hot (20)

Usando os Recursos do Joomla! ao Máximo
Usando os Recursos do Joomla! ao MáximoUsando os Recursos do Joomla! ao Máximo
Usando os Recursos do Joomla! ao Máximo
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissional
 
CMS Livres Gestao de conhecimento para web
CMS Livres   Gestao de conhecimento para webCMS Livres   Gestao de conhecimento para web
CMS Livres Gestao de conhecimento para web
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Front-end: O que é necessário saber ?
Front-end: O que é necessário saber ?Front-end: O que é necessário saber ?
Front-end: O que é necessário saber ?
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHP
 
drupal: ligando os nos da rede
drupal: ligando os nos da rededrupal: ligando os nos da rede
drupal: ligando os nos da rede
 
Browsers como vivem o que fazem
Browsers como vivem o que fazemBrowsers como vivem o que fazem
Browsers como vivem o que fazem
 
Sweet Child O' Themes
Sweet Child O' ThemesSweet Child O' Themes
Sweet Child O' Themes
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
Aula 4. bibliotecas js
Aula 4. bibliotecas jsAula 4. bibliotecas js
Aula 4. bibliotecas js
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistema
 
Desenvolvimento web produtivo
Desenvolvimento web produtivoDesenvolvimento web produtivo
Desenvolvimento web produtivo
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?
 
Hacktoberfest - Contribuindo com Open Source
Hacktoberfest  - Contribuindo com Open SourceHacktoberfest  - Contribuindo com Open Source
Hacktoberfest - Contribuindo com Open Source
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com Java
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o Zeanwork
 
Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010
 

Similar to Powershell à minha maneira

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsStefan Teixeira
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoAlexandre Andrade
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraKleber Silva
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Dev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsDev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsMichel Cordeiro
 

Similar to Powershell à minha maneira (20)

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao Jenkins
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinho
 
Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
PHP Anti Patterns
PHP Anti PatternsPHP Anti Patterns
PHP Anti Patterns
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e Segura
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
 
Palestra Carreira Java Bahia Meeting
Palestra Carreira Java Bahia MeetingPalestra Carreira Java Bahia Meeting
Palestra Carreira Java Bahia Meeting
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Dev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsDev ops integração contínua com jenkins
Dev ops integração contínua com jenkins
 

More from pt_programar

O desenvolvimento de aplicações móveis, antes da 1ª linha de código
O desenvolvimento de aplicações móveis, antes da 1ª linha de códigoO desenvolvimento de aplicações móveis, antes da 1ª linha de código
O desenvolvimento de aplicações móveis, antes da 1ª linha de códigopt_programar
 
Empreendedorismo em TI
Empreendedorismo em TIEmpreendedorismo em TI
Empreendedorismo em TIpt_programar
 
Conquistar o mundo com aplicações feitas à velocidade da luz
Conquistar o mundo com aplicações feitas à velocidade da luzConquistar o mundo com aplicações feitas à velocidade da luz
Conquistar o mundo com aplicações feitas à velocidade da luzpt_programar
 
DMVs - Conhece o teu SQL Server
DMVs - Conhece o teu SQL ServerDMVs - Conhece o teu SQL Server
DMVs - Conhece o teu SQL Serverpt_programar
 
Workshop web realtime
Workshop web realtimeWorkshop web realtime
Workshop web realtimept_programar
 
SEO – A importância do Search Engine Optimization
SEO – A importância do Search Engine OptimizationSEO – A importância do Search Engine Optimization
SEO – A importância do Search Engine Optimizationpt_programar
 
Novidades de Java EE 7
Novidades de Java EE 7Novidades de Java EE 7
Novidades de Java EE 7pt_programar
 
SQL Server – Performance e Tunning
SQL Server – Performance e TunningSQL Server – Performance e Tunning
SQL Server – Performance e Tunningpt_programar
 
Apresentação Comunidade & Evento PROGRAMAR 2013
Apresentação Comunidade & Evento PROGRAMAR 2013Apresentação Comunidade & Evento PROGRAMAR 2013
Apresentação Comunidade & Evento PROGRAMAR 2013pt_programar
 
As novidades do C# 5.0
As novidades do C# 5.0As novidades do C# 5.0
As novidades do C# 5.0pt_programar
 
HTML5 e CSS3 – rápido e eficaz para o presente
HTML5 e CSS3 – rápido e eficaz para o presenteHTML5 e CSS3 – rápido e eficaz para o presente
HTML5 e CSS3 – rápido e eficaz para o presentept_programar
 

More from pt_programar (11)

O desenvolvimento de aplicações móveis, antes da 1ª linha de código
O desenvolvimento de aplicações móveis, antes da 1ª linha de códigoO desenvolvimento de aplicações móveis, antes da 1ª linha de código
O desenvolvimento de aplicações móveis, antes da 1ª linha de código
 
Empreendedorismo em TI
Empreendedorismo em TIEmpreendedorismo em TI
Empreendedorismo em TI
 
Conquistar o mundo com aplicações feitas à velocidade da luz
Conquistar o mundo com aplicações feitas à velocidade da luzConquistar o mundo com aplicações feitas à velocidade da luz
Conquistar o mundo com aplicações feitas à velocidade da luz
 
DMVs - Conhece o teu SQL Server
DMVs - Conhece o teu SQL ServerDMVs - Conhece o teu SQL Server
DMVs - Conhece o teu SQL Server
 
Workshop web realtime
Workshop web realtimeWorkshop web realtime
Workshop web realtime
 
SEO – A importância do Search Engine Optimization
SEO – A importância do Search Engine OptimizationSEO – A importância do Search Engine Optimization
SEO – A importância do Search Engine Optimization
 
Novidades de Java EE 7
Novidades de Java EE 7Novidades de Java EE 7
Novidades de Java EE 7
 
SQL Server – Performance e Tunning
SQL Server – Performance e TunningSQL Server – Performance e Tunning
SQL Server – Performance e Tunning
 
Apresentação Comunidade & Evento PROGRAMAR 2013
Apresentação Comunidade & Evento PROGRAMAR 2013Apresentação Comunidade & Evento PROGRAMAR 2013
Apresentação Comunidade & Evento PROGRAMAR 2013
 
As novidades do C# 5.0
As novidades do C# 5.0As novidades do C# 5.0
As novidades do C# 5.0
 
HTML5 e CSS3 – rápido e eficaz para o presente
HTML5 e CSS3 – rápido e eficaz para o presenteHTML5 e CSS3 – rápido e eficaz para o presente
HTML5 e CSS3 – rápido e eficaz para o presente
 

Powershell à minha maneira

Editor's Notes

  1. Também faço suporte de clientes, administração de sistemas, tiro cafés e até à pouco tempo era faxineiro.
  2. 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”
  3. E sem mais demoras, vamos começar por cmdlets
  4. 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)
  5. Vamos ao código(abrir o powershell)
  6. V2.0 de powershell trás o conceito de funções avançadasget-helpabout_functions_advanced
  7. Extendedtype data permite extender os tipos de dados que são manipulados em powerhsell