Gerenciamento de Servidores com PowerShell 3.0 Daniel Donda Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 Daniel Donda MVP Windows Expert-IT Pro Twitter @danieldonda www.mcsesolution.com Facebook /mcsesolution Gerenciamento de Servidores com POWERSHELL 3.0 Gerenciamento do Windows Server • No passado, o Windows Server foi um excelente sistema operacional: – Para um único servidor – E seus dispositivos • O Windows Server 2012 é um excelente sistema operacional: – Para muitos servidores e os dispositivos conectados a eles. Sejam físicos ou virtuais. Dentro e fora da organização. Windows PowerShell 3.0 Windows PowerShell 3.0 fornece uma maneira abrangente, flexível, e simples para automatizar a administração de servidores em sua rede Otimizado para a nuvem Robusto Remoto Ágil PowerShell Elástico Padrões Automatização PowerShell 3.0 Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 PowerShell 3.0 Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 Simples e Fácil • • • Windows PowerShell ISE – IntelliSense e TAB completion Cmdlets – Importação automática de Módulos – Show-command Help – Help atualizável – F1 contextual – Get-Help –ShowWindow • Sintaxe e linguagem – Where e ForEach simplificado Administração Delegada • Session Configuration Files – Criação simples – Usa .psd1 (PowerShell Data Files) • RunAs – RunAsUser & RunAsPassword – Sessões remotas com diferentes cred. PowerShell 3.0 Simples & Facil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 Cobertura Completa • Windows Server 2008 R2 – 456 cmdlets – 10 módulos • Windows Server 2012 – ~2,430 cmdlets – 85 módulos Milhares de novos cmdlets Jobs – – – – – – – – – – – – – – – – ISE – – – Add-JobTrigger Disable-JobTrigger Enable-JobTrigger Get-JobTrigger New-JobTrigger Remove-JobTrigger Set-JobTrigger Disable-ScheduledJob Enable-ScheduledJob Get-ScheduledJob Register-ScheduledJob Set-ScheduledJob Unregister-ScheduledJob Get-ScheduledJobOption New-ScheduledJobOption Set-ScheduledJobOption Get-IseSnippet Import-IseSnippet New-IseSnippet CIM – – – – – – – – – – – – Workflow Get-CimAssociatedInstance Get-CimClass Get-CimInstance Get-CimSession Invoke-CimMethod New-CimInstance New-CimSession New-CimSessionOption Register-CimIndicationEvent Remove-CimInstance Remove-CimSession Set-CimInstance Remoting – – – – – – Connect-PSSession Disconnect-PSSession Receive-PSSession New-PSSessionConfigurationFile Test-PSSessionConfigurationFile New-PSTransportOption – – – – – Web – – – – Other – – – – – – – – – – New-PSWorkflowExecutionOption New-PSWorkflowSession Invoke-AsWorkflow Resume-Job Suspend-Job ConvertFrom-Json ConvertTo-Json Invoke-RestMethod Invoke-WebRequest New-WinEvent Unblock-File Show-Command Rename-Computer Save-Help Update-Help Get-TypeData Remove-TypeData Get-ControlPanelItem Show-ControlPanelItem Disponível em qualquer lugar • Windows 8, Windows RT, & Windows Server 2012 Full Server • Server Core – Com ou sem Graphical Shell ou Graphical Management Tools • Windows Preinstallation Environment (WinPE) 4.0 • Windows Management Framework 3.0 – Windows Server 2008 / Windows 7 / Windows Server 2008 R2 (+Server Core) PowerShell 3.0 Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 Windows PowerShell Workflow • Multi-machine orchestration engine criado com Windows Workflow Foundation e .NET 4.0 • É um mecanismo confiável que permite a execução de tarefas de longa duração em múltiplas maquinas. – Robusto: Permite Suspender e retomar fluxos de trabalho, sobrevive máquina reiniciada – Desempenho: O pool de conexões, otimização do fluxo de trabalho, e de hospedagem compartilhada – Escalável: Pode executar várias tarefas em paralelo, parâmetros comuns para múltiplas maquinas. – Confiável: Conexão automática e ação repetir com intervalos configuráveis – Familiar: O Workflow funciona como scripts do PowerShell ou usando XAML, gerenciável através * Job-cmdlets Cenário para Workflow Nós gerenciáveis • Rodam workflow Servidor de gerenciamento • Armazena e gerencia Workflow do PowerShell • Executa o PowerShell Workflow nas maquinas remotas Cliente • IT pro conectado e trabalhando • Conecta ao servidor de Workflow Scheduled Jobs • Job Scheduling permite agendar a execução de um trabalho (job) PowerShell em Background • Suporte diversos gatilhos (triggers) – Executa comandos de acordo com o agendamento ou em resposta a um evento. • Modulo PSScheduledJob – *-JobTrigger para criar triggers agendados – *-ScheduledJob para registrar, cancelar e alterar definições de trabalho agendados – * ScheduledJobOption para configurar definições avançadas – * Job para recuperar resultados Sessões Persistentes • Sessões remotas permanecem em um estado “conectada" durante falhas de rede ou falhas de até 4 minutos • Após 4 minutos, sessões remotas alternam automaticamente para um novo estado "Disconnectada" • Comandos persistentes e Jobs podem continuar a funcionar mesmo se a sessão estiver desconectada • O cliente pode se reconectar a uma sessão desconectada após a conectividade de rede com o servidor ser restaurada PowerShell 3.0 Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 Windows PowerShell Web Access • Fornece acesso ao PowerShell a partir de qualquer lugar • Aumenta o valor do seu investimento em PowerShell • Construído para celulares, tablets e outros dispositivos móveis, bem como PCs • Suporte multi-plataforma – – – – – IE Firefox Safari Chrome Opera Windows PowerShell ISE • IntelliSense – AST + completa comando. Painel Show-Command – Get-Command • Regiões – AST • F1 – Janela do help – Get-Help • Rich copy – AST • AST = Abstract Syntax Tree Hyper-V Resource Manager • Enable-VMResourceMetering –VMName nomedavm – – – – – – – Average CPU Average physical memory Minimum memory usage Maximum memory usage Maximum amount of disk space Total incoming network traffic Total outgoing network traffic http://www.poshserver.net http://poshstats.net . Comunidade PowerShell • • • • • • • • • • TechNet Script Center Script Repository Script Explorer ISE Add-ons Website PowerShell Modules PoshCode.org PowerShellCommunity.org PowerShell.com PowerShellGroup.org Windows PowerShell ISVs PowerShell 3.0 Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 Padrões de gerenciamento Fornece interoperabilidade de gerenciamento com interface e protocolo padrão • Padrões DMTF – CIM (Common Information Model) => interface semântica • WMI v2: Acessa CIM sobre WS-Man • PowerShell cmdlets gerados automaticamente a partir de provedores WMI v2 pela autoria XML (*. Cdxml) • WS-Man (Web Services for Management) => protocolo – WinRM: Microsoft implementação do protocolo WSMan – Extensões da Microsoft para WSMan habilitar o PowerShell remoto Padrões de gerenciamento • OData (Open Data Protocol) • Management OData IIS Extension – Fornece uma capacidade de gerenciar servidores Windows a partir de vários tipos de dispositivos: Windows, ou não Windows. – Permite plugin de gerenciamento do Windows Server via PowerShell em uma experiência simplificada de gerenciamento de aplicações: – Processa solicitações de OData e os converte em invocações PowerShell. – Hospedado no IIS; esquema de recursos e módulo de autorização fornecido pelo cliente PowerShell 3.0 Simples & Fácil Cobertura completa Robusto e escalável Plataforma rica Baseadas em padrões PS 3.0 -gt PS 2.0 O PowerShell • PowerShell 1.0 • PowerShell 2.0 – Introduziu uma grande linguagem de script para a gestão de máquina local – APIs para desenvolvedores escrever cmdlets e provedores – Microsoft Exchange fez uma grande aposta no PowerShell – Fornecido com o Windows Server 2008 Vem com o Windows 7 e Windows Server 2008 R2 Remoting introduzidas: 1:1, Fan-out, Fan-in Remoting, Implicit remoting ISE introduzidas: Coloração de sintaxe, depuração gráfica, Profissionais de TI podem criar cmdlets PowerShell usando script PowerShell – Conjunto de recursos muito grande: – – – – • Jobs em background, sessões restritas, Transações, Out-GridView, Eventing Use o PowerShell Windows PowerShell 3.0 fornece uma maneira abrangente, flexível e simples para automatizar o gerenciamento de servidores na sua rede. • Windows Server 2012, Windows 8 http://bit.ly/160hFto • Windows Management Framework 3.0“ http://bit.ly/10ldOHT Aprenda e Divirta-se E-Book Gratuito em português http://bit.ly/PowerShellRocks Daniel Donda MVP Windows Expert-IT Pro Twitter: @danieldonda Facebook.com/mcsesolution www.mcsesolution.com