Frage : Einstellung msExchMailboxSecurityDescriptor mit VB.NET

Hallo,

I morgens versuchend, einen neuen Sicherheitsbeschreiber einem Briefkasten hinzuzufügen, um anderen Konto volle Rechte ihm zu bewilligen.  Ich füge z.Z. einen normalen Sicherheitsbeschreiber über diese Methode hinzu:

schützte VorSetFullMbxPerms (ByVal Benutzer als DirectoryEntry, ByVal Verwalter als SecurityIdentifier)

verdunkeln userSecurity als ActiveDirectorySecurity = user.ObjectSecurity

schwaches fullMbxControl als neues ActiveDirectoryAccessRule (trustee, _
ActiveDirectoryRights.GenericAll, AccessControlType.Allow, _
ActiveDirectorySecurityInheritance. SelfAndChildren)

userSecurity.AddAccessRule (fullMbxControl)
user.CommitChanges ()

Ende Sub

However, dieses erhält mir die aktive Verzeichnissicherheit und nicht die Briefkastensicherheit nur.  Wie kann ich dieses durch vb.net vollenden und das msExchMailboxSecurityDescriptor ändern, das ähnlich ist, was ich oben getan habe?

Thanks,
Ron

Antwort : Einstellung msExchMailboxSecurityDescriptor mit VB.NET

O.K., dieses arbeitet mit DirectoryEntry und cdoexm
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
    VorSetExMbxPerms2 (ByVal Benutzer als DirectoryEntry, ByVal Verwalter als Schnur)

        Const ADS_ACEFLAG_INHERIT_ACE = 2
        Const ADS_RIGHT_DS_CREATE_CHILD = 1
        Const ADS_ACETYPE_ACCESS_ALLOWED = 0

        Schwaches dacl als neues Access Control List
        Schwache mailboxRights als neues SecurityDescriptor
        Schwaches As als neues AccessControlEntry
        Schwacher Briefkasten als CDOEXM.IExchangeMailbox = user.NativeObject

        mailboxRights = mailbox.MailboxRights

        dacl = mailboxRights.DiscretionaryAcl

        ace.AccessMask = ADS_RIGHT_DS_CREATE_CHILD
        ace.AceType = ADS_ACETYPE_ACCESS_ALLOWED
        ace.AceFlags = ADS_ACEFLAG_INHERIT_ACE
        As. Markierungsfahnen = 0
        As. Verwalter = Verwalter
        Console.WriteLine (dacl.AceCount)
        dacl.AddAce (As)
        Console.WriteLine (dacl.AceCount)
        mailboxRights.DiscretionaryAcl = dacl
        mailbox.MailboxRights = mailboxRights
        user.CommitChanges ()

    Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us