При запуске PowerShell 6 в PowerShell ISE окна зависают и нет ввода

Недавно я установил версию PowerShell 6 * на Windows Server 2016. Пока я пытаюсь запустить pwsh.exe в PowerShell ISE, Windows зависает и ничего не возвращает для ввода дополнительных данных. Пожалуйста, обратитесь к скриншоту ниже для того же. Кто-нибудь сталкивался с такой же проблемой, пожалуйста, дайте мне решения или обойти ее. Снимок экрана с окнами PowerShell


person Anup    schedule 10.12.2019    source источник
comment
Насколько я знаю, Powershell_ISE поддерживает только Windows Powershell. Нет Powershell 6 или 7. Вместо этого я рекомендую VSCode.   -  person Olaf    schedule 10.12.2019
comment
Я загружаю версию powershell 6.2 и запускаю powershell 6.2 в Cmd через pwsh.exe, который работает нормально, но когда я пытаюсь сделать то же самое в powershell ISE, он зависает.   -  person Anup    schedule 10.12.2019
comment
Чего вы хотите добиться на самом деле?   -  person Olaf    schedule 10.12.2019
comment
Я хочу запустить версию PowerShell 6.2 в PowerShell ISE, выполнив команду pwsh.exe, но она не запускается, и окна PS ISE зависают там (пожалуйста, обратитесь к изображению в вопросе для того же).   -  person Anup    schedule 10.12.2019
comment
Нет. Почему вы хотите запускать Powershell 6.2 в ISE? Какую проблему вы хотите решить с помощью этого. Если вы хотите разрабатывать скрипты для Powershell 6 или выше, вам следует использовать VSCode. Powershell_ISE не поддерживает Powershell 6.   -  person Olaf    schedule 10.12.2019
comment
У меня есть один скрипт, который изначально был разработан в PS5.1, в этом скрипте я вызываю одну команду, которая Invoke-RestMethod -Uri "API-URL" -Method Post -Body $json -SessionVariable session Теперь я хочу использовать дополнительные параметры в той же строке, которая -RetryIntervalSec 10 -MaximumRetryCount 3, которая не поддерживается PS5.1, она поддерживается только PS6 .2. В этом скрипте есть другие команды, которые не работают в PS6.2, такие как Get-DnsClientServerAddress и Get-NetIPAddress, поэтому я пытаюсь запустить этот скрипт в PowerShell_ISE.   -  person Anup    schedule 10.12.2019
comment
Вы не можете смешивать командлеты, поддерживаемые только в одной версии Powershell, и ожидать, что они будут выполняться в неподдерживаемой версии. Поскольку Powershell_ISE предназначен только для целей разработки, вам следует использовать обычную Powershell для запуска вашего скрипта.   -  person Olaf    schedule 10.12.2019
comment
Да, я согласен с вами, но обычно более новая версия всегда поддерживает функции старой версии, поэтому я надеялся также на PS5.1 и PS6.2. Я пытался запустить pwsh.exe в обычных окнах PowerShell, он работал там, а не в PS_ISE. Тем не менее я борюсь с другой проблемой в ядре PowerShell stackoverflow.com/questions/59263965/   -  person Anup    schedule 11.12.2019
comment
Вы вообще не должны запускать интерактивные консольные приложения внутри ISE. Это не поддерживаемый сценарий, и он не уникален для pwsh.exe.   -  person George Chakhidze    schedule 11.12.2019


Ответы (1)


Как показывают комментарии к вашему вопросу, вам следует переключиться на Visual Studio Code для разработки PowerShell. ISE не обновляется регулярно для поддержки более поздних версий PowerShell.

Что нового в PowerShell

PowerShell ISE больше не находится в активной разработке. Как поставляемый компонент Windows, он по-прежнему официально поддерживается для исправления безопасности и высокоприоритетного обслуживания. В настоящее время мы не планируем удалять ISE из Windows.

В PowerShell v6 и более поздних версиях нет поддержки ISE. Пользователям, которые ищут замену ISE, следует использовать Visual Studio Code с расширением PowerShell.

Что касается команд, не относящихся к PowerShell Core, вам следует обновиться до PowerShell 7 и посмотреть, решены ли ваши проблемы совместимости с этими модулями. Над совместимостью было проделано много работы, и, возможно, вы сможете использовать эти модули сейчас или найти более современную альтернативу.

Для PowerShell Core 6 вы также можете посмотреть модуль WindowsCompatibility. Мне сказали, что это не требуется в PowerShell 7, но мне было полезно в версии 6 лучше использовать модули WindowsPowerShell во время моего сеанса pwsh.exe.

person sheldonhull    schedule 26.03.2020