Как загрузить Powershell ISE 3 с powershell v2 внутри?

Я только что установил новый powershell 3 на свой компьютер с Windows 7 и обнаружил, что новая версия powershell не работает с Sharepoint 2010.

Я также нашел решение этой проблемы (здесь или здесь). Но это решает проблему только для стандартной консоли powershell. Поскольку мы делаем большую часть работы через ISE, интересно, можно ли сделать то же самое в ISE?

Я пытался добавить параметр Version, но ISE его не знает. Я попытался ввести powershell -version 2 в консоль ISE, но это не помогло.

Если это невозможно, у меня другой вопрос: мне нужно использовать ISE с Sharepoint 2010, так как я могу удалить powershell 3 и новый ISE?


person jumbo    schedule 22.10.2012    source источник
comment
Что вам нужно, чтобы узнать, достаточно ли настраивается ISE, поэтому, когда он запускает сеанс powershell внутри, вы можете указать параметр командной строки для команды powershell. Мне пришлось бы установить новый ISE и посмотреть самостоятельно. В противном случае вы можете застрять с редактированием сценариев в ISE, но тестировать снаружи, используя консоль, запущенную вручную.   -  person Roman    schedule 24.10.2012
comment
Я заглянул в настройки и не нашел там ничего полезного. Так что, возможно, это возможно с помощью некоторой настройки кода, возможно, в профиле. Но я ничего не знаю о таких кастомизациях... Пока, похоже, я застрял :(   -  person jumbo    schedule 24.10.2012
comment
я попытался быстро создать файл powershell_ise.exe.config в соответствии с Принудительное выполнение приложения.... Я думаю, что эта папка как-то защищена. Я буду исследовать дальше в ближайшее время.   -  person Roman    schedule 25.10.2012


Ответы (2)


Это известная проблема при установке обновления Windows Management Framework 3.0 (оно включает PS 3.0), которое, поскольку оно использует .net 4.0, делает несовместимыми все командлеты SP2010 (3.5).

Консольное приложение может принимать переключатель "-version 2", но, как указано, это несовместимо с ISE.

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

person JJones    schedule 29.12.2012

Вы можете сделать это, создав новый сеанс PSSession.

Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0 –ShowSecurityDescriptorUI

# Please consult system admin when your run set-item and Enable-WSManCredSSP command
Set-Item wsman:localhost\client\trustedhosts -value * -Confirm:$false -Force
Enable-WSManCredSSP -Role Client –DelegateComputer * -Force
Enable-WSManCredSSP -Role Server -Force

# For test purpose
# Get-WSManCredSSP
# get-item wsman:localhost\client\trustedhosts

$cred = Get-Credential
$session = New-PSSession -ComputerName $env:COMPUTERNAME -authentication credssp -ConfigurationName PS2 -Credential $cred
Enter-PSSession $session

# 2.0 runtime
Add-PSSnapin microsoft.sharepoint.powershell
$web = Get-SPWeb http://SPSite/
$web.Url

Exit-PSSession

Unregister-PSSessionConfiguration -Name PS2

Disable-WSManCredSSP -Role Client
Disable-WSManCredSSP -Role Server

Если вы не выйдете из PSSession, вы можете запустить команду среды выполнения 2.0 из Powershell ISE 3.

person Sergey B. Hizof    schedule 29.02.2016