Zum Festlegen von Exchange Server 2000 und 2003 Postfachberechtigungen zum Zeitpunkt der Postfacherstellung

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 304935 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel veranschaulicht das programmgesteuert Postfachberechtigungen für einen Microsoft Exchange Server 2000 oder 2003-Postfach zur gleichen Zeit ändern, dass Sie das Benutzerobjekt in der Microsoft Active Directory-Verzeichnisdienst postfachaktivieren.

Dieser Artikel enthält Beispielcode, den Sie veranschaulicht, wie die Postfachberechtigungen für einen Exchange 2000 oder 2003-Postfach festgelegt, bevor das tatsächliche Postfach, für den Benutzer in Exchange 2000 erstellt wurde oder 2003-Informationen speichern, aber nachdem das Benutzerobjekt in Active Directory Postfach aktiviert wurde.

Hinweis: Dieser Code ist wirkungslos, wenn das Postfach in den Exchange 2000 oder 2003-Informationsspeicher bereits vorhanden ist. Mit anderen Worten, betrifft es nicht die tatsächlichen Postfachberechtigungen auf das Postfach des Benutzers, wenn das Postfach des Benutzers bereits zugegriffen wurde. Weitere Informationen zum Postfachberechtigungen für einen Exchange 2000-Postfach vor und nachdem er im Informationsspeicher erstellt wurde, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
310866Zum Festlegen von Postfachberechtigungen für Exchange 2000 auf ein Postfach, die vorhanden im Informationsspeicher

Weitere Informationen

Ein Postfach hat zwei Teile in einem Exchange 2000 oder 2003-Organisation in einer Microsoft Windows 2000 oder Microsoft Windows Server 2003-Domänenumgebung.
  • Active Directory postfachaktivierten Benutzer: Dies ist nur ein Benutzerobjekt in Active Directory. Mehrere e-Mail-bezogenen Eigenschaften und Postfach-bezogene Eigenschaften werden auf dieses Benutzerobjekt festgelegt.
  • Der Postfach-Ordner im Exchange-Informationsspeicher: Dies ist der Speicherort, auf dem eigentlichen e-Mail des Benutzers gespeichert ist und mehrere Eigenschaften, die für das Postfach spezifisch sind festgelegt sind.
Die Postfachberechtigungen werden auf eine Security Descriptor-Eigenschaft gespeichert, die sich auf das Postfach im Informationsspeicher befindet. Es gibt auch ein Attribut im Active Directory-Benutzerobjekt MsExchMailboxSecurityDescriptor aufgerufen. Dieses Attribut dient nur zur Postfachberechtigungen auf das Postfach des Benutzers wider.

Einen schnellen Überblick der Postfach-Aktivierung Prozess in Exchange 2000 oder 2003

Hier sind die Schritte, die i. d. r. zum Erstellen von Exchange 2000 oder 2003-Postfach-aktivierten Benutzer in Active Directory durchgeführt werden:
  1. Ein Domänenadministrator erstellt Active Directory-Benutzerobjekt und aktiviert das Benutzerkonto über die "Active Directory-Benutzer und-Computer" (ADUnC)-Snap-in oder über Code, der Active Directory-Dienstschnittstelle (ADSI) verwendet.
  2. Der Domänenadministrator Postfach-aktiviert dann diesen Benutzer entweder von ADUnC oder programmgesteuert über die IMailboxStore-Schnittstelle in Collaboration Data Objects für Exchange-Verwaltung (CDOEXM). Eine Verknüpfung mit der Dokumentation für die IMailboxStore-Schnittstelle ist in Abschnitt "Informationsquellen" dieses Artikels enthalten. Jeder Ansatz außer CDOEXM, mit dem programmgesteuert das Objekt für den Benutzer postfachaktivieren, wird nicht unterstützt.

    Diese beiden Ansätze stellen Sie sicher, dass das Attribut MsExchMailboxSecurityDescriptor und verschiedene andere Attribute ordnungsgemäß für das Benutzerobjekt festgelegt werden, wenn Sie es postfachaktivieren. Dieses Schritt wird im Grunde eine kleine Teilmenge e-Mail-Attribute und Postfachattribute des Benutzerobjekts in Active Directory. Zu diesem Zeitpunkt ist das Postfach des Benutzers noch nicht zugriffsbereit.
  3. Der Empfängeraktualisierungsdienst Update (Recipient Service, RUS), auf dem der Exchange 2000- oder 2003-Server, je nachdem, wann es geplant ist, ausgeführt wird Versieht alle verbleibenden e-Mail beziehen und Postfach-bezogene Attribute dieses Benutzerobjekt. Zu diesem Zeitpunkt das Postfach des Benutzers wurde nicht noch erstellt in Exchange 2000 oder 2003 Informationen speichern. Der Benutzer ist jedoch vollständig Postfach-aktiviert. Das Postfach ist nun bereit, zugegriffen werden.
  4. Wenn der Benutzer zuerst auf das Postfach zugreift, oder wenn die erste Nachricht an das Postfach weitergeleitet wird, wird das tatsächliche Postfach in den Exchange 2000 oder 2003-Informationsspeicher erstellt. An diesem Punkt beim Postfach für den Benutzer erstellt, werden die Postfachberechtigungen auf Sicherheitsbeschreibung des Postfachs im Informationsspeicher festgelegt. Dies basiert auf die Zugriffssteuerungseinträge (ACEs), die für das Attribut MsExchMailboxSecurityDescriptor festgelegt werden.

Das MsExchMailboxSecurityDesciptor-Attribut

Dieses Attribut für das Benutzerobjekt in Active Directory vorhanden ist. Es wird eine partielle Kopie der Sicherheitsbeschreibung des Postfachs des Benutzers gespeichert. Dieses Attribut ist nicht mit Sicherheitsbeschreibung des Postfachs des Benutzers Back verknüpft.

Mit anderen Worten, wenn Sie dieses Attribut direkt ändern, Sie nicht die tatsächliche Postfach-Sicherheitsbeschreibung für das Postfach des Benutzers im Exchange-Informationsspeicher aktualisieren, sofern Sie dieses Attribut festlegen, bevor das tatsächliche Postfach im Informationsspeicher erstellt wurde.

Wenn ein Konflikt zwischen der Sicherheitsbeschreibung, die durch das Attribut MsExchMailboxSecurityDescriptor wiedergegeben wird, auf dem Benutzerobjekt in Active Directory und die Sicherheitsbeschreibung, die auf das Postfach des Benutzers im Informationsspeicher gespeichert sind, behebt Exchange tatsächlich das Attribut MsExchMailboxSecurityDescriptor entsprechend die Sicherheitsbeschreibung für das Postfach des Benutzers. Wenn Sie die Sicherheitsbeschreibung des Postfachs des Benutzers über ADUnC oder IExchangeMailbox CDOEXM-Schnittstelle ändern, wird das Attribut MsExchMailboxSecurityDescriptor automatisch aktualisiert, um diese Änderungen widerzuspiegeln.

Einschränkungen der Verwendung von Attribut msExchMailboxSecurityDescriptor

  • Die Änderungen, die Sie auf dieses Attribut werden auf die Sicherheitsbeschreibung des Postfachs des Benutzers wiedergegeben, nur, wenn Sie dieses Attribut festgelegt, bevor das Postfach im Informationsspeicher erstellt wird. Beachten Sie, dass der Exchange 2000 und 2003-Postfach für einen postfachaktivierten Benutzer in Active Directory in einer Exchange-Informationsspeicher erstellt wird, wenn der Benutzer zuerst auf das Postfach zugreift oder wenn keine e-Mail-Nachrichten an diesen Benutzer gesendet wird.
  • Eine andere Einschränkung dieses Attributs ist, dass das Attribut keine geerbten ACEs auf das tatsächliche Postfach-Sicherheitsbeschreibung widerspiegeln. Lesen dieses Verzeichnisattribut ist daher nicht der genaueste Ansatz zur Postfachrechte eines Benutzers lesen.

Vorteile der Verwendung des Attributs msExchMailboxSecurityDescriptor

  • Dieses Attribut wird auf ein Benutzerobjekt in Active Directory definiert. Daher kann es mit zugegriffen werden API, die mit Access (LDAP), z. B. die ADSI-APIs oder die LDAP-APIs kompatibel ist.
  • Da dieser Code keine CDOEXM erforderlich ist, können Sie es von einem Server, die keine Microsoft Exchange 2000 ausführen und 2003 installiert. Jedoch erneut, müssen Sie die Postfachberechtigungen festgelegt, bevor das Postfach des Benutzers im Informationsspeicher erstellt wird werden. Darüber hinaus können Sie die Postfachberechtigungen jederzeit für das Postfach dieses Benutzers lesen. Aber beachten Sie die Einschränkungen, die in diesem Artikel erwähnt werden. (Siehe Abschnitt "Einschränkungen bei der das Attribut MsExchMailboxSecurityDescriptor" ).
Wenn Sie nicht das Attribut MsExchMailboxSecurityDescriptor auf den postfachaktivierten Benutzer bevor das tatsächliche Postfach im Informationsspeicher erstellt wird, schließt die tatsächliche Sicherheit Deskriptor-Eigenschaft auf das Postfach im Informationsspeicher keinen ACE mit den folgenden:
  • Der Vertrauensnehmer Eigenschaftensatz zu selbst
  • Die Zugriffsmaske -Eigenschaft auf Vollständiger Postfachzugriff
  • Die Berechtigung Lesen auf zulassen festgelegt
  • Der ACE-Typ festgelegt auf zulassen
Wenn dies der Fall ist, kann der Benutzer Probleme auftreten, wenn der Benutzer versucht, Zugriff auf Öffentliche Ordner oder alle Ressourcen, die außerhalb der lokalen Exchange-Server sind. Dies ist einer der Gründe, warum die IMailboxStore-Schnittstelle in CDOEXM Bibliothek der nur unterstützten Mechanismus programmgesteuert ein Active Directory-Benutzer gegen eine Exchange 2000 oder 2003-Informationsspeicher postfachaktivieren ist. Hier ist ein Beispiel, das Ihnen zeigt, wie ADSI und CDOEXM verwenden, um ein Objekt Postfach-aktivierten Benutzer in Active Directory vorzunehmen. Dann legen Sie manuell die Schnittstelle MsExchMailboxSecurityDescriptor , um einen ACE mit den im Code angegebenen Vertrauensnehmer einzubeziehen. Der einzige Zweck dieses Beispiels besteht darin, Sie zeigen, wie dieses Attribut festgelegt, bevor das Postfach des Benutzers zugegriffen und im Informationsspeicher erstellt, wenn das Attribut in der Vergangenheit nicht korrekt festgelegt wurde.

Einrichten der Visual Basic-Umgebung zum Ausführen des Visual Basic-Beispiels

  1. Starten Sie Microsoft Visual Basic 6.0 auf Exchange 2000- oder 2003-Server.
  2. Erstellen Sie ein neues Standard EXE-Projekt. Dazu klicken Sie im Menü Datei auf neu , und doppelklicken Sie dann auf Standard .
  3. Im Menü Projekt klicken Sie auf Verweise , und wählen Sie dann Active DS-Typbibliothek und Microsoft CDO für Exchange-Verwaltung .
  4. Geben Sie in der Datenquellenansicht des Formulars ein, oder fügen Sie den folgenden Code ein, so dass die Unterroutine Form_Load() ersetzt.
  5. Ändern der Wert auf die Variable sUserADsPath für den LDAP-Pfad für den Active Directory-Benutzer-Objekt, dessen Postfach Berechtigungen, die Sie anzeigen oder ändern möchten.
Hinweis: Dieses Beispiel veranschaulicht die Kopie die Postfachberechtigungen zu lesen, die auf das Attribut MsExchMailboxSecurityDescriptor gespeichert ist. Es veranschaulicht auch die Postfachberechtigungen ändern und einen ACE für full Mailbox Access selbst ACE als Vertrauensnehmer hinzugefügt.

Der Visual Basic-code

'********************************************************************
'*
'* Function AddAce(dacl, TrusteeName, gAccessMask, gAceType,
'*            gAceFlags, gFlags, gObjectType, gInheritedObjectType)
'*
'* Purpose: Adds an ACE to a DACL
'* Input:       dacl            Object's Discretionary Access Control List
'*              TrusteeName     SID or Name of the trustee user account
'*              gAccessMask     Access Permissions
'*              gAceType        ACE Types
'*              gAceFlags       Inherit ACEs from the owner of the ACL
'*              gFlags          ACE has an object type or inherited object type
'*              gObjectType     Used for Extended Rights
'*              gInheritedObjectType
'*
'* Output:  Object - New DACL with the ACE added
'*
'********************************************************************

Function AddAce(dacl, TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
    Dim Ace1
    ' Create a new ACE object
    Set Ace1 = CreateObject("AccessControlEntry")
    Ace1.AccessMask = gAccessMask
    Ace1.AceType = gAceType
    Ace1.AceFlags = gAceFlags
    Ace1.Flags = gFlags
    Ace1.Trustee = TrusteeName
    'Check to see if ObjectType needs to be set
    If CStr(gObjectType) <> "0" Then
       Ace1.ObjectType = gObjectType
    End If

    'Check to see if InheritedObjectType needs to be set
    If CStr(gInheritedObjectType) <> "0" Then
        Ace1.InheritedObjectType = gInheritedObjectType
    End If
    dacl.AddAce Ace1

    ' Destroy objects
    Set Ace1 = Nothing
End Function


Private Sub Form_Load()
Dim objContainer As IADsContainer
Dim objUser As IADsUser
Dim objMailbox As CDOEXM.IMailboxStore
Dim oSecurityDescriptor As SecurityDescriptor
Dim dacl As AccessControlList
Dim ace As AccessControlEntry

' ********************************************************************
' You must change this variable according to your environment
'

sContainerADsPath = "LDAP://domain.com/cn=Users,DC=domain,DC=com"
sUserLoginName = "testUser"
sUserFirstName = "Test"
sUserLastName = "User"
sMBXStoreDN = "CN=Mailbox Store (ExServer),CN=First Storage Group," & _
   "CN=InformationStore,CN=ExServer,CN=Servers,CN=AdminGP," & _
   "CN=Administrative Groups,CN=Microsoft,CN=Microsoft Exchange," & _
   "CN=Services,CN=Configuration,DC=domain,DC=com"
sTrustee = "domainName\userName"
' ********************************************************************

' Get directory container object object
Set objContainer = GetObject(sContainerADsPath)

' Create the user object in the target container in Active Directory
Set objUser = objContainer.Create("User", "CN=" & sUserFirstName & " " & _
              sUserLastName)
objUser.Put "samAccountName", sUserLoginName
objUser.Put "givenName", sUserFirstName
objUser.Put "sn", sUserLastName
objUser.SetInfo
objUser.SetPassword "password"
objUser.SetInfo

' Mailbox-enable the user object by using the CDOEXM::IMailboxStore 
' interface
' This also sets the msExchMailboxSecurityDescriptor appropriately
Set objMailbox = objUser
objMailbox.CreateMailbox sMBXStoreDN
objUser.SetInfo

'**************************************************************************
'  The msExchMailboxSecurityDescriptor attribute is a backlink attribute 
'   from the Exchange Mailbox in the Web store to the directory. What this
'   implies is that the mailbox rights are stored on the actual mailbox in
'   the Web store and this directory attribute reflects these mailbox 
'   rights.
'  By default, changing this attribute does not affect the mailbox rights 
'   in the store. This attribute can only be modified before the actual 
'   mailbox in the store is created. If it is set before the mailbox in 
'   the Web store is created, Exchange will use the DACL set on this 
'   attribute as the DACL for mailbox rights on the mailbox in the store.
'   Therefore, it can only be set before the mailbox-creation time.
'  On installing Exchange 2000 SP2 on the Exchange Server where this code
'   is being run, that would enable modifying the actual mailbox rights 
'   even after mailbox creation.
'**************************************************************************

' Get the copy Mailbox Security Descriptor (SD) stored on the
' msExchMailboxSecurityDescriptor attribute
objUser.GetInfoEx Array("msExchMailboxSecurityDescriptor"), 0
Set oSecurityDescriptor = objUser.Get("msExchMailboxSecurityDescriptor")

' Extract the Discretionary Access Control List (ACL) using the 
' IADsSecurityDescriptor interface
Set dacl = oSecurityDescriptor.DiscretionaryAcl

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  The following block of code demonstrates reading all the ACEs on a 
'  DACL for the Exchange 2000 mailbox.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Debug.Print "Here are the existing ACEs the mailbox's DACL - "

' Enumerate all the access control entries (ACEs) in the ACL using 
' the IADsAccessControlList interface, thus displaying the current 
' mailbox rights
Debug.Print "Trustee, AccessMask, ACEType, ACEFlags, Flags, ObjectType, InheritedObjectType"
Debug.Print "-------  ----------  -------  --------  -----  ----------" & _
            " -------------------"
Debug.Print

For Each ace In dacl
' Display all the ACEs' properties by using the IADsAccessControlEntry 
' interface
    Debug.Print ace.Trustee & ", " & ace.AccessMask & ", " & _ 
      ace.AceType & ", " & ace.AceFlags & ", " & ace.Flags & ", " & _
      ace.ObjectType & ", " & ace.InheritedObjectType
Next

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  The following block of code demonstrates adding a new ACE to the DACL 
'  for the Exchange 2000 mailbox with the Trustee specified in sTrustee, 
'  giving allow "Full Control" over this mailbox.
'  This is the same task that is performed by ADUnC when selecting Add, 
'  specifying the Trustee, and checking the "Full Mailbox Access" Rights 
'  checkbox under the Mailbox Rights in the Exchange Advanced tab on the 
'  properties of a user.
'  Similarly, you could remove ACEs from this ACL as well using the 
'  IADsAccessControlEntry interfaces.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Template: AddAce(TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
' Setting the Access Mask to 131075 enables "full mailbox access" and 
' "read" privileges
AddAce dacl, sTrustee, 131075, _
       ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0, 0, 0

' Add the modified DACL back onto the Security Descriptor
oSecurityDescriptor.DiscretionaryAcl = dacl

' Save New SD onto the user
objUser.Put "msExchMailboxSecurityDescriptor", oSecurityDescriptor

' Commit changes from the property cache to the Information Store
objUser.SetInfo

MsgBox "Done viewing and modifying the copy of the Mailbox Security Descriptor"

End Sub
				

Der Visual Basic Script-code

Dim objContainer
Dim objUser
Dim objMailbox
Dim oSecurityDescriptor
Dim dacl
Dim ace

' ********************************************************************
' You must change this variable according to your environment
'

sContainerADsPath = "LDAP://domain.com/cn=Users,DC=domain,DC=com"
sUserLoginName = "testUser"
sUserFirstName = "Test"
sUserLastName = "User"
sMBXStoreDN = "CN=Mailbox Store (ExServer),CN=First Storage Group," & _
   "CN=InformationStore,CN=ExServer,CN=Servers,CN=AdminGP," & _
   "CN=Administrative Groups,CN=Microsoft,CN=Microsoft Exchange," & _
   "CN=Services,CN=Configuration,DC=domain,DC=com"
sTrustee = "domainName\userName"
' ********************************************************************

' Get directory container object object
Set objContainer = GetObject(sContainerADsPath)

' Create the user object in the target container in Active Directory
Set objUser = objContainer.Create("User", "CN=" & sUserFirstName & " " & _
              sUserLastName)
objUser.Put "samAccountName", sUserLoginName
objUser.Put "givenName", sUserFirstName
objUser.Put "sn", sUserLastName
objUser.SetInfo
objUser.SetPassword "password"
objUser.SetInfo

' Mailbox enable the user object by using the CDOEXM::IMailboxStore 
' interface
' This also sets the msExchMailboxSecurityDescriptor appropriately
Set objMailbox = objUser
objMailbox.CreateMailbox sMBXStoreDN
objUser.SetInfo

'**************************************************************************
'  The msExchMailboxSecurityDescriptor attribute is a backlink attribute 
'   from the Exchange Mailbox in the Web Store to the directory. What this
'   implies is that the mailbox rights are stored on the actual mailbox in
'   the Web store and this directory attribute reflects these mailbox 
'   rights.
'  By default, changing this attribute does not affect the mailbox rights 
'   in the store. This attribute can only be modified before the actual 
'   mailbox in the store is created. If it is set before the mailbox in 
'   the Web store is created, Exchange will use the DACL set on this 
'   attribute as the DACL for mailbox rights on the mailbox in the store.
'   Therefore, it can only be set before the mailbox creation time.
'  On installing Exchange 2000 SP2 on the Exchange Server where this code
'   is being run, that would enable modifying the actual mailbox rights 
'   even after mailbox creation.
'**************************************************************************

' Get the copy Mailbox Security Descriptor (SD) stored on the
' msExchMailboxSecurityDescriptor attribute
objUser.GetInfoEx Array("msExchMailboxSecurityDescriptor"), 0
Set oSecurityDescriptor = objUser.Get("msExchMailboxSecurityDescriptor")

' Extract the Discretionary Access Control List (ACL) using the 
' IADsSecurityDescriptor interface
Set dacl = oSecurityDescriptor.DiscretionaryAcl

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  The following block of code demonstrates reading all the ACEs on a 
'  DACL for the Exchange 2000 mailbox.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Wscript.echo "Here are the existing ACEs the mailbox's DACL - "

' Enumerate all the access control entries (ACEs) in the ACL using 
' the IADsAccessControlList interface, thus displaying the current 
' mailbox rights
Wscript.echo "Trustee, AccessMask, ACEType, ACEFlags, Flags, ObjectType, InheritedObjectType"
Wscript.echo "-------  ----------  -------  --------  -----  ----------" & _
            " -------------------"
Wscript.echo

For Each ace In dacl
' Display all the ACEs' properties using the IADsAccessControlEntry 
' interface
    Wscript.echo ace.Trustee & ", " & ace.AccessMask & ", " & _ 
      ace.AceType & ", " & ace.AceFlags & ", " & ace.Flags & ", " & _
      ace.ObjectType & ", " & ace.InheritedObjectType
Next

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  The following block of code demonstrates adding a new ACE to the DACL 
'  for the Exchange 2000 mailbox with the Trustee specified in sTrustee, 
'  giving allow "Full Control" over this mailbox.
'  This is the same task that is performed by ADUnC when selecting Add, 
'  specifying the Trustee, and checking the "Full Mailbox Access" Rights 
'  checkbox under the Mailbox Rights in the Exchange Advanced tab on the 
'  properties of a user.
'  Similarly, you could remove ACEs from this ACL as well using the 
'  IADsAccessControlEntry interfaces.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Template: AddAce(TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
' Setting the Access Mask to 131075 enables "full mailbox access" and 
' "read" priviledges
AddAce dacl, sTrustee, 131075, _
       ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0, 0, 0

' Add the modified DACL back onto the Security Descriptor
oSecurityDescriptor.DiscretionaryAcl = dacl

' Save New SD onto the user
objUser.Put "msExchMailboxSecurityDescriptor", oSecurityDescriptor

' Commit changes from the property cache to the information store
objUser.SetInfo

MsgBox "Done viewing and modifying the copy of the Mailbox Security Descriptor"


'********************************************************************
'*
'* Function AddAce(dacl, TrusteeName, gAccessMask, gAceType,
'*            gAceFlags, gFlags, gObjectType, gInheritedObjectType)
'*
'* Purpose: Adds an ACE to a DACL
'* Input:       dacl            Object's Discretionary Access Control List
'*              TrusteeName     SID or Name of the trustee user account
'*              gAccessMask     Access Permissions
'*              gAceType        ACE Types
'*              gAceFlags       Inherit ACEs from the owner of the ACL
'*              gFlags          ACE has an object type or inherited object type
'*              gObjectType     Used for Extended Rights
'*              gInheritedObjectType
'*
'* Output:  Object - New DACL with the ACE added
'*
'********************************************************************

Function AddAce(dacl, TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
    Dim Ace1
    ' Create a new ACE object
    Set Ace1 = CreateObject("AccessControlEntry")
    Ace1.AccessMask = gAccessMask
    Ace1.AceType = gAceType
    Ace1.AceFlags = gAceFlags
    Ace1.Flags = gFlags
    Ace1.Trustee = TrusteeName
    'Check to see if ObjectType needs to be set
    If CStr(gObjectType) <> "0" Then
       Ace1.ObjectType = gObjectType
    End If

    'Check to see if InheritedObjectType needs to be set
    If CStr(gInheritedObjectType) <> "0" Then
        Ace1.InheritedObjectType = gInheritedObjectType
    End If
    dacl.AddAce Ace1

    ' Destroy objects
    Set Ace1 = Nothing
End Function
				

Informationsquellen

Weitere Informationen zu CDOEXM IMailboxStore::CreateMailbox die folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn.microsoft.com/en-us/library/aa487558(EXCHG.65).aspx
Weitere Informationen zu den sicherheitsbezogenen Schnittstellen in ADSI der folgenden MSDN-Website:
http://msdn.microsoft.com/en-us/library/aa772161(VS.85).aspx
Adssecurity.dll ist Teil des Active Directory Service Interfaces (ADSI) 2.5 Resource Kit. Um das ADSI 2.5 Resource Kit zu downloaden, die folgende Microsoft-Website. Verwenden Sie Regsvr32, um ADsSecurity.dll zu registrieren.
http://technet.microsoft.com/en-us/library/cc749949.aspx
Weitere Informationen zu folgendem zugeordnete externe Konten Artikel der Microsoft Knowledge Base:
278888Wie ein Postfach Exchange 2000 oder Exchange 2003-Postfach mit einem Windows NT 4.0-Konto zugeordnet

Eigenschaften

Artikel-ID: 304935 - Geändert am: Freitag, 23. Februar 2007 - Version: 7.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows 2000 Server
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft Collaboration Data Objects for Exchange Management 1.1
Keywords: 
kbmt kbdswadsi2003swept kbhowto KB304935 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 304935
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com