2

我使用 Sharepoint,我需要在我的控制台主机中存在 Sharepoint 管理单元。当我从 Windows 开始菜单运行 powershell 时,我运行命令

Add-PSSnapin Microsoft.Sharepoint.Powershell

管理单元添加正常,一切正常。

此外,一切正常,当我运行 cmd.exe 并键入powershell.exe它并按 Enter 键时。所以我认为这个问题不涉及快捷参数(但我不是 100% 确定 :))。

但是,当我通过某个启动器启动 powershell(我已经测试了LaunchyEnso)并尝试添加相同的管理单元时,它会失败并显示以下错误消息:

Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2.
At somefile.ps1:7 char:14
+     Add-PSSnapin <<<<  Microsoft.Sharepoint.Powershell
+ CategoryInfo          : InvalidArgument:(Microsoft.Sharepoint.Powershell:String)     
[Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : 
AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

当我用启动器启动 powershell 时有什么区别?

我认为这不是与共享点相关的问题,而是 powershell 问题。

(注意:我知道 Sharepoint 管理外壳,问题不在于它)

4

1 回答 1

9

不确定 100%,但您可能会遇到 PowerShell 32 位与 PowerShell 64 位的问题。

例如,如果您的 SnapIn 是 64 位,则它只能与 PowerShell 64 位一起使用。如果LaunchyEnso是 32 位,则它们会启动 powerShell 32 位,以查找 32 位 SnapIn。另一边也是一样。

从 64 位进程中,您可以强制使用 PowerShell 64 位,方法是:

c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe

从 64 位进程中,您可以强制使用 PowerShell 32 位,方法是:

c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe

从 32 位进程中,您可以使用 PowerShell 64 位强制使用(阅读内容):

c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe
于 2012-05-28T16:58:52.107 回答