Sim, para Linux e Windows, você pode criar os arquivos de configuração de estado desejados que podem:
- Ativar ou desativar funções e recursos do servidor
- Gerenciar configurações do registro
- Gerenciar arquivos e diretórios
- Iniciar, parar 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
- Corrija 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, verifique se os arquivos do site estão na pasta correta e, se alguma dessas coisas não estiver instalada ou ausente, para instalar ou copiá-los conforme apropriado (observe que presume-se que $ websitefilepath seja predefinida como a origem dos 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 de estado desejado do Windows PowerShell .
Então, por que você usaria isso em vez de simplesmente o cmdlet install-windowsfeature? O poder real do uso do DSC em vez de um script é que eu posso definir um local onde posso armazenar configurações a serem enviadas ou recebidas (em relação à máquina de destino), consulte Modos de configuração de envio e recepção . A configuração não se importa se a máquina é física ou virtual, mas acredito que são necessários pelo menos 2012 para que o servidor inicialize e puxe o DSC.