[HyperV2012R2+] Fix Job Loss During Disk Manipulation by Transitioning to WMI-Based Implementation #221
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fix this issue #146
After extensive testing, I discovered that we cannot guarantee that the Job ID created via PowerShell will be preserved. However, during these tests, it was confirmed that WMI always detects these Jobs, regardless of which PowerShell session created them. The issue was that PowerShell would assign different identification values to tasks than those seen by WMI. As a result, the only solution was to rewrite the problematic commands using a native WMI implementation.
I kept the option to execute tasks (for example, for custom scripts) asynchronously via PowerShell, but I strongly advise against using it (especially for heavy tasks) unless it cannot be implemented through WMI. This ensures that the issue described in #146 does not occur again.
The code has been tested, but additional verification is needed to ensure that Remote Hyper-V works correctly. It's enough to try creating or reinstalling a server.