Windows fails to join domain with customization specification
search cancel

Windows fails to join domain with customization specification

book

Article ID: 417458

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

  • During virtual machine deployment, the hostname defined in the guest OS customization specification is not being applied correctly within the guest operating system.

  • Windows virtual machine does not join the defined domain after customization.

  • Following errors in C:\Windows\System32\Sysprep\Panther\setuperr.log :

    [YYYY-MM-DDTHH:MM:SS], Error SYSPRP Package Microsoft.Copilot_0.4.2.0_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
    [YYYY-MM-DDTHH:MM:SS], Error SYSPRP Failed to remove apps for the current user: 0x80073cf2.
    [YYYY-MM-DDTHH:MM:SS], Error SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
    [YYYY-MM-DDTHH:MM:SS], Error SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2

Environment

VMware vCenter Server 7.x
VMware vCenter Server 8.x

Cause

The AppX package Microsoft.Copilot_0.4.2.0_neutral__8wekyb3d8bbwe is installed in a single user context but not provisioned for all users. This condition blocks sysprep generalization. 

Resolution

  1. Login to the Windows template virtual machine.
  2. Open Windows PowerShell with administrator account.
  3. Removes the Copilot app from all existing user accounts.

    Get-AppxPackage -AllUsers -Name Microsoft.Copilot* | Remove-AppxPackage -AllUsers


  4. Ensure new users will not get Copilot:

    Get-AppxProvisionedPackage -Online | Where-Object { $_.PackageName -like "*Microsoft.Copilot*" } | Remove-AppxProvisionedPackage -Online


  5. Reboot the virtual machine.
  6. Verify that no Copilot packages remain:

    Get-AppxPackage -AllUsers -Name Microsoft.Copilot*
    Get-AppxProvisionedPackage -Online | Where-Object { $_.PackageName -like "*Microsoft.Copilot*" }


  7. Convert this template virtual machine to a template.
  8. Redeploy virtual machines from the template with customization specification.