SCVMM 2012 – WinRM Provider Error 2927 | Quisitive
SCVMM 2012 – WinRM Provider Error 2927
July 31, 2012
Matthew Dowst
How to deploy a VM from a template from SCVMM 2012.

I recently ran into an issue where I could not deploy a VM from a template from SCVMM 2012. Every time I would try, it would fail at the Install VM components step. The job would report a failure with the following error message:

Error (2927)

A Hardware Management error has occurred trying to contact server <servername> :w:InternalError :HRESULT 0x8033811e:The WS-Management service cannot process the request. The WMI provider returned an 'invalid parameter' error. .

Unknown error (0x8033811e)

Recommended Action

Check that WinRM is installed and running on server <servername>. For more information use the command "winrm helpmsg hresult".

I would also receive this error message when trying to mount and ISO from a share, or when trying to create a VM template from a deployed machine.

After ruling out any firewall or network issues, I began digging into what caused the problem.  I found that there can be multiple reasons that you receive this error message. They include WinRM not running or being configured properly, constraint delegation needs to be setup, or there is a port conflict with BITS. I have taken all of these reasons into consideration and created the troubleshoot guide below.

Troubleshooting Error (2927) in SCVMM 2012

Step 1
Confirm that WinRM is running and setup for remote management.
1. Open command prompt and enter: winrm qc
2. If WinRM is configured you should receive a prompt that states:
WinRM service is already running on this machine.
WinRM is already set up for remote management on this computer.
3. If WinRM is running and configured then move onto the next step.
4. If WinRM is not configured you can use the winrm quickconfig command to set it up. For more on this refer to http://msdn.microsoft.com/en-us/library/windows/desktop/aa384372(v=vs.85).aspx

Step 2.
Configure Constrained Delegation for the Hyper-V host
1. Verify that the VMM Server service (vmmservice.exe) is running under a domain account and not the LocalSystem account.
2. In Administrative Tools, open Active Directory Users and Computers, and then navigate to the machine account for the computer running Hyper-V.
3. Right-click the computer account for the Hyper-V host, and then click Properties.
4. On the Delegation tab, click Select this computer for delegation to specified services only, and then click Use any authentication protocol.
5. To allow the Hyper-V computer account to present delegated credentials for the library servers:
a. Click Add.
b. In the Add Services dialog box, click Users or Computers, select each VMM library server that stores ISO image files, and then click OK.
c. In the Available services list, select the cifs protocol (also known as the Server Message Block (SMB) protocol) for each of the VMM library servers, and then click Add.
6. Check to see if this fixes the problem. If not continue on to step 3.

Step 3.
Check for a port conflict between the SCVMM and the Hyper-V host.
1. On the Hyper-V host open the Event Viewer and navigate to System events.
2. Look for EventID: 15005 with Source: HttpEvent
3. Look in the details of the event for the port number.
a. In my case the event details stated, “Unable to bind to the underlying transport for [::]:443”
b. This told me that the conflict was being caused on port 443.
4. On the SCVMM server open regedit
5. Navigate to HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft System Center Virtual Machine Manager ServerSettings
6. Change the value of BITSTcpPort from 443 to an unused port number. I used 8500
7. Reboot the SCVMM server.

In my case this finally resolved the issue, and I have been able to deploy VMs, create templates and attach ISOs without any issues. By default SCVMM uses port 443 to initiate a BITS file transfer from the Library server to the destination host. If your host server is using 443 for another process it will cause a conflict and the job will fail. By changing the port that SCVMM uses for the transfer you can prevent this conflict.