添加PSSnapin';Microsoft.SharePoint.Power';在ISE中运行,但不从.Ne

本文关键字:运行 Ne Microsoft PSSnapin SharePoint Power 添加 ISE | 更新日期: 2023-09-27 18:01:01

我有一个自动化问题,我已经追踪到以下情况:

PS脚本是通过C#程序中的process.start加载的。如果我在ISE中运行脚本,它运行得很好。当通过process.start运行时,它在以下命令上失败:

Add-PSSnapin 'Microsoft.SharePoint.PowerShell'

错误:

Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 4.

我在.net中用于process.start的命令是:

var Arguments @"-version 4.0 -ExecutionPolicy Bypass -noexit -file """ + filePath + @""" -XmlString """ + args + @""" -Verb RunAs"
var FileName = "powershell.exe"
var process = Process.Start(FileName, Arguments);

filePath是正在执行的powershell脚本的路径。

这将运行并尝试运行脚本,但执行上面在脚本中显示的命令失败。用户帐户是计算机的管理服务帐户。问题似乎在于.Net程序是如何启动PowerShell的,因为如果我手动(在同一服务帐户下(执行此操作,我可以通过ISE和控制台运行此脚本和这些命令。我想,我只是找不到一些技巧来让.Net程序能够在正确的配置文件下执行PowerShell脚本。

有什么想法吗?

添加PSSnapin';Microsoft.SharePoint.Power';在ISE中运行,但不从.Ne

PetSerAl的请求很及时。。。当通过.Net程序运行PowerShell脚本时,它是在x86下运行的,但当通过ISE运行时,它在x64下运行。我针对x64重新编译了.Net程序,现在一切正常。

谢谢你的建议!