Test:

El método de prueba de un recurso determina si el nodo de destino cumple actualmente con el estado deseado del recurso. El método Test devuelve $true o $false solo para indicar si el nodo es compatible. Cuando llama a Test-DSCConfiguration, el LCM llama al método de prueba de cada recurso en la configuración aplicada actualmente. El LCM utiliza los valores clave almacenados en el archivo «.mof» como parámetros para cada instancia de recurso correspondiente.

Si el resultado de la prueba de cualquier recurso individual es $falso, Test-DSCConfiguration devuelve $falso, lo que indica que el nodo no es compatible. Si todos los métodos de prueba de recursos devuelven $true, Test-DSCConfiguration devuelve $true para indicar que el nodo es compatible.

Test-DSCConfiguration

True

A partir de PowerShell 5.0, se agregó el parámetro Detallado. La especificación de Detail hace que Test-DSCConfiguration devuelva un objeto que contiene colecciones de resultados para recursos compatibles y no compatibles.

Test-DSCConfiguration -Detailed

PSComputerName ResourcesInDesiredState ResourcesNotInDesiredState InDesiredState
————– ———————– ————————– ————–
localhost {[Service]Spooler} True

Set:

El método Set de un recurso intenta obligar al Nodo a cumplir con el estado deseado del recurso. El método Set está destinado a ser idempotente, lo que significa que Set podría ejecutarse varias veces y obtener siempre el mismo resultado sin errores. Cuando ejecuta Start-DSCConfiguration, el LCM recorre cada recurso en la configuración aplicada actualmente. El LCM recupera valores clave para la instancia de recurso actual del archivo «.mof» y los usa como parámetros para el método de prueba. Si el método Test devuelve $true, el nodo es compatible con el recurso actual y se omite el método Set. Si la Prueba devuelve $falso, el Nodo no es compatible. El LCM pasa los valores clave de la instancia del recurso como parámetros al método Set del recurso, restaurando el Nodo a la conformidad.

Al especificar los parámetros Verbose y Wait, puede ver el progreso del cmdlet Start-DSCConfiguration. En este ejemplo, el Nodo ya es compatible. El resultado Verbose indica que se omitió el método Set.

PS> Start-DSCConfiguration -Verbose -Wait -UseExisting

VERBOSE: Perform operation ‘Invoke CimMethod’ with following parameters, »methodName’ =
ApplyConfiguration,’className’ = MSFT_DSCLocalConfigurationManager,’namespaceName’ =
root/Microsoft/Windows/DesiredStateConfiguration’.
VERBOSE: An LCM method call arrived from computer SERVER01 with user sid
S-1-5-21-124525095-708259637-1543119021-1282804.
VERBOSE: [SERVER01]: [] Starting consistency engine.
VERBOSE: [SERVER01]: [] Checking consistency for current configuration.
VERBOSE: [SERVER01]: [DSCEngine] Importing the module
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\DscResources\MSFT_ServiceResource\MSFT
_ServiceResource.psm1 in force mode.
VERBOSE: [SERVER01]: LCM: [ Start Resource ] [[Service]Spooler]
VERBOSE: [SERVER01]: LCM: [ Start Test ] [[Service]Spooler]
VERBOSE: [SERVER01]: [[Service]Spooler] Importing the module MSFT_ServiceResource in
force mode.
VERBOSE: [SERVER01]: LCM: [ End Test ] [[Service]Spooler] in 0.2540 seconds.
VERBOSE: [SERVER01]: LCM: [ Skip Set ] [[Service]Spooler]
VERBOSE: [SERVER01]: LCM: [ End Resource ] [[Service]Spooler]
VERBOSE: [SERVER01]: [] Consistency check completed.
VERBOSE: Operation ‘Invoke CimMethod’ complete.
VERBOSE: Time taken for configuration job to complete is 1.379 seconds

Y con esto hemos terminado con esta sección de la documentación de MS.

Un saludo

Por jioller

Deja una respuesta

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