Manual Execution of DSC Scripts - OTRF/Blacksmith GitHub Wiki

Execute DSC Scripts Locally

RDP to Server

First, RDP to the server where you want to execute your DSC scripts manually

Delete MOF Folder (Optional)

If you want to update your script, you need to delete the MOF folder

Switch directory to C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3

cd C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3\

delete the PrepareAD-MSExchange folder which contains MOF files.

Create MOF Files

Open the DSC script in C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3 folder and add the following at the end of the script:

$cd = @{
    AllNodes = @(
        @{
            NodeName = 'localhost'
            PSDscAllowPlainTextPassword = $true
            PSDscAllowDomainUser = $true
        }
    )
}

PrepareAD-MSExchange -ConfigurationData $cd

Set-DscLocalConfigurationManager -Path .\PrepareAD-MSExchange -Verbose

Open PowerShell and run the following:

& C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3\PrepareAD-MSExchange.ps1 -verbose

You will be asked to pass parameters to the script. At the end you should be able to see something similar

PS C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3> & C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3\PrepareAD-MSExchange.ps1 -Verbose

cmdlet PrepareAD-MSExchange at command pipeline position 1
Supply values for the following parameters:
DomainFQDN: blacksmith.local
DomainController: DC01
AdminCreds
MXSISODirectory: C:\ProgramData
MXSRelease: MXS2016-x64-CU22-KB5005333

    Directory: C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3\PrepareAD-MSExchange

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        10/6/2022   2:46 AM          16794 localhost.mof
-a----        10/6/2022   2:46 AM           1152 localhost.meta.mof
VERBOSE: Performing the operation "Start-DscConfiguration: SendMetaConfigurationApply" on target "MSFT_DSCLocalConfigurationManager".
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendMetaConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer MXS01 with user sid S-1-5-21-1429921801-2150675542-1128058305-500.
VERBOSE: [MXS01]: LCM:  [ Start  Set      ]
VERBOSE: [MXS01]: LCM:  [ Start  Resource ]  [MSFT_DSCMetaConfiguration]
VERBOSE: [MXS01]: LCM:  [ Start  Set      ]  [MSFT_DSCMetaConfiguration]
VERBOSE: [MXS01]: LCM:  [ End    Set      ]  [MSFT_DSCMetaConfiguration]  in 0.0070 seconds.
VERBOSE: [MXS01]: LCM:  [ End    Resource ]  [MSFT_DSCMetaConfiguration]
VERBOSE: [MXS01]: LCM:  [ End    Set      ]
VERBOSE: [MXS01]: LCM:  [ End    Set      ]    in  0.0850 seconds.
VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Set-DscLocalConfigurationManager finished in 0.194 seconds.

PS C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3>

Run DSC Script

Start-DscConfiguration -wait -force -path C:\Packages\Plugins\Microsoft.Powershell.DSC\2.83.2.0\DSCWork\PrepareAD-MSExchange.3\PrepareAD-MSExchange -Verbose