Как установить во время создания почтового ящика Exchange Server 2000 и 2003 права почтового ящика

Переводы статьи Переводы статьи
Код статьи: 304935 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В этой статье показано, как программно изменить права почтового ящика Microsoft Exchange Server 2000 или 2003 почтового ящика в то же время, что вы почтовый ящик Включение объекта пользователя в службе каталогов Microsoft Active Directory.

Данная статья содержит пример кода, который показывает, как задать права почтового ящика Exchange 2000 или 2003 почтовый ящик до фактического почтового ящика был создан для пользователей в Exchange 2000 или 2003, сведения о хранилище, но после того, как объект пользователей почтовых ящиков в службе каталогов Active Directory.

Примечание Этот код не оказывает влияния, если почтовый ящик уже существует в Exchange 2000 или 2003 банка. Другими словами он не влияет на права фактического почтового ящика в почтовый ящик пользователя, если почтовый ящик пользователя уже осуществлен доступ.Для получения дополнительных сведений о том, как права почтового ящика в почтовом ящике Exchange 2000 и до и после его создания в банке, щелкните следующий номер статьи базы знаний Майкрософт:
310866Как установить права почтового ящика Exchange 2000 почтовому ящику, расположенному в банке

Дополнительная информация

Почтовый ящик имеет две части в Exchange 2000 или 2003 организации в доменной среде Microsoft Windows 2000 или Microsoft Windows Server 2003.
  • Пользователей почтовых ящиков Active Directory: это просто объекта пользователя в Active Directory. Несколько свойств, связанных с электронной почты и свойства, связанные с почтовых ящиков установлены на этот объект пользователя.
  • Папка почтового ящика в банк данных Exchange: это место, где хранятся фактические почты пользователя и где задать несколько свойств, относящихся к почтовому ящику.
Права почтового ящика, хранятся на свойства дескриптора безопасности на почтовый ящик в хранилище данных. Используется также атрибут объекта пользователя Active Directory, называется msExchMailboxSecurityDescriptor. Этот атрибут предназначен только для отражения права почтового ящика в почтовом ящике пользователя.

Краткий обзор процесса активации почтового ящика в Exchange 2000 или 2003

Ниже перечислены шаги, предпринимаемые обычно для создания сервера Exchange 2000 или 2003 почтовых ящиков пользователей в Active Directory.
  1. Администратор домена создает объект пользователя службы каталогов Active Directory и включение учетной записи пользователя из "Active Directory пользователей и компьютеры" (ADUnC)-это оснастка или кода, использующего интерфейсы служб Active Directory (ADSI).
  2. Администратор домена затем почтовый ящик – обеспечивает пользователя из ADUnC или программно через интерфейс IMailboxStore в объекты данных совместной работы для Exchange Management (CDOEXM). Ссылки на документацию для интерфейса IMailboxStore включается в разделе «Ссылки» данной статьи. Любой подход, отличный от CDOEXM, используемая для почтового программного ящика для объекта пользователя не поддерживается.

    Эти два подхода убедитесь, что msExchMailboxSecurityDescriptor атрибут и некоторые другие атрибуты заданы правильно объекта пользователя при их почтовых ящиков включить его. По сути, этот шаг задает небольшое подмножество атрибутов почтового ящика и почтовые атрибуты объекта пользователя в Active Directory. На этом этапе почтового ящика пользователя еще не готовы для доступа.
  3. Получатель службы обновления (RUS), на Exchange 2000 или server 2003, в зависимости от того, когда он по расписанию, штампы все оставшиеся почты связанных с почтового ящика и атрибуты объекта пользователя. На этом этапе почтовый ящик пользователя не был создан в Exchange 2000 или 2003 банка. Тем не менее пользователь полностью почтовых ящиков. Теперь почтовый ящик готов получить доступ.
  4. При первом доступе пользователя к почтовому ящику или первое сообщение пересылается на почтовый ящик в Exchange 2000 или 2003 банк создается фактических почтовых ящиков. На этом этапе когда Exchange создает почтовый ящик пользователя, права почтового ящика задается на дескриптор безопасности почтового ящика в хранилище. Это зависит от записей управления доступом (ACE), установленные на msExchMailboxSecurityDescriptor атрибут.

Атрибут msExchMailboxSecurityDesciptor

Существует этот атрибут объекта пользователя в Active Directory. Он хранит копию Частичный дескриптор безопасности почтового ящика пользователя. Этот атрибут не назад связан дескриптор безопасности почтового ящика пользователя.

Другими словами Если непосредственно изменить этот атрибут, не обновляются фактические дескриптор безопасности почтового ящика пользователя в банк данных Exchange, если этот атрибут установлен до создания фактического почтового ящика в хранилище данных.

Фактически, если возникает конфликт между дескриптор безопасности, который отражен msExchMailboxSecurityDescriptor атрибут объекта пользователя в Active Directory и дескриптор безопасности, который хранится в почтовом ящике пользователя в банк данных Exchange исправления msExchMailboxSecurityDescriptor атрибут для отражения дескриптор безопасности почтового ящика пользователя. Если изменить дескриптор безопасности почтового ящика пользователя из ADUnC или через интерфейс CDOEXM IExchangeMailbox msExchMailboxSecurityDescriptor атрибут автоматически обновляется для отражения этих изменений.

Ограничения использования атрибут msExchMailboxSecurityDescriptor

  • Изменения, внесенные в этот атрибут отражаются на дескриптор безопасности почтового ящика пользователя, только если значение этого атрибута до создания почтового ящика в хранилище данных. Обратите внимание на то, что Exchange 2000 и 2003 почтовый ящик для почтовых ящиков пользователей в Active Directory создается в хранилище Exchange при первом доступе пользователя к почтовому ящику или когда все письма, отправленные данному пользователю.
  • Другой особенностью этого атрибута является что атрибут не отражают все наследуемые записи ACE на дескриптор безопасности почтового ящика фактические. Таким образом читать этот атрибут каталога не является наиболее точный подход для чтения права почтового ящика пользователя.

Преимущества использования атрибут msExchMailboxSecurityDescriptor

  • Этот атрибут задается для объекта пользователя в Active Directory. Таким образом он может осуществляться с помощью любого интерфейса API, который является совместимым с Lightweight Directory Access протокол (LDAP), такие как API-интерфейсы ADSI или API LDAP.
  • Поскольку этот код не требует CDOEXM, запустите его с сервера, который не поддерживает Microsoft Exchange 2000 и установки средств управления системой 2003. Но опять же, необходимо установить права почтового ящика, до создания почтового ящика пользователя в хранилище данных. Кроме того права почтового ящика можно прочитать в любое время почтового ящика этого пользователя. Но имейте в виду ограничения, описанные в этой статье. (См. "ограничения использования msExchMailboxSecurityDescriptor Атрибут"раздел.)
Если не задано msExchMailboxSecurityDescriptor атрибут для пользователей почтовых ящиков до создания фактического почтового ящика в хранилище данных, свойство дескриптор безопасности почтового ящика в хранилище данных не содержит записи управления ДОСТУПОМ с помощью следующих:
  • В Доверенное лицо свойству присвоено значение Самого себя
  • В Маска доступа свойству присвоено значение Полный доступ К почтовому ящику
  • В Чтение набор разрешений Разрешить
  • В Тип ACE значение Разрешить
Если это так, могут возникать проблемы при попытке пользователя получить доступ к общим папкам или все ресурсы, находящиеся за пределами локального сервера Exchange. Это одна из причин, по которым интерфейс IMailboxStore в библиотеке CDOEXM только поддерживаемые механизм разрешить программно почтового ящика пользователя Active Directory для Exchange 2000 или 2003 хранилища.Ниже приведен пример, показывающий, как сделать объект почтовых ящиков пользователей в Active Directory с помощью ADSI и CDOEXM. Затем можно вручную установить msExchMailboxSecurityDescriptor интерфейс для включения записи управления ДОСТУПОМ с помощью доверенного лица, указанного в коде. Единственной целью этого примера является показывают, как установить этот атрибут, прежде чем почтовый ящик пользователя доступ и созданы в банке, если атрибут неправильно устанавливался в прошлом.

Настройка среды Visual Basic для запуска образца Visual Basic

  1. Запустите Microsoft Visual Basic 6.0 на Exchange 2000 или 2003 server.
  2. Создайте новый проект EXE. Для этого нажмите кнопку Новый В меню Файл меню, а затем щелкните два раза Стандартный файл EXE.
  3. На Проект меню, нажмите кнопку Ссылки, а затем выберите Активные библиотеки типов DS и CDO корпорации Майкрософт для управления Exchange.
  4. В представлении исходного кода формы, введите или вставьте следующий код таким образом, чтобы он заменил Form_Load() Подпрограмма.
  5. Измените значение переменной sUserADsPath путь LDAP для объекта пользователя Active Directory, чей почтовый ящик права, чтобы просмотреть или изменить.
ПРИМЕЧАНИЕ: В этом примере показано, как читать копировать права почтового ящика, которые хранятся на msExchMailboxSecurityDescriptor атрибут. Он также показано, как изменить права почтового ящика и добавить запись ACE для полного доступа к Самого себя Элемент управления ДОСТУПОМ как доверенное лицо.

Код Visual Basic

'********************************************************************
'*
'* 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
				

Код сценария Visual Basic

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
				

Ссылки

Для получения дополнительных сведений о CDOEXM IMailboxStore::CreateMailbox, посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://MSDN.Microsoft.com/en-us/library/aa487558 (EXCHG.65) .aspx
Для получения дополнительных сведений о безопасности интерфейсы ADSI посетите веб-узле MSDN:
http://MSDN.Microsoft.com/en-us/library/aa772161 (VS.85) .aspx
Adssecurity.dll является частью служб Active Directory интерфейсы (ADSI) 2.5 Resource Kit. Чтобы загрузить ADSI 2.5 Resource kit, посетите веб-узел корпорации Майкрософт. Для регистрации ADsSecurity.dll с помощью Regsvr32.
http://TechNet.Microsoft.com/en-us/library/cc749949.aspx
Для получения дополнительных сведений о соответствующих внешних счетов, щелкните следующий номер статьи базы знаний Майкрософт:
278888Как связать почтовый ящик Exchange 2000 или почтовому ящику Exchange 2003 с помощью учетной записи Windows NT 4.0

Свойства

Код статьи: 304935 - Последний отзыв: 6 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • 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
Ключевые слова: 
kbdswadsi2003swept kbhowto kbmt KB304935 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:304935

Отправить отзыв

 

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