Разница между PowerShell Console и PowerShell ISE
-
21-12-2019 - |
Вопрос
В чем различия между PowerShell Console и PowerShell ISE?Я задаю этот вопрос в контексте Профилей в PowerShell.Потому что PowerShell Console и PowerShell ISE имеют разные профили.
Решение
От Различия между консолью ISE и PowerShell:-
Ограниченная поддержка интерактивных консольных приложений, попробуйте cmd.exe, затем попробуйте cmd.exe /k
a) cmd.exe однако каталог / c все еще работает, и более подробная информация доступна здесь 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 всегда остается неизменным
Класс [Console] не поддерживается, попробуйте [console]::backgroundColor = 'белый'.
a) В общем, скрипты должны использовать API хоста (write-host) вместо класса [Console], чтобы они работали как в консоли, ISE, так и в удаленных и других оболочках.
Ограниченная (близкая к нулю) поддержка на $host.UI.RawUI.Мы поддерживаем только цвета и название
a) Цвета лучше задавать в $psISE.Options, потому что вы можете установить для них любой цвет, а не только цвета консоли
Пользовательский / мертвый-еще проще.Смотрите функцию gc: подробнее
а) У ISE нет пейджера
Start-Transcript не работает в ISE
Некоторые различия в культуре потоков
a) Если вы используете язык, не поддерживаемый консолью (например, арабский), ISE будет иметь Get-Culture как ar-sa, а powershell.exe будет иметь Get-Culture как en-us (или какой-либо другой запасной вариант)
Предложения не работают в ISE
a) Например, в разделе C:\Program Файлы\Internet Explorer", если вы выполните iexplore.exe
б) Вы увидите это только в PowerShell.exe Предложении [3, Общие положения]:Команда iexplore.exe не найдена, но существует в текущем расположении .Мощная Windows по умолчанию не загружает команды из текущего расположения .Если вы доверяете этой команде, вместо этого введите ".\iexplore.exe".
Смотрите "get-help about_Command_Precedence" для получения более подробной информации.
ISE работает в другом профиле
a) Профиль ISE находится в Microsoft.powersellise_profile.ps1, а powershell - в Microsoft.powersell_profile.ps1
б) http://msdn.microsoft.com/en-us/library/bb613488 (ПРОТИВ 85).aspx
в) http://www.leeholmes.com/blog/TheStoryBehindTheNamingAndLocationOfPowerShellProfiles.aspx
d) Вы можете использовать общий профиль, хранящийся в $profile.CurrentUserAllHosts, чтобы заставить его работать в обеих оболочках
Только у ISE есть $psISE
а) он получает доступ к http://psisecream.codeplex.com/, и http://blogs.msdn.com/powershell/archive/2008/12/29/powershell-ise-can-do-a-lot-more-than-you-think.aspx