Powershell мгновенно закрывается - PullRequest
1 голос
/ 12 февраля 2020

Я просмотрел все inte rnet и не могу найти никакой информации, относящейся к этой ситуации.

Powershell закрывается сразу после запуска. Когда я запускаю его в командной строке, я получаю следующее:

Windows PowerShell terminated with the following error:
 Unable to cast object of type 'System.String' to type 'System.String[]'.

Я проверил следующие папки и профилей не существует:

c: \ users \ me \ appdata \ microsoft \ windows \ powershell

c: \ windows \ system32 \ windowspowershell \ v1.0 \

c: \ windows \ systwow64 \ windowspowershell \ v1.0 \

Я попытался запустить следующие команды, и мне не повезло:

powershell -noexit

powershell -noprofile

Я выполнил следующие команды и не повезло:

sfc.exe /scannow

DISM.exe /Online /Cleanup-image /Restorehealth

Я также пошел в Панель управления -> Удалить программу -> Повернуть Windows функции затем включите или выключите, удалил Powershell, перезагрузите, а затем переустановите его.

После выполнения всех этих шагов я все еще не могу запустить Powershell. ISE тоже не работает.

1 Ответ

0 голосов
/ 12 февраля 2020

Каждый раз, когда вы запускаете powershell, он загружает модули по умолчанию, представленные в каталоге модулей. Один из этих модулей (скорее всего, пользовательский, который вы написали) вызывает ошибки и не позволяет вам запускаться.

Не зная ничего о модулях, представленных в каталоге, расположенном по адресу: C: \ windows \ system32 \ windowspowershell \ v1.0 \ Modules, кому-то будет трудно рассказать вам о решении.

Рекомендация

Удалите все имеющиеся там пользовательские модули и добавьте каждый нужный вам модуль по одному, чтобы увидеть, какой из них нарушает ваш powershell.exe. Вам нужно будет проверить каждый путь, который вы определили, для загрузки пользовательских модулей.

Другим способом было бы очистить PSModulePath от переменных среды и добавлять по одному местоположению за раз, пока вы не увидите, какой каталог Modules вызывает ошибку.

ПРИМЕЧАНИЕ : Запишите пути в блокноте где-то перед тем, как его очистить.

Из этой ошибки похоже на. net библиотечный класс (dll), который неправильно написано.

...