Pytanie : Położenie msExchMailboxSecurityDescriptor z VB.NET

Cześć,

I am nowy ochrona deskryptor skrzynka pocztowa inny konto folować dobro ono.  I obecnie dodawać normalny ochrona deskryptor przez ten metoda:

Ochraniać Okręt podwodny SetFullMbxPerms (ByVal użytkownik Jako DirectoryEntry, ByVal powiernik Jako SecurityIdentifier)

Ćmić userSecurity Gdy ActiveDirectorySecurity = user.ObjectSecurity

Ćmić fullMbxControl Jako Nowy ActiveDirectoryAccessRule (trustee, _
ActiveDirectoryRights.GenericAll, AccessControlType.Allow, _
ActiveDirectorySecurityInheritance. SelfAndChildren)

userSecurity.AddAccessRule (fullMbxControl)
user.CommitChanges ()

Końcówka Sub

However, ochrona tylko dostawać the Aktywny Adresowy ochrona i nie the skrzynka pocztowa ochrona.  Dlaczego móc I to przez vb.net i the msExchMailboxSecurityDescriptor jednakowy co I robić co?

Thanks,
Ron

Odpowiedź : Położenie msExchMailboxSecurityDescriptor z VB.NET

Ok, cdoexm pracować using DirectoryEntry i 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:
    Okręt podwodny SetExMbxPerms2 (ByVal użytkownik Jako DirectoryEntry, ByVal powiernik Sznurek)

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

        Ciemnawy dacl Jako Nowy AccessControlList
        Ciemnawy mailboxRights Jako Nowy SecurityDescriptor
        Ćmić as Jako Nowy AccessControlEntry
        Ćmić skrzynka pocztowa Jako 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. Flaga = (0)
        as. Powiernik = powiernik
        Console.WriteLine (dacl.AceCount)
        dacl.AddAce (as)
        Console.WriteLine (dacl.AceCount)
        mailboxRights.DiscretionaryAcl = dacl
        mailbox.MailboxRights = mailboxRights
        user.CommitChanges ()

    Końcówka Okręt podwodny
Inne rozwiązania  
 
programming4us programming4us