Jak nastavit práva poštovní schránky Exchange Server 2003 a serveru Exchange 2000 na poštovní schránku, která existuje v úložišti informací

Překlady článku Překlady článku
ID článku: 310866 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

V Microsoft Exchange Server 2003 a Microsoft Exchange 2000 Server, můžete nastavit pomocí práv poštovní schránky Active Directory Users and Computers (ADUnC) modulu snap-in na jméno uživatele, který má byly povoleny poštovní schránky. (Klepněte pravým tlačítkem myši na objekt uživatele, klepněte na příkaz Vlastnosti, klepněte Karta Upřesnit vyměňovat a klepněte na práva poštovní schránky.)

Ačkoli je Tato práva poštovní schránky z modulu snap-in ADUnC, v tomto článku můžete změnit. ukazuje, jak programově provést tuto úlohu po vytvoření poštovní schránka v úložišti informací.

Další informace

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace service Pack:
  • Je nutné použít serveru Exchange 2003 nebo Exchange 2000, na kterém máte nainstalované aktualizace Service Pack 2 nebo Service Pack 1 a po aktualizaci SP1 Opravy hotfix pro server Exchange 2000. Další informace o aktualizacích Service Pack naleznete Oddíl "Odkazy".
  • Přístup k objektu uživatele musíte použít kód rozhraní ADSI informace ze služby Active Directory.
  • Je třeba serveru Exchange 2003 spustit nebo uložit informace o serveru Exchange 2000, kde poštovní schránka uživatele existuje (úložiště musí být spuštěn a připojené).
V organizaci Exchange 2003 nebo Exchange 2000 nebo v doméně systému Windows Server 2003 nebo Windows 2000 prostředí, poštovní schránka obsahuje dvě části:
  • Poštovní schránka Active Directory povolena uživatele. Jedná se pouze objekt uživatele ve službě Active Directory, který má několik pošty a poštovní schránky vlastnosti nastaveny na něj.
  • Složky poštovní schránky v úložišti informací serveru Exchange. To je umístění, kde jsou uloženy uživatelské poštovní a několik jsou-li nastaveny vlastnosti specifické pro poštovní schránky.

MsExchMailboxSecurityDescriptor atributu

Práva poštovní schránky jsou uloženy na vlastností popisovače zabezpečení na poštovní schránka v úložišti informací. Atribut v adresáři Active Directory objekt uživatele s názvem msExchMailboxSecurityDescriptor je navržen tak, aby odrážely práv poštovní schránky na uživatele poštovní schránka.

Tento atribut existuje uživatelského objektu v aktivním Adresář a úložiště částečné kopie popisovač zabezpečení poštovní schránky uživatele. Tento atribut zpět není propojena s popisovač zabezpečení poštovní schránky uživatele. V ostatní slova, pokud msExchMailboxSecurityDescriptor je upraven přímo, popisovač zabezpečení poštovní schránky skutečné na poštovní schránka uživatele v úložišti informací není aktualizován. Pokud uživatele Popisovač zabezpečení poštovní schránky je změněn z ADUnC nebo jako prokázané v kód v tomto článku. msExchMailboxSecurityDescriptor automaticky aktualizovány podle těchto změn.

Změny provedené na msExchMailboxSecurityDescriptor se odrazí na popisovač zabezpečení poštovní schránky uživatele, pouze pokud Nastavíte-li tento atribut před vytvoříte v webového úložiště poštovní schránky.

Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
304935Jak nastavit Exchange Server 2000 a 2003 práva poštovní schránky v době vytvoření poštovní schránky
Všimněte si, že poštovní schránky serveru Exchange 2003 nebo Exchange 2000 pro aktivní Directory povolit poštovní schránku uživatele je vytvořen ve výměně při ukládání uživatele pokusí o přístup k poštovní schránce, první nebo jakékoli zpráva je odeslána na tuto poštovní schránka.

Další omezení msExchMailboxSecurityDescriptor je, že nevyjadřuje žádné řízení zděděné přístupu Popisovač zabezpečení poštovní schránky samotné položky (ACE). Proto Společnost Microsoft nedoporučuje měnit práva poštovní schránky pomocí poštovní schránky čtení msExchMailboxSecurityDescriptor. Jiné způsoby čtení uživatelských práv poštovní schránky jsou přesnější než použití tohoto atributu directory.

Rozhraní IExchangeMailbox

Můžete použít IExchangeMailbox rozhraní pro práci s práv poštovní schránky na serveru Exchange 2003 nebo Exchange 2000 poštovní schránky. Musí být nakonfigurován server Exchange 2003 nebo Exchange 2000, jak je uvedeno v "Požadavky" pro následující práce:
  • Vystavit práv poštovní schránky
  • Pro rozhraní IExchangeMailbox přítomny
  • Spustit ukázkový kód
Toto rozhraní patří do knihovny rozhraní CDOEXM (Cdoexm.dll verze 6.0.4720.13).

POZNÁMKA:: Nepokoušejte se ručně zkopírovat Cdoexm.dll a použijte regsvr32 příkaz, který tento soubor dll zaregistrovat, protože vede potíže s kompatibilitou.

Na IExchangeMailbox rozhraní dědí vlastnosti a metody IMailboxStore rozhraní a představuje jednu další vlastnost s názvem MailboxRights. Dotaz na lze IExchangeMailbox rozhraní pouze z rozhraní ADSI a nikoli CDO.Osoba objekt.

Na MailboxRights Zpřístupní vlastnosti popisovač zabezpečení na serveru Exchange 2000 Poštovní schránka v úložišti informací, které lze pracovat s pomocí IADsSecurityDescriptor rozhraní ADSI knihovny. Tuto opravu zabezpečení lze zpracovávat Popisovač jako zpracování popisovače zabezpečení u typu objektu (např. Uživatelé služby Active Directory nebo souborů ve složce). Další informace informace o rozhraní ADSI knihovny a popisovačů zabezpečení, jsou vystaveny programové manipulaci s popisovačem zabezpečení naleznete V tomto článku v části "Odkazy".

Pokud poštovní schránka pro tuto poštovní schránku objekt uživatele povolena není zatím nebyla vytvořena v úložišti informací, IExchangeMailbox rozhraní pracuje msExchMailboxSecurityDescriptor místo toho atribut. To vysvětluje, proč se zobrazí omezené sady práva při zobrazení práv poštovní schránky pro použití tohoto rozhraní nebo ADUnC poštovní schránky uživatele povolena, před jejich poštovní schránky byl vytvořen v informacích úložiště. Po vytvoření poštovní schránky získáte mnoho dalších práv poštovní schránky. Tyto další práva jsou zděděná oprávnění k poštovní schránky z nadřazeného objektu ukládání objektu do úložiště informací serveru Exchange.

Nastavení prostředí jazyka Visual Basic

  1. Spusťte aplikaci Microsoft Visual Basic 6.0 na serveru Exchange 2003 nebo Exchange 2000.
  2. Otevřít nový projekt standardní EXE: na Soubor nabídky, klepněte na tlačítko Novýa potom poklepejte na Standardní EXE.
  3. V Projekt nabídky, klepněte na tlačítko Odkazya pak vyberte Aktivní knihovny typů DS aMicrosoft CDO pro správu serveru Exchange.
  4. V zobrazení zdroj formuláře vložte kód, který následuje Tyto kroky místo (Přepsat) Form_Load() podprogram.
  5. Změna hodnot, které jsou nastaveny pro dvě proměnné sUserADsPath a sTrustee:
    1. Nastavte na cestu LDAP pro sUserADsPath Uživatel služby Active Directory objekt poštovní schránky, jehož práva, můžete chtít zobrazit nebo Upravte.
    2. Nastavte na název účtu, který chcete sTrustee Přidat eso na popisovač zabezpečení poštovní schránky, a umožnit tomuto účtu Úplný přístup k poštovní schránce. STrustee nastavení ve formuláři Název_domény\uživatelské_jméno.
DŮLEŽITÉ: Protože tento příklad ukazuje, jak číst a měnit práva poštovní schránky a jak přidat položku řízení přístupu (ACE) pro úplnou poštovní schránku přístup k zadané správců, nejprve vyzkoušet tento kód na testovací uživatelské jméno.

Ukázkový kód jazyka Visual Basic

   CONST ADS_ACEFLAG_INHERIT_ACE = 2
   CONST ADS_RIGHT_DS_CREATE_CHILD = 1
   CONST ADS_ACETYPE_ACCESS_ALLOWED = 0
   CONST ADS_ACETYPE_ACCESS_DENIED = 1 
   CONST ADS_ACETYPE_SYSTEM_AUDIT = 2 
   CONST ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = 5 
   CONST ADS_ACETYPE_ACCESS_DENIED_OBJECT = 6 
   CONST ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = 7 
   CONST ADS_ACETYPE_SYSTEM_ALARM_OBJECT = 8 


'********************************************************************
'*
'* 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
    'See whether ObjectType must be set.
    If CStr(gObjectType) <> "0" Then
       Ace1.ObjectType = gObjectType
    End If

    'See whether InheritedObjectType must 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 objUser As IADsUser
Dim oSecurityDescriptor As New SecurityDescriptor
Dim dacl As New AccessControlList
Dim ace As New AccessControlEntry

' ********************************************************************
' You will need to change this variable according to your environment.
'
sUserADsPath = "LDAP://ServerName/CN=User1,CN=Users,DC=DomainName,DC=com"
sTrustee = "DomainName\UserName"
' ********************************************************************

' Get directory user object.
Set objUser = GetObject(sUserADsPath)

' Get the Mailbox security descriptor (SD).
Set oSecurityDescriptor = objUser.MailboxRights

' Extract the discretionary access control list (ACL) by using the IADsSecurityDescriptor.
' Interface
Set dacl = oSecurityDescriptor.DiscretionaryAcl

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  The following block of code demonstrates how to read all the ACEs on a
'  DACL for the Exchange 2000 mailbox.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Debug.Print "Here are the existing ACEs in the mailbox's DACL:"

' Enumerate all the access control entries (ACEs) in the ACL using the IADsAccessControlList.
' Interface, therefore, 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 properties of the ACEs 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 how to add a new ACE to the
'  DACL for the Exchange 2000 mailbox with the Trustee specified in 
'  sTrustee, which permits "Full Control" over this mailbox.
'  This is the same task that is performed by ADUnC when you follow these
'  steps to modify the properties of a user: on the Exchange Advanced tab,
'  under Mailbox Rights, click Add, select the Trustee, and then select the 
'  Full Mailbox Access Rights check box. 
'  Similarly, you can also remove ACEs from this ACL by using the IADsAccessControlEntry interfaces.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Template: AddAce(TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
AddAce dacl, sTrustee, ADS_RIGHT_DS_CREATE_CHILD, _
       ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0, 0, 0

' Add the modified DACL to the security descriptor.
oSecurityDescriptor.DiscretionaryAcl = dacl

' Save new SD onto the user.
objUser.MailboxRights = oSecurityDescriptor

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

MsgBox "Done viewing and modifying the Mailbox security descriptor"

End Sub
				

Kód jazyka Visual Basic Script

CONST ADS_ACEFLAG_INHERIT_ACE = 2
CONST ADS_RIGHT_DS_CREATE_CHILD = 1
CONST ADS_ACETYPE_ACCESS_ALLOWED = 0
CONST ADS_ACETYPE_ACCESS_DENIED = 1
CONST ADS_ACETYPE_SYSTEM_AUDIT = 2
CONST ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = 5
CONST ADS_ACETYPE_ACCESS_DENIED_OBJECT = 6
CONST ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = 7
CONST ADS_ACETYPE_SYSTEM_ALARM_OBJECT = 8
Dim objUser
Dim oSecurityDescriptor 
Dim dacl 
Dim ace 

' ********************************************************************
' Change this variable according to your environment.
'
sUserADsPath = "LDAP://ServerName/CN=User1,CN=Users,DC=DomainName,DC=com"
sTrustee = "DomainName\UserName"
' ********************************************************************

'Get directory user object.
Set objUser = GetObject(sUserADsPath)

' Get the Mailbox security descriptor (SD).
Set oSecurityDescriptor = objUser.MailboxRights

' Extract the Discretionary Access Control List (DACL) using the IADsSecurityDescriptor.
' Interface.
Set dacl = oSecurityDescriptor.DiscretionaryAcl
Set ace = CreateObject("AccessControlEntry")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  The following block of code demonstrates how to read all the 
'  ACEs on a DACL for the Exchange 2000 mailbox.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
wscript.echo "Here are the existing ACEs in the mailbox's DACL:"

' Enumerate all the Access Control Entries (ACE) in the DACL using the IADsAccessControlList.
' Interface, therefore, displaying the current mailbox rights.
'wscript.echo "Trustee, AccessMask, ACEType, ACEFlags, Flags, ObjectType, InheritedObjectType"

For Each ace In dacl
' Display all the properties of the ACEs using the IADsAccessControlEntry interface.
    msgbox 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 2003/2000 mailbox with the Trustee specified in sTrustee,
'  which permits full control over this mailbox.
'  This is the same task that is performed by ADUnC when you follow these
'  steps to modify the properties of a user: on the Exchange Advanced tab,
'  under Mailbox Rights, click Add, select the Trustee, and then select the 
'  Full Mailbox Access Rights check box. 
'  Similarly, you can also remove ACEs from this ACL by using the IADsAccessControlEntry interfaces.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Template: AddAce(TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
AddAce dacl, sTrustee, ADS_RIGHT_DS_CREATE_CHILD, _
       ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0, 0, 0

' Add the modified DACL to the security descriptor.
oSecurityDescriptor.DiscretionaryAcl = dacl

' Save new SD onto the user.
objUser.MailboxRights = oSecurityDescriptor

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

MsgBox "Done viewing and modifying the mailboxsecurity 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
    'See whether ObjectType must be set
    If CStr(gObjectType) <> "0" Then
       Ace1.ObjectType = gObjectType
    End If

    'See whether InheritedObjectType must be set.
    If CStr(gInheritedObjectType) <> "0" Then
        Ace1.InheritedObjectType = gInheritedObjectType
    End If
    dacl.AddAce Ace1

    ' Destroy objects.
    Set Ace1 = Nothing
End Function
				

Odkazy

Další informace o nejnovější Service Pack získáte v článku znalostní báze Microsoft Knowledge Base:
301378Jak získat nejnovější aktualizaci service pack pro Exchange 2000 Server
Další informace o dalších tématech uvedených v této článek, klepněte na tlačítko naleznete v následujících článcích znalostní báze společnosti Microsoft:
302926XADM: Nelze měnit programově práv poštovní schránky
252459 Načíst vlastnosti uživatelských objektů rozhraní ADSI a ADO
Další informace naleznete na následujícím webu Microsoft Developer Network:
http://msdn.microsoft.com/en-us/library/aa746481 (VS.85) .aspx

Vlastnosti

ID článku: 310866 - Poslední aktualizace: 18. května 2011 - Revize: 7.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Exchange Server 2003 Standard Edition
Klíčová slova: 
kbdswadsi2003swept kbhowto kbmt KB310866 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:310866

Dejte nám zpětnou vazbu

 

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