Vraag : Het plaatsen msExchMailboxSecurityDescriptor met VB.NET

Hello,

I am een nieuwe veiligheidsbeschrijver aan een brievenbus proberen toe te voegen om een andere rekening te verlenen volledige rechten op het.  Ik voeg momenteel een normale veiligheidsbeschrijver via deze methode toe:

beschermde Sub (gebruiker ByVal als beheerder DirectoryEntry, ByVal als SecurityIdentifier)

Schemerige userSecurity SetFullMbxPerms aangezien ActiveDirectorySecurity =/> Schemerige fullMbxControl user.ObjectSecurity

trustee, _
ActiveDirectoryRights.GenericAll, AccessControlType.Allow, _
ActiveDirectorySecurityInheritance. Het Eind

Sub

However, dit van SelfAndChildren)

userSecurity.AddAccessRule (fullMbxControl)
user.CommitChanges () wordt me slechts de Actieve veiligheid van de Folder en niet de brievenbusveiligheid.  Hoe kan ik dit door vb.net msExchMailboxSecurityDescriptor gelijkend wijzigen verwezenlijken en op wat ik hierboven heb gedaan?

Thanks,
Ron

Antwoord : Het plaatsen msExchMailboxSecurityDescriptor met VB.NET

O.k., dit werk die DirectoryEntry gebruiken en 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:
    Sub SetExMbxPerms2 (gebruiker ByVal als beheerder DirectoryEntry, ByVal als Koord)

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

        Schemerige dacl als Nieuwe AccessControlList
        Schemerige mailboxRights als Nieuwe SecurityDescriptor
        Schemerige aas als Nieuwe AccessControlEntry
        Schemerige brievenbus 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
        aas. Markeert = 0
        aas. Beheerder = beheerder
        Console.WriteLine (dacl.AceCount)
        dacl.AddAce (aas)
        Console.WriteLine (dacl.AceCount)
        mailboxRights.DiscretionaryAcl = dacl
        mailbox.MailboxRights = mailboxRights
        user.CommitChanges ()

    Sub van het eind
Andere oplossingen  
 
programming4us programming4us