Sí, tanto para Linux como para Windows, puede crear los archivos de configuración de estado deseados que pueden:
- Habilitar o deshabilitar funciones y funciones del servidor
- Administrar la configuración del registro
- Administrar archivos y directorios
- Iniciar, detener y administrar procesos y servicios.
- Administrar grupos y cuentas de usuario.
- Implementar nuevo software
- Administrar variables de entorno
- Ejecute scripts de Windows PowerShell
- Arregla una configuración que se ha alejado del estado deseado
- Descubre el estado de configuración real en un nodo dado
Aquí hay un archivo de configuración de muestra que habilitará IIS, asegurará que los archivos del sitio web estén en la carpeta correcta y, si alguna de estas cosas no está instalada o falta, para instalarlos o copiarlos según corresponda (tenga en cuenta que se presume que $ websitefilepath es predefinido como la fuente de los archivos del sitio web):
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 obtener más detalles, consulte la Descripción general de la configuración del estado deseado de Windows PowerShell y comience con la configuración del estado deseado de Windows PowerShell .
Entonces, ¿por qué usaría esto en lugar de simplemente el cmdlet install-windowsfeature? El verdadero poder de usar DSC en lugar de un script es que puedo definir una ubicación donde puedo almacenar configuraciones para ser empujadas o retiradas (con respecto a la máquina de destino), vea Modos de configuración de inserción y extracción . A la configuración no le importa si la máquina es física o virtual, pero creo que se necesita al menos 2012 para que el servidor arranque para extraer DSC.