Conceptos básicos de PowerShell DSC (configuración de estado deseado) – informaticamadridmayor

Configuración de estado deseada (DSC) le permite configurar Windows y aplicaciones mediante un archivo de configuración y PowerShell. Al igual que en otros sistemas de administración de configuración (por ejemplo, Puppet o Ansible), cuando se usa la configuración de estado deseada, el administrador puede describir la configuración requerida (estado de destino) en el archivo de configuración y luego usar PowerShell para aplicarla a una o varias computadoras / servidores. Con la configuración de estado deseado de PowerShell, puede simplificar enormemente la implementación y configuración de servidores y estaciones de trabajo con la configuración de sus sistemas operativos como código.

DSC apareció por primera vez en PowerShell 4.0 (una versión de Windows Management Framework introducida en Windows Server 2012 R2).

Como dijimos anteriormente, el administrador primero debe crear un archivo de configuración que describa el estado de Windows. Puede utilizar los recursos integrados (archivo, entorno, registro, script, servicio, usuario) o recursos DSC de terceros. En Windows 10 (Windows Server 2016), hay 23 tipos de recursos DSC integrados. Puede visualizarlos utilizando el Get-DSCResource mando:

  • Expediente
  • Firma Validación
  • Archivo
  • Medio ambiente
  • Grupo
  • GroupSet
  • Tronco
  • Paquete
  • ProcessSet
  • Registro
  • Texto
  • Servicio
  • ServiceSet
  • Usuario
  • WaitForAll
  • WaitForAny
  • WaitForSome
  • WindowsFeature
  • WindowsFeatureSet
  • WindowsOptionalFeature
  • WindowsOptionalFeatureSet
  • WindowsPackageCab
  • WindowsProcess

Para demostrar cómo funciona DSC, crearemos un archivo de configuración simple. Supongamos que nuestra tarea es configurar el servidor de la siguiente manera: deshabilitar el servicio BranchCache, iniciar el proceso notepad.exe, permitir el acceso RDP en el registro (el parámetro fDenyTSConnections se establece en 0) y cree el directorio C: PS en la unidad local.

La palabra clave Configuration se utiliza para crear el archivo de configuración DSC. Crea el dsc_test.ps1 archivo con el siguiente código:

Prueba de configuración Configuración

{

Nodo dc01

{

#Disable BranchCache Service

Service PeerDistSvc {

Nombre = «PeerDistSvc»

StartupType = «Deshabilitado»

Estado = «Detenido»

}

#Enable RDP

Registro fDenyTSConnections {

Asegúrese = «Presente»

Clave = «HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server»

ValueName = «fDenyTSConnections»

ValueData = «0»

ValueType = «Dword»

}

#Crear carpeta C: PS

Archivo InstallDir {

Asegúrese = «Presente»

Tipo = «Directorio»

DestinationPath = «C: PS»

}

#Ejecutar Notepad.exe

Bloc de notas de WindowsProcess

{

Asegúrese = «Presente»

Ruta = «C: WINDOWSsystem32notepad.exe»

Argumentos = «»

}

}

}

TestConfiguration

Insinuación. En un archivo de configuración, puede describir el estado de uno o más hosts.

Ejecute este archivo de secuencia de comandos de PS1. Como resultado, el dc01.mof El archivo aparecerá en el directorio actual.

Basado en el archivo de configuración para cada nodo, se genera un archivo separado en el formato de archivo MOF (Management Object Format). Puede ver manualmente el contenido del archivo MOF:

ejemplos de powershell dsc

Para aplicar la configuración del archivo de configuración DSC al servidor, debe aplicar la configuración del archivo MOF.

Hay dos formas de aplicar archivos MOF.

  • Empujar – los archivos de configuración se transfieren desde la estación de trabajo del administrador a computadoras remotas a través de WinRM (administración remota de Windows). Para hacer esto, use el Start-DscConfiguration cmdlet;
  • Jalar – las computadoras administradas se conectan a un servidor de archivos (repositorio de archivos de configuración), descargan y aplican configuraciones por su cuenta. La configuración de Pull DSC se basa en un AppPool especial basado en IIS.

Considere la posibilidad de aplicar la configuración DSC a través del modo push.

Propina. Antes de usar el método Push, debe configurar la política de ejecución “Set-ExecutionPolicy RemoteSigned” y habilitar PowerShell remoto usando el comando “Enable-PSRemoting”.

Para hacer esto, use el Start-DscConfiguration comando con el -Sendero argumento, que especifica la ruta al directorio que contiene los archivos MOF. Aplique el archivo de configuración creado anteriormente a la computadora actual:

Start-DscConfiguration -Path C:UsersAdministratorTestConfiguration

Insinuación. Para obtener información más detallada sobre la aplicación de la configuración, utilice los parámetros -Wait y -Verbose.

tutorial de powershell dsc

Después de ejecutar este comando, si la configuración de la computadora cumplió con los requisitos, nada cambiará y, de lo contrario, se cambiará la configuración. Configuración aplicada en una computadora por el servicio Administrador de configuración local. En nuestro ejemplo, se creó el directorio C: PS en el disco, se detuvo el servicio BranchCahe y se inició el proceso notepad.exe en nombre de NT AUTHORITYSYSTEM.

Los ajustes realizados con DSC pueden cambiar con el tiempo. Puede comprobar si hay discrepancias entre la configuración actual y el archivo de configuración utilizando el Test-DscConfiguration mando. Por ejemplo, eliminamos los procesos notepad.exe y eliminamos el directorio C: PS. Ejecute el comando:

Test-DscConfiguration

El cmdlet regresó Falso, lo que significa que el estado del servidor no coincide con la configuración.

configuración dsc

Utilizando el Get-DscConfiguration comando, puede obtener el valor de los valores de configuración actuales de DSC.

configuración de estado deseado de windows powershell

Para eliminar la configuración actual de DSC de la computadora, ejecute el comando:

Remove-DscConfigurationDocument -Stage Current -Verbose

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *