windowspowershellazure-powershelldscwindows-administration

DSC Configuration 'AD' completed with error(s). Following are the first few: WinRM cannot process the request


I am getting below error while triggering a dsc configuration in a AD VM.

VMExtensionProvisioningError","message":"VM has reported a failure when processing extension 'ConfigureActiveDirectory'. Error message: "DSC Configuration 'AD' completed with error(s). Following are the first few: WinRM cannot process the request. The following error with errorcode 0x80090350 occurred while using Negotiate authentication: An unknown security error occurred. \r\n Possible causes are:\r\n -The user name or password specified are invalid.\r\n -Kerberos is used when no authentication method and no user name are specified.\r\n -Kerberos accepts domain user names, but not local user names.\r\n -The Service Principal Name (SPN) for the remote computer name and port does not exist.\r\n -The client and remote computers are in different domains and there is no trust between the two domains.\r\n After checking for the above issues, try the following:\r\n -Check the Event Viewer for events related to authentication.\r\n -Change the authentication method; add the destination computer to the WinRM TrustedHosts configuration setting or use HTTPS transport.\r\n Note that computers in the TrustedHosts list might not be authenticated.\

Below is the authentication method used.

[System.Management.Automation.PSCredential]$DomainCreds = New-Object System.Management.Automation.PSCredential ("${DomainNetBiosName}\$($AdminCredentials.UserName)", $AdminCredentials.Password)

Whenever I try to rerun the same dsc config on VM, the issue is not repeating.

Tried adding below PS command in script, however it doesn't help in resolving

winrm set winrm/config/client '@{TrustedHosts="localhost"}'


Solution

  •       SetScript = {
    
                     Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\WindowsAzureGuestAgent' -Name DependOnService -Type MultiString -Value DNS
    
                Write-Verbose -Verbose "GuestAgent depends on DNS"
            }
    

    As per MS suggestion, adding this lines to the code fixed our issue.