我試圖在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