我正在尝试通过Powershell运行空间以编程方式将C#连接到Exchange 2007服务器,以连接到邮箱(Room mailbox / resource mailbox)的AcceptMessagesOnlyFrom列表。 代码正在执行而没有任何错误,但用户没有被添加到列表中。
这是我的代码
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);
有人可以查看我的代码并让我知道如何修复它以便Set-Mailbox命令成功运行,并且用户名应该添加到Exchange服务器中的MeetingRoom(邮箱)列表的AcceptMessagesOnlyFrom中。
非常感谢任何帮助
*会议室邮箱:这是专门分配给会议室的邮箱。 其相关的用户帐户将在Active Directory中禁用。
答案 0 :(得分:0)
试试这个:
string str = "Set-Mailbox -Identity '" + MeetingRoomName + "' -AcceptMessagesOnlyFrom " + strUser;
应该导致以下内容传递给PowerShell执行:
Set-mailbox -identity 'MeetingRoom@domain.com' -acceptmessagesOnlyFrom a.user@domain.com
将“a.user@domain.com”添加到来自MeetingRoom@domain.com的acceptmessageonly
列表中今天晚上,当我有权访问Exchange服务器时,我会进行测试,但这应该可行。
的更新强> 的 经过测试,我现在可以确认about string / cmdlet成功地将用户添加到acceptmessageOnlyFrom列表中。
方面 Arcass