Fråga : InställningsmsExchMailboxSecurityDescriptor med VB.NET

Hälsningar pröva förmiddag för

I att tillfoga en ny säkerhetsdeskriptor till en brevlåda för att bevilja another konto fulla rätter till det.  Jag tillfogar för närvarande en det normalasäkerhetsdeskriptor via denna metod:

skyddade underdunkel userSecurity för SetFullMbxPerms (den ByVal användaren som den DirectoryEntry, ByVal förmyndare som SecurityIdentifier)

som ActiveDirectorySecurity = dunkel fullMbxControl för user.ObjectSecurity

som nya ActiveDirectoryAccessRule (trustee, _
ActiveDirectoryRights.GenericAll, AccessControlType.Allow, _
ActiveDirectorySecurityInheritance.

för
user.CommitChanges för SelfAndChildren)

userSecurity.AddAccessRule (fullMbxControl) () avslutar Sub

However, denna får mig aktivarkivsäkerheten och inte brevlådasäkerheten endast.  Hur kan jag utföra denna till och med vb.net och ändra msExchMailboxSecurityDescriptor som är liknande till vad jag har gjort över?

Thanks,
Ron
" klar "

Svar : InställningsmsExchMailboxSecurityDescriptor med VB.NET

Oken denna fungerar genom att använda DirectoryEntry och 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:
    UnderSetExMbxPerms2 (den ByVal användaren som DirectoryEntry, den ByVal förmyndare som stränger)

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

        Dunkel dacl som ny AccessControlList
        Dunkla mailboxRights som nya SecurityDescriptor
        Dunkel överdängare som nya AccessControlEntry
        Dunkel brevlåda som 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
        överdängare. Sjunker = 0
        överdängare. Förmyndare = förmyndare
        Console.WriteLine (dacl.AceCount)
        dacl.AddAce (överdängare)
        Console.WriteLine (dacl.AceCount)
        mailboxRights.DiscretionaryAcl = dacl
        mailbox.MailboxRights = mailboxRights
        user.CommitChanges ()

    Avsluta suben
Andra lösningar  
 
programming4us programming4us