Разница между PowerShell Console и PowerShell ISE

В чем разница между PowerShell Console и PowerShell ISE. Я задаю этот вопрос в контексте профилей в PowerShell. Поскольку PowerShell Console и PowerShell ISE имеют разные профили.

Ответы

Ответ 1

От Различия между консолью ISE и PowerShell: -

  • Ограниченная поддержка интерактивных консольных приложений, попробуйте cmd.exe, затем попробуйте cmd.exe/k

    a) cmd.exe/c dir все еще работает, и больше информации доступно здесь http://blogs.msdn.com/powershell/archive/2009/02/04/console-application-non-support-in-the-ise.aspx

  • Вывод консольного приложения не является цветным.

  • STA по умолчанию

    a) Попробуйте $host.Runspace.ApartmentState

    b) powershell - это MTA по умолчанию (ApartmentState отображается как Неизвестный), но может быть запущен в режиме sta с помощью powershell -sta.

    c) ISE всегда STA

  • Нет поддержки для класса [Консоль], попробуйте [console]:: BackgroundColor = 'белый'.

    a) В общем случае скрипты должны использовать API-интерфейс хоста (write-host, вместо класса [Console], чтобы они работали как на консоли, ISE, Remoting и другие оболочки.

  • Ограниченная (близкая к нулю) поддержка на $host.UI.RawUI. Мы поддерживаем только цвета и название

    a) Цвета лучше устанавливаются в $psISE.Options, потому что вы можете установить их для любого цвета, а не только цвета консоли

  • Пользовательский/мертвый-простой. См. Функцию gc: больше

    a) У ISE нет пейджера

  • Start-Transcript не работает в ISE

  • Некоторые различия в культуре темы

    a) Если youre в культуре, не поддерживающей консоль (например, на арабском языке), ISE будет иметь Get-Culture как ar-sa, а powershell.exe будет иметь Get-Culture как en-us (или какой-либо другой запас)

  • Предложения не работают в ISE

    a) Например, в C:\Program Files\Internet Explorer ", если вы выполните iexplore.exe

    b) Вы увидите это только в PowerShell.exe Suggestion [3, General]: команда iexplore.exe не найдена, но существует в текущей место нахождения. Windows PowerShe ll не загружает команды из текущего по умолчанию. Если вы доверяете этой команде, вместо этого введите" \ Iexplore.exe ".

    Подробнее см." get-help about_Command_Precedence ".

  • ISE запускает другой профиль

    a) Профиль ISE находится в Microsoft.PowerShellISE_profile.ps1, а powershell находится в Microsoft.PowerShell_profile.ps1

    b) http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx

    с) http://www.leeholmes.com/blog/TheStoryBehindTheNamingAndLocationOfPowerShellProfiles.aspx

    d) Вы можете использовать общий профиль, хранящийся в $profile.CurrentUserAllHosts, чтобы он выполнялся в обеих оболочках

  • Только ISE имеет $psISE

    a) он получает доступ к http://psisecream.codeplex.com/ и http://blogs.msdn.com/powershell/archive/2008/12/29/powershell-ise-can-do-a-lot-more-than-you-think.aspx