0

我正在从作为 SYSTEM 帐户运行的 Windows 服务运行 PowerShell 脚本。为了增加权限,我让用户选择一个用户,我稍后会使用 LogonUser 方法模拟整个线程。

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

但是我有一个不起作用的情况:

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

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

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

4

1 回答 1

0

哪个 PowerShell 版本?

看起来您没有添加交换管理单元。尝试在之前运行此命令:

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

于 2012-10-05T14:19:46.900 回答