У меня есть сервер Windows 2008 R2 SP1 со всеми текущими обновлениями Windows. Я пытаюсь запустить PowerShell, но он выдает следующую ошибку:
Внутренняя ошибка Windows PowerShell. Загрузка управляемого Windows PowerShell завершилась ошибкой 80070002
Затем он немедленно возвращается к строке cmd.
Я провел проверку sfc /scannow
и она оказалась чистой.
Я пробовал бегатьpowershell -noprofile
решение1
Удаление и переустановкаWindows Management Framework 4.0(KB2819745) устранил ошибку.
решение2
Я использовал этот скрипт для проверки всех папок .NET
@echo off
cd C:\Windows\Microsoft.NET\assembly\GAC_MSIL
for /D %%z in (*) do (
echo %%z
rename %%z %%z1
powershell 'powershell works'
rename %%z1 %%z
pause
echo.
)
Из 236 папок единственная, которая дала мне ошибку 80070002, была
Microsoft.PowerShell.ConsoleHost
Вы можете исправить PowerShell следующим образом
wusa /выдержка:.Windows6.1-KB2819745-x64-MultiPkg.msu dism /online /remove-package /packagepath:Windows6.1-KB2819745-x64.cab dism /online /add-package /packagepath:Windows6.1-KB2819745-x64.cab