c#中的Powershell和权限



我正在以SYSTEM帐户运行的Windows服务中运行PowerShell脚本。为了增加权限,我允许用户选择一个用户,稍后我将整个线程模拟为使用LogoUser方法。

这样我就可以访问网络驱动器,当我尝试在PowerShell中打印当前用户时,它也可以工作。

但我有一个不起作用的案例:

一个示例是用户尝试加载Exchange管理单元并运行cmdlet:Get-MailboxPermission

然后他得到错误:术语"get-MailboxPermission"未被识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。术语"Get-MailboxPermission"未被识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

我猜这是权限问题,我想知道是否还有其他需要更改为RunSpace等才能获得增加的权限?还有其他想法吗?

哪个PowerShell版本?

看起来您没有添加exchange管理单元。尝试在以下时间之前运行此命令:

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin

或者,通过代码,在运行空间初始化中,使用以下代码:

RunspaceConfiguration rsConfig = RunspaceConfiguration.Create();
PSSnapInException snapInException = null;
PSSnapInInfo info = rsConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out snapInException);
Runspace myRunSpace = RunspaceFactory.CreateRunspace(rsConfig);
myRunSpace.Open(rsConfig);

阅读本文了解更多信息:http://msdn.microsoft.com/en-us/library/exchange/bb332449(v=exchg.80).aspx

相关内容

  • 没有找到相关文章

最新更新