我正在尝试在 C# 中运行 EMC 命令。我正在从我的个人电脑上运行它,该电脑上安装了交换管理工具。
我们的交换服务器上运行着 2007。
问题是,当我运行 Powershell 或 EMC 时,我需要以具有 Exchange Server 2007 权限的其他用户身份运行,因为我的个人配置文件没有这些权限。
话虽如此,这是我在个人 PC 上运行的代码:
RunspaceConfiguration config = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;
PSSnapInInfo info = config.AddPSSnapIn("Microsoft.Exchange.Management.Powershell.Admin", out snapEx);
Runspace runspace = RunspaceFactory.CreateRunspace(config);
runspace.Open();
Command createCMD = new Command("Get-Mailbox ID");
Pipeline pipe = runspace.CreatePipeline();
pipe.Commands.Add(createCMD);
Collection<PSObject> results = pipe.Invoke();
我得到的错误是:
Microsoft.Exchange.Management.Powershell.Admin
此计算机上未安装Windows PowerShell 管理单元。
当我尝试添加Microsoft.Exchange.Management.Powershell.Admin
snapIn 时,我得到了它。
我觉得这与我对个人资料的权限有关,但我并不完全确定。如果是真的,我该如何解决这个问题。
编辑
我说这听起来像权限的原因是因为我能够打开 powershell 并添加管理单元。但是,当我运行一个命令时,get-mailboxstatistics myUserId
它会抛出一个错误MyServer\MyStorageGroup
,说不存在。但是,当我 shift-rightCLick 并以其他用户身份运行并使用我的 Exchange 管理员帐户的凭据时,我可以运行这些命令。