在快捷方式目标中指定 Powershell 版本不起作用

Specifying Powershell version in Shortcut Target not working

我有两个相同的 Windows Server 2012 R2 64 位安装程序,并将 SharePoint 2010 管理 Shell 快捷方式 link 固定到我的任务栏。这两个快捷方式都指定了 -Version 2 但似乎只有一个服务器支持该标志。为什么服务器上不支持版本 2 标志?

在一台服务器上,Short 的目标 属性 是:

C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -Version 2 -NoExit  " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\CONFIG\POWERSHELL\Registration\sharepoint.ps1 ' "

当 PowerShell 按预期打开 get-host returns 版本 2.0。

Name             : ConsoleHost
Version          : 2.0
InstanceId       : b0c653b6-8951-46c9-a5a6-00fe49d70e79
UI               : System.Management.Automation.Internal.Host.InternalHostUserI
                   nterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

在另一台服务器上,但是 link 也是:

C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -Version 2 -NoExit  " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\CONFIG\POWERSHELL\Registration\sharepoint.ps1 ' "

但是 get-host returns 这个:

Name             : ConsoleHost
Version          : 4.0
InstanceId       : 1a9413a0-cdbb-46a3-bbe3-b3dbc72fad38
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

转到:

C:\Windows\System32\WindowsPowerShell\v1.0 有一个powershell.exe.config

删除 <supportedRuntime version="v4.0.30319"/> 行并保留文件如下:

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
        <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration>

如果您已检查数据库权限以具有 Shell 访问权限

,请执行此操作