Ответ 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