繁体   English   中英

通过EWS或PowerShell对安全组的Exchange邮箱委派访问

[英]Exchange Mailbox Delegate Access for a security group via EWS or PowerShell

当前,我能够通过Outlook的“委派访问”部分,找到该组并设置权限级别,从而通过Outlook将委派安全组添加到邮箱中。

我想自动执行此操作,但是还没有找到一种适用于群组的方法。

以下PowerShell将添加一个组,但仅设置文件夹权限。 它不会将组添加为委托。

Add-MailboxFolderPermission -Identity "mailbox:\Calendar" -User "group" -AccessRights Editor

以下.NET EWS代码将完全按照我要添加组的方式添加用户帐户。 如果我将一个组添加到列表中,它将失败,并产生以下错误:“委托未映射到Active Directory中的用户。”

Public Function setEditor(mailbox As String, listDelegates As System.Collections.Generic.List(Of String)) As Boolean
    Dim setEditorResult As Boolean = False
    Try
        Dim listDelUser As New List(Of DelegateUser)
        For Each strDelUser As String In listDelegates
            Dim delUser As DelegateUser = New DelegateUser(strDelUser)
            delUser.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor
            listDelUser.Add(delUser)
        Next
        Dim responses As Collection(Of DelegateUserResponse) = service.AddDelegates(New Mailbox(mailbox), MeetingRequestsDeliveryScope.NoForward, listDelUser)
        For Each response As DelegateUserResponse In responses
            If response.Result = 0 Then
                setEditorResult = True
            Else
                'log error
                Dim err As String = response.ErrorMessage
            End If
        Next
    Catch ex As Exception
        'log error
    End Try
    Return setEditorResult
End Function

有谁知道一种适用于安全组的方法? 谢谢!

更新10/31/2014

我找到了一种将安全组添加为代理并正确设置其权限的方法。

Set-Mailbox -Identity "MAILBOX" -GrantSendOnBehalfTo "DELEGATE"
Add-MailboxFolderPermission -Identity "MAILBOX:\Calendar" -User "DELEGATE" -AccessRights Editor

对于多个代表,请使用以下命令:

Set-Mailbox -Identity "MAILBOX" -GrantSendOnBehalfTo @{Add="DELEGATE1","DELEGATE2"}
Add-MailboxFolderPermission -Identity "MAILBOX:\Calendar" -User "DELEGATE1" -AccessRights Editor
Add-MailboxFolderPermission -Identity "MAILBOX:\Calendar" -User "DELEGATE2" -AccessRights Reviewer

不幸的是,我仍然无法找到一种方法来检查代表是否收到发送给我的会议相关消息的副本。 安全组复选框。

我无法告诉您如何使用Add-Mailboxfolderpermission按组设置权限(我想您不能),但是您可以使用它为所有组成员分配权限:

Get-ADGroupMember "group" | % {Get-Mailbox $_.SamAccountName | Add-Mailboxfolderpermission -Identity "mailbox:\Calendar"
-AccessRights Editor}

这将在组中的所有成员之间循环,并为他们分配-Identity参数中定义的邮箱文件夹的权限。

问候

我找到了一种将安全组添加为代理并正确设置其权限的方法。

Set-Mailbox -Identity "MAILBOX" -GrantSendOnBehalfTo "DELEGATE"
Add-MailboxFolderPermission -Identity "MAILBOX:\Calendar" -User "DELEGATE" -AccessRights Editor

对于多个代表,请使用以下命令:

Set-Mailbox -Identity "MAILBOX" -GrantSendOnBehalfTo @{Add="DELEGATE1","DELEGATE2"}
Add-MailboxFolderPermission -Identity "MAILBOX:\Calendar" -User "DELEGATE1" -AccessRights Editor
Add-MailboxFolderPermission -Identity "MAILBOX:\Calendar" -User "DELEGATE2" -AccessRights Reviewer

不幸的是,我仍然无法找到一种方法来检查代表是否收到发送给我的会议相关消息的副本。 安全组复选框。

我意识到该线程现在已经“旧”了,但是我正在研究类似的情况,并且有一个信息可能也会引起您的兴趣。

您是在说:

“在与Microsoft一起开案之后,目前看来,无论是通过PowerShell还是EWS都无法做到这一点。这是两种语言/ API的设计限制。如果我发现其他相关信息,我将进行跟踪,但是目前看来,这是Outlook中的手动过程。”

不知道您上面的设计限制是指您的特定情况(在线程标题中有充分说明)是仅指安全组,还是通常来说无法使用PowerShell / EWS来检查“代表接收会议副本,相关邮件发送给我”。

对于最后一部分,我发现了一个有趣的EWS主题,请查看:

MeetingRequestsDeliveryScope枚举

经过一番搜寻,其他Exchange人员已经开始使用它,例如,上周有人写过这样的内容:

使用EWS托管API探索代表–第一部分:EWS代表功能

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM