添加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脚本。
有什么想法吗?
谢谢你的建议!