安装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
并未显示任何可满足我需求的参数。
答案 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运行时命令。