Сломанная кодировка в PowerShell в Windows 10

550
Jérôme MEVEL

Я - разработчик .NET, и теперь мне нужно работать с PowerShell, проблема в том, что мой PowerShell кажется полностью сломанным.

enter image description here

Прежде всего, если использовать копирование, оно работает с некоторыми командами, но некоторые этого не делают, и выдают ошибку The term 'Command Name' is not recognized as the name of a cmdlet, function, script file, or operable program. В этом случае мне нужно вручную ввести ту же команду, чтобы она заработала.

Затем, когда я наконец набрал команду и запустил ее, выходная кодировка не подходит. Я пробовал различные способы поиска кодировки PowerShell в Интернете, но ни один из них не работал.

Когда моя новая компания дала мне этот компьютер, все было на китайском. Поэтому я изменил ВСЕ на английский (язык системы, язык системы и т. Д.). Сейчас все по-английски, но я подозреваю, что PowerShell не удалось внести изменения.

Я попытался запустить проверку файловой системы, но не нашел никаких проблем, а также попытался Uncheck PowerShell 2.0 in Windows Features -> Restart (PowerShell was still here) -> Check PowerShell 2.0 in Windows Feature -> Restart

Я надеюсь, что другие люди уже испытали это и нашли способ исправить это. Последнее, что я хочу, это тратить время на переустановку всей системы. Моя рабочая станция полностью настроена ...

ОБНОВЛЕНИЕ: если я использую PowerShell ISE вместо этого, сообщения отображаются на китайском языке, но он просто говорит «資訊», что означает информацию

enter image description here

Я очевидно теряю много информации, потому что вот результат на моем личном ноутбуке

enter image description here

Примечание. Версия моего веб-развертывания - 3.6.

0
Посмотрите на размер `-` в имени команды. Ваши не работающие команды содержат более `-` (вероятно, em-dash или en-dash) вместо правильного знака` -`. PetSerAl 6 лет назад 2
@PetSerAl Вот это да, хороший улов. Благодарю. Теперь мне все еще нужно исправить эту проблему кодирования Jérôme MEVEL 6 лет назад 0
@Ramhound `$ PSVersionTable.PSVersion` сообщает версию 5 (несовершеннолетняя версия 1, сборка 17134, редакция 228) Jérôme MEVEL 6 лет назад 0
Я отредактировал свой вопрос. версия 3.6 Jérôme MEVEL 6 лет назад 0
Я знаю, что я работаю над процессом автоматического развертывания для клиентов, для которых на наших серверах установлена ​​веб-платформа из соображений безопасности. Моя проблема касается кодировки, а не IIS и Web Deploy Jérôme MEVEL 6 лет назад 0

1 ответ на вопрос

0
harrymc

Вы уже пытались удалить и переустановить PowerShell, но все, что вы получаете, - это смесь английского и китайского языков.

Мне кажется, что изменение языка системы не было полным и не распространялось на некоторые компоненты Windows.

Поэтому я бы предложил выполнить ремонтную установку Windows 10 с обновлением на месте .

Это обновит все компоненты Windows и сохранит все установленные приложения и большинство системных настроек.

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

Если вы полностью прочитали мой вопрос, это то, что я уже сделал ", также попытался" снять флажок PowerShell 2.0 в Windows Features -> Перезагрузить (PowerShell все еще был здесь) -> Проверить PowerShell 2.0 в компоненте Windows -> Перезагрузить "и нового Центра обновления Windows нет. Jérôme MEVEL 6 лет назад 0
Извините за это - я переписал свой ответ. harrymc 6 лет назад 0
Я предполагаю, что ваш ответ работает, но у меня не было времени, чтобы попробовать его. Я фактически полностью переустановил Windows по другой причине. Больше никаких проблем Jérôme MEVEL 6 лет назад 0