Sim, para Linux e Windows, você pode criar arquivos de configuração de estado desejados que possam:
- Ativar ou desativar funções e recursos de servidor
- Gerenciar configurações de registro
- Gerenciar arquivos e diretórios
- Iniciar, interromper e gerenciar processos e serviços
- Gerenciar grupos e contas de usuário
- Implantar novo software
- Gerenciar variáveis de ambiente
- Executar scripts do Windows PowerShell
- Corrigir uma configuração que se afastou do estado desejado
- Descubra o estado atual da configuração em um determinado nó
Aqui está um exemplo de arquivo de configuração que habilitará o IIS, garantirá que os arquivos do site estejam na pasta correta e, se algum desses itens não estiver instalado ou ausente, para instalá-los ou copiá-los conforme apropriado (observe que $ websitefilepath é presume-se ser predefinido como a fonte para os arquivos do site):
Configuration MyWebConfig
{
# A Configuration block can have zero or more Node blocks
Node "Myservername"
{
# Next, specify one or more resource blocks
# WindowsFeature is one of the built-in resources you can use in a Node block
# This example ensures the Web Server (IIS) role is installed
WindowsFeature MyRoleExample
{
Ensure = "Present" # To uninstall the role, set Ensure to "Absent"
Name = "Web-Server"
}
# File is a built-in resource you can use to manage files and directories
# This example ensures files from the source directory are present in the destination directory
File MyFileExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Type = "Directory“ # Default is “File”
Recurse = $true
# This is a path that has web files
SourcePath = $WebsiteFilePath
# The path where we want to ensure the web files are present
DestinationPath = "C:\inetpub\wwwroot"
# This ensures that MyRoleExample completes successfully before this block runs
DependsOn = "[WindowsFeature]MyRoleExample"
}
}
}
Para obter mais detalhes, consulte Visão geral da configuração de estado desejado do Windows PowerShell e Introdução à Configuração do estado desejado do Windows PowerShell .
Então, por que você usaria isso em vez de simplesmente o cmdlet install-windowsfeature? O poder real de usar o DSC em vez de um script é que eu posso definir um local onde eu possa armazenar configurações para serem enviadas ou empurradas (com relação à máquina de destino), veja Pressione e puxe os modos de configuração . A configuração não se importa se a máquina é física ou virtual, mas acredito que seja necessário pelo menos 2012 para que o servidor inicialize para extrair o DSC.