Поделиться через


Функция DsAddSidHistoryA (ntdsapi.h)

Функция DsAddSidHistory извлекает идентификатор безопасности основной учетной записи (SID) субъекта безопасности из одного домена и добавляет его в атрибут sIDHistory субъекта безопасности в другом домене в другом лесу. Если исходный домен находится в собственном режиме Windows 2000, эта функция также извлекает значения sIDHistory исходного субъекта и добавляет их в целевой субъект sIDHistory.

Функция DsAddSidHistory выполняет функцию с учетом безопасности, добавив идентификатор безопасности существующей учетной записи безопасности существующего субъекта безопасности в sIDHistory субъекта в домене в другом лесу, эффективно предоставляя последнему доступ ко всем ресурсам, доступным для бывшего. Дополнительные сведения об использовании и безопасности этой функции см. в using DsAddSidHistory.

Синтаксис

NTDSAPI DWORD DsAddSidHistoryA(
  [in] HANDLE                   hDS,
  [in] DWORD                    Flags,
  [in] LPCSTR                   SrcDomain,
  [in] LPCSTR                   SrcPrincipal,
  [in] LPCSTR                   SrcDomainController,
  [in] RPC_AUTH_IDENTITY_HANDLE SrcDomainCreds,
  [in] LPCSTR                   DstDomain,
  [in] LPCSTR                   DstPrincipal
);

Параметры

[in] hDS

Содержит дескриптор службы каталогов, полученный из функции DSBind или DSBindWithCred.

[in] Flags

Зарезервировано для дальнейшего использования. Установите значение NULL.

[in] SrcDomain

Указатель на строку, завершающуюся значением NULL, которая указывает имя домена для запроса идентификатора безопасности SrcPrincipal.

Если исходный домен работает в операционных системах Windows Server, SrcDomain может быть именем системы доменных имен (DNS), например fabrikam.com или неструктурированным NetBIOS, например Fabrikam, name. Dns-имена следует использовать, если это возможно.

[in] SrcPrincipal

Указатель на строку, завершающую значение NULL, которая указывает имя субъекта безопасности, пользователя или группы в исходном домене. Это имя — это имя диспетчера учетных записей безопасности (SAM), например evacorets.

[in] SrcDomainController

Указатель на строку, завершающуюся значением NULL, которая указывает имя первичного эмулятора контроллера домена (PDC) в исходном домене для безопасного извлечения исходного субъекта и создания аудита.

Если этот параметр NULL, DSBindWithCred выберет основной контроллер домена.

SrcDomainController может быть DNS-именем или неструктурированным именем NetBIOS. Dns-имена следует использовать, если это возможно.

[in] SrcDomainCreds

Содержит дескриптор удостоверения, представляющий удостоверение и учетные данные пользователя с правами администратора в исходном домене. Чтобы получить этот дескриптор, вызовите dsMakePasswordCredentials. Этот пользователь должен быть членом группы "Администраторы" или "Администраторы домена". Если этот вызов выполняется с удаленного компьютера на целевой контроллер домена, удаленный компьютер и целевой контроллер домена должны поддерживать 128-разрядное шифрование для защиты учетных данных в конфиденциальности. Если 128-разрядное шифрование недоступно и SrcDomainCreds, вызов должен быть выполнен в целевом контроллере домена.

Если этот параметр null, учетные данные вызывающего объекта используются для доступа к исходному домену. Затем вызывающий пользователь должен иметь права администратора в исходном домене.

[in] DstDomain

Указатель на строку, завершающуюся значением NULL, которая указывает имя целевого домена, в котором находится DstPrincipal. Это имя может быть DNS-именем, например fabrikam.com или именем NetBIOS, например Fabrikam. Целевой домен должен запускать собственный режим Windows 2000.

[in] DstPrincipal

Указатель на строку, завершающую значение NULL, которая указывает имя субъекта безопасности, пользователя или группы в целевом домене. Это имя SAM относительно домена определяет субъект, атрибут обновляется с идентификатором безопасности SrcPrincipal.

Возвращаемое значение

Возвращает коды ошибок Win32, включая следующие.

Замечания

Заметка

Заголовок ntdsapi.h определяет DsAddSidHistory как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, который не является кодировкой нейтральным, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
минимальный поддерживаемый сервер Windows Server 2008
целевая платформа Виндоус
заголовка ntdsapi.h
библиотеки Ntdsapi.lib
DLL Ntdsapi.dll

См. также

DSBind

DSBindWithCred

функции управления доменами и репликацией

DsMakePasswordCredentials

использование dsAddSidHistory

ldap_bind_s

ldap_open