使用2.0运行时启动PowerShell ISE

时间:2013-09-20 13:48:21

标签: powershell-v3.0

安装PowerShell 3.0后,我可以强制PowerShell开始使用版本2.0

-Version
    Starts the specified version of Windows PowerShell.
    Enter a version number with the parameter, such as "-version 2.0"

这对于不支持.Net Framework V 4(SharePoint!)的snapin非常有用。

是否有 PowerShell ISE 的等效内容?

我尝试运行powershell_ise.exe -version 2.0,但这不起作用。

正在运行powershell_ise.exe -help并未显示任何可满足我需求的参数。

2 个答案:

答案 0 :(得分:8)

调整配置文件无济于事,powershell_ise.exe肯定取决于.Net V4。它还在很大程度上取决于PowerShell引擎的V3版本。

安装PowerShell V3后,没有支持的方法来运行PowerShell ISE的V2。与核心PowerShell二进制文件(如System.Management.Automation.dll)不同,我认为V2 ISE二进制文件在V3安装过程中被覆盖或删除。

我担心你必须从powershell.exe运行你的脚本。

答案 1 :(得分:2)

您可以通过创建新的PSSession来运行2.0运行时命令。

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,可以从Powershell ISE 3运行2.0运行时命令。