Troubleshoot Join to AD Error: No Plugin Manifest File Found
In rare instances, when creating a session host or desktop image, the Join to AD task may time out and return an error message similar to the following:
Error: An error occurred during AD extension installation: System.AggregateException: One or more errors occurred. (Long running operation failed with status 'Failed'. Additional Info:'The handler for VM extension type 'Microsoft.Compute.JsonADDomainExtension' has reported terminal failure for VM extension '<vm_name>-join-ad-ext' with error message: 'Error while processing plugin Microsoft.Compute.JsonADDomainExtension version 1.3.6 extension '', state: enabled, error: Plugin manifest deserialization has failed with exception: No plugin manifest file C:\Packages\Plugins\Microsoft.Compute.JsonADDomainExtension\1.3.6\HandlerManifest.json found under the plugin folder'.
Note: You should also see the same error reported by viewing the extension details in the Azure portal.
This error indicates that the extension (Join to AD) was unable to successfully install and initialize on the VM. It is not an indicator that the VM failed to join the domain. In addition, because the extension has failed to even initialize properly, the Download AD Join Logs facility in Nerdio Manager does not return anything of value.
Note: For other errors reporting the same plugin manifest file error, but not on the Join AD step, a similar troubleshooting and resolution process may be followed. Ensure the folder and registry locations match the extension being referenced. For example, Remove Users from Temp VM step on Power Off and Set as Image uses CustomScriptExtension.
Workaround
Normally when this error occurs, you can resume the task on the Add Host or Add Desktop Image step after first removing the Join to AD extension on the VM. Once the extension has been removed from the VM, select Resume and Nerdio Manager retries the same step. It normally completes successfully within a reasonable time frame (typically 3-5 minutes).
Solution
One of the reasons this extension may fail to process successfully the first time, but completes properly on a retry (after first removing the extension), is if the original VM image used to provision the session host or new desktop image has old extension data that has not been cleaned up.
One of the locations that may be left behind from a previous Join to AD step could be the HandlerState registry key. This key is used to track the current status of extensions installed in the VM. When the Join to AD extension is cleanly uninstalled, the registry key and folder location should be completely removed. If a new session host or desktop image is provisioned or cloned from a VM where the Join to AD extension was not gracefully uninstalled, then there could be leftover values in the registry key or folder that's affecting the current Join to AD process, and causing the error indicated above.
On the original (source) VM used to provision the new session host or desktop image, please ensure the following:
The Join to AD extension is not currently installed.
The folder location C:\Packages\Plugins\Microsoft.Compute.JsonADDomainExtension does not exist.
The registry location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure\HandlerState\Microsoft.Compute.JsonADDomainExtension_1.3.6 does not exist.
If any of the above items are found, they should be uninstalled or deleted. Once uninstalled or deleted on the original (source) VM, you should rerun the Power Off and Set as Image process to regenerate a new image object to provision from.
Comments (0 comments)