2011-11-04 57 views
0

我正在尋找一種方法來爲會議室(郵箱)設置AcceptMessagesOnlyFrom。我正在使用C#代碼(Windows應用程序)執行Exchange 2007 Powershell命令。Set-Mailbox AcceptMessagesOnlyFrom powersell命令不能按預期工作

這裏是我的代碼

RunspaceConfiguration rc = RunspaceConfiguration.Create(); 
PSSnapInException snapEx = null; 
PSSnapInInfo info = rc.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out snapEx); 
Runspace r = RunspaceFactory.CreateRunspace(rc); 
r.Open(); 
RunspaceInvoke ri = new RunspaceInvoke(r); 
string str = "Set-Mailbox -Identity '" + MeetingRoomName + "' -AcceptMessagesOnlyFrom ((Get-Mailbox -identity '" + MeetingRoomName + "').AcceptMessagesOnlyFrom + " + strUser + ")"; 
ICollection<PSObject> results = ri.Invoke(str); 

該命令從PowerShell的正常使用,但不能從C#代碼.The沒有任何錯誤的執行,但用戶不獲取添加到列表中。

任何幫助將不勝感激。

+0

難道你需要以管理員身份運行VS或C#嗎? –

+0

其實我沒有太多的知識。你能告訴我如何以管理員身份運行VS或C#嗎? – user964481

回答

0

如果以管理員身份運行是此問題,請嘗試此操作。

在啓動Visual Studio之前,右鍵單擊Visual Studio圖標並選擇以管理員身份運行。

image of how to run as administrator

如果你這樣做,你開始使用Visual Studio的任何事情也會「以管理員身份運行」。如果您想以管理員身份從bin目錄運行.exe,則可以在Windows資源管理器中右鍵單擊該目錄,然後選擇「以管理員身份運行」。

+0

你的帖子幫了我。現在我可以運行代碼而沒有任何錯誤。現在問題是comamnd正在執行,但用戶名未被添加到郵箱的AcceptMessagesOnlyFrom列表中。任何人都可以幫我解決這個問題嗎? – user964481

+0

我對Exchange管理不太熟悉。我會建議創建一個新的問題(甚至可以嘗試serverfault.com)。 –