我试图在C#中运行EMC命令。我使用安装了交换管理工具的个人电脑运行。从C#运行Exchange Powershell命令#
我们的Exchange服务器已经在2007上运行了它们。
问题是,当我运行Powershell或EMC时,我需要以拥有Exchange Server 2007权限的其他用户身份运行,因为我的个人配置文件没有这些权限。
话虽这么说,这是我的代码,我有我的个人电脑上运行:
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();
我得到的错误是:
在Windows PowerShell管理单元Microsoft.Exchange.Management.Powershell.Admin
上没有安装该软件电脑。
当我尝试添加Microsoft.Exchange.Management.Powershell.Admin
管理单元时,我收到了它。
我觉得这与我在个人档案中的权限有关,但我不完全确定。如果确实如此,我该如何解决这个问题。
编辑
我说这听起来像是权限的原因是因为我能够打开PowerShell和添加的管理单元。但是,当我运行诸如get-mailboxstatistics myUserId
的命令时,它会抛出一个错误,说MyServer\MyStorageGroup
不存在。但是,当我shift-rightCLick并以不同的用户身份运行并使用我的Exchange管理员帐户的凭据时,我可以运行这些命令。
原因我说这听起来像权限是因为我能够打开PowerShell并添加管理单元。但是,当我运行诸如'get-mailboxstatistics myUserId'的命令时,它会抛出一个错误,指出“MyServer \ MyStorageGroup”不存在。但是,当我shift-rightCLick并以不同的用户身份运行并使用我的Exchange管理员帐户的凭据时,我可以运行这些命令。 – Johnrad