10

安装 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!) 的管理单元很有用。

PowerShell ISE是否有等价物?

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

运行powershell_ise.exe -help没有显示任何可以满足我需求的参数。

4

2 回答 2

9

调整配置文件无济于事,powershell_ise.exe 肯定依赖于 .Net V4。它还严重依赖于 PowerShell 引擎的 V3 版本。

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

恐怕你必须从 powershell.exe 运行你的脚本。

于 2013-09-23T23:53:13.117 回答
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 运行时命令。

于 2016-02-29T16:54:18.287 回答