| Предыдущий | Следующий |
| SDIAG_E_SCRIPT | SDIAG_E_MANAGEDHOST |
SDIAG_E_POWERSHELL
Причинная граница
Результат SDIAG_E_POWERSHELL () следует читать как точную границу: связанный PowerShell diagnostic script завершился ошибкой. Для расследования связывайте его с объектом и операцией в момент возврата, а не с более поздним retry или cleanup.
Точный EN-маркер для поиска по документации: A valid PowerShell script can still fail if the hosted runtime cannot start or accept commands.
. Сверяйте его с тем же timestamp и identity объекта.
Минимальный диагностический пакет
- package ID и стадия, соответствующая «связанный PowerShell diagnostic script завершился ошибкой».
- script/resource/verifier path и host process.
- PowerShell/diagnostic event, exit state и первый HRESULT.
Что доказать
Критерий проверки должен быть узким: доказать именно «связанный PowerShell diagnostic script завершился ошибкой» и отличить его от ближайшего соседнего состояния того же subsystem.
Ещё один code-specific ориентир из исходного EN-описания: Tests that separate the causes Run a minimal signed pack containing one trivial PowerShell detector
. Он полезен как контроль того, что воспроизводится именно этот boundary, а не соседний HRESULT.
В минимальном тесте оставьте неизменными остальные входы и меняйте только компонент, связанный с маркерами powershell. Сравните первый return value, достигнутую фазу и состояние объекта после отказа.
Для дополнительной сверки документация описывает проверку так: It is returned when WTP could not initialize, communicate with, or execute through its hosted PowerShell runtime.
. Не переносите это условие на другой object generation без повторной фиксации evidence.
Проверка результата
Не меняйте одновременно policy, identity, storage и service state. Один контролируемый change даёт возможность связать исчезновение HRESULT с реальной причиной, а не с побочным reset.
Технические ссылки
- Microsoft Open Specifications: HRESULT values.
- Microsoft: Windows Troubleshooting Platform.
- Microsoft: About WTP.
Нужно найти другой код? Найти другой код состояния или ошибки.
