Confira as 10 razões adorar o Windows Server 2016 #1
Nesta série de 10 artigos vamos abordar as principais inovações do Windows Server 2016 e fazer uma breve introdução sobre as melhores features do novo sistema operacional da Microsoft.
1. PowerShell e DSC
O Windows PowerShell 5.0 do Windows Server 2016 inclui novos recursos fantásticos, incluindo o desenvolvimento de novas classes e novas features segurança. Confira o Windows Management Framework (WMF) 5.0 RTM para mais detalhes. A partir da Technical Preview 5, novas adições incluem:
- Capacidade de executar PowerShell localmente no Nano Server
- Novos comandos de gerenciamento de usuários e grupos locais para substituir a GUI
- Suporte a depuração do PowerShell suporte de depuração
- Suporte no Nano Server para security logging & transcription e JEA
E o que é o DSC?
Desired State Configuration (DSC) é uma extensão do PowerShell que faz parte do Windows Server 2016 e do Windows 8.1. Alguns exemplos que DSC permite fazer são:
- Instalar ou remover server roles e features
- Gerenciar configurações do registro
- Gerenciar arquivos e diretórios
- Gerenciar processos e serviços
- Instalar e gerenciar pacotes .msi e .exe
- Corrigir uma configuração de um computador que esta fora da conformidade
- Descobrir o estado da configuração de um computador
Como o DSC funciona?
A imagem abaixo descreve o fluxo do DSC, fases e os dois modelos diferentes: Push e Pull.
Vamos explorar as fases
Fase de Authoring
Nesta fase a configuração DSC é criada através do PowerShell ou por outras linguagens e ferramentas. A saída da fase Authoring é um ou mais arquivos MOF (Management Object Format), o formato que é utilizado pelo DSC. Os arquivos MOF podem ser criados de várias maneiras, inclusive com o Notepad. A partir do PowerShell v4, são disponibilizadas extensões de sintaxe declarativa e IntelliSense para tornar mais fácil a criação de um arquivo MOF. A seção abaixo chamado “Criando uma configuração DSC” vai explicar melhor como criar uma configuração de DSC.
Fase de Staging
Nesta fase os dados de DSC (arquivos MOF) são “empacotados”. No caso de adotar o modelo de Pull, que provávelmente será o mais utilizado, os dados de DSC e providers personalizados são mantidos no servidor Pull. Um servidor Pull é um servidor web (IIS) com uma interface OData definida. O sistema de destino conecta no servidor Pull por meio de um URI e um identificador único para recuperar a sua configuração e verificar se todos os providers personalizados estão disponíveis. Se não, são transferidos para o sistema de destino. No caso de utilizar o modelo de Push, os dados de DSC serão enviados para o sistema de destino. Uma dica é que você precisa ter certeza de que os providers personalizado existam no sistema de destino. Certifique-se de colocá-lo em: “%SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ PSDesiredStateConfiguration \ PSProviders”
Fase “Make it So”
A fase final é a aplicação (aprovação) da configuração, para “torná-lo assim”. Os dados de DSC são enviados para a “Local Configuration Store” do sistema de destino, e contém a configuração de estado atual, anterior e desejada de DSC. A configuração então é analisada e aplicada para “tornar assim” o sistema.
O DSC vem com 12 providers. Esses providers permitem a configuração de roles e features, cópia de arquivos, criação de entradas de registo, gerenciamento de serviços, criação de usuários e grupos locais, etc. Veja aqui uma listagem completa. Você também pode criar seu próprio provider personalizado.
Criando uma configuração de DSC
Para criar uma configuração de DSC, é necessário declará-la em primeiro lugar. O DSC utiliza arquivos MOF (Management Object Format), que pode ser criados com qualquer editor de texto. O PowerShell v4 torna mais fácil para criar um arquivo MOF, adicionando extensões sintaxe declarativa e IntelliSense. A extensão DSC adiciona uma nova chave chamada “Configuration”. Com esta palavra-chave, que é na verdade uma “função”, você define uma configuração de DSC como no exemplo abaixo:
Configuration ContosoWebsite
{
}
Agora você pode ir em frente e estender sua configuração usando, por exemplo, “funções e recursos”:
{
param ($MachineName)
{
#Instala o IIS
WindowsFeature IIS
{
Ensure = “Present”
Name = “Web-Server”
}
WindowsFeature ASP
{
Ensure = “Present”
Name = “Web-Asp-Net45”
}
}
}