Функция NetRequestProvisioningPackageInstall (lmjoin.h)

Функция NetRequestProvisioningPackageInstall выполняется локально на компьютере для изменения образа операционной системы Windows, подключенного к тому. Реестр загружается из образа, а данные пакета подготовки записываются там, где их можно получить на этапе завершения операции автономного присоединения к домену.

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetRequestProvisioningPackageInstall(
  [in] BYTE    *pPackageBinData,
  [in] DWORD   dwPackageBinDataSize,
  [in] DWORD   dwProvisionOptions,
  [in] LPCWSTR lpWindowsPath,
       PVOID   pvReserved
);

Параметры

[in] pPackageBinData

Указатель на буфер, необходимый для инициализации реестра образа операционной системы Windows для обработки окончательного изменения локального состояния на этапе завершения операции автономного присоединения к домену.

Непрозрачный двоичный BLOB-объект сериализованных метаданных, переданных в параметре pPackageBinData , возвращается функцией NetCreateProvisioningPackage .

[in] dwPackageBinDataSize

Размер (в байтах) буфера, на который указывает параметр pPackageBinData .

Этот параметр не должен иметь значение NULL.

[in] dwProvisionOptions

Набор битовых флагов, определяющих параметры для этой функции. Этот параметр использует одно или несколько следующих значений, определенных в файле заголовка Lmjoin.h .

Значение Значение
NETSETUP_PROVISION_ONLINE_CALLER
0x40000000
Этот флаг является обязательным, если параметр lpWindowsPath ссылается на текущий каталог операционной системы Windows, а не на автономный образ операционной системы Windows, подключенный на томе со специальными возможностями. Если этот флаг указан, функция NetRequestProvisioningPackageInstall должна вызываться членом локальной группы администраторов.

[in] lpWindowsPath

Указатель на строку символов, завершающуюся значением NULL, которая указывает путь к образу операционной системы Windows, в котором находятся кусты реестра. Этот образ должен находиться в автономном режиме и не загружаться в данный момент, если параметр dwProvisionOptions не содержит NETSETUP_PROVISION_ONLINE_CALLER. В этом случае разрешено использовать локально работающий каталог операционной системы.

Этот путь может быть UNC-путем на удаленном сервере.

pvReserved

Зарезервировано для последующего использования.

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

Если функция выполняется успешно, возвращаемое значение будет NERR_Success.

Если функция завершается ошибкой, возвращаемым значением может быть один из следующих кодов ошибок управления сетью.

Код возврата Описание
NERR_NoOfflineJoinInfo
Сведения о завершении автономного соединения не найдены.
NERR_BadOfflineJoinInfo
Сведения о завершении автономного соединения были неверными.
NERR_CantCreateJoinInfo
Не удается создать сведения об автономном соединении. Убедитесь, что у вас есть доступ к указанному расположению пути и разрешения на изменение его содержимого. Может потребоваться запуск от имени администратора с повышенными привилегиями.
NERR_BadDomainJoinInfo
Сохраненные сведения о присоединении к домену были неполными или неверными.
NERR_JoinPerformedMustRestart
Операция автономного соединения успешно завершена, но требуется перезагрузка.
NERR_NoJoinPending
Операция автономного соединения не ожидалась.
NERR_ValuesNotSet
Не удается задать одно или несколько запрошенных значений компьютеров или доменных имен на локальном компьютере.
NERR_CantVerifyHostname
Не удалось проверить имя узла текущего компьютера по сохраненному значению в сведениях о завершении соединения.
NERR_CantLoadOfflineHive
Не удалось загрузить указанный куст автономного реестра. Убедитесь, что у вас есть доступ к указанному расположению пути и разрешения на изменение его содержимого. Может потребоваться запуск от имени администратора с повышенными привилегиями.
NERR_ConnectionInsecure
Минимальные требования к безопасности сеанса для этой операции не были выполнены.
NERR_ProvisioningBlobUnsupported
Версия большого двоичного объекта для подготовки учетной записи компьютера не поддерживается.

Комментарии

Функция NetRequestProvisioningPackageInstall поддерживается в Windows 8 для операций автономного присоединения к домену. Для Windows 7 используйте NetRequestOfflineDomainJoin.

Сценарий автономного присоединения к домену использует две функции:

  • NetCreateProvisioningPackage — это функция подготовки, которая сначала вызывается для выполнения сетевых операций, необходимых для создания и настройки объекта-компьютера в Active Directory. Выходные данные NetCreateProvisioningPackage — это пакет, используемый для следующего шага.
  • NetRequestProvisioningPackageInstall, функция инициализации образа, вызывается для внедрения выходных данных функции подготовки NetCreateProvisioningPackage в образ операционной системы Windows для использования во время установки.
Изменения в коде инициализации Windows обнаруживают это сохраненное состояние и влияют на локальную часть присоединения к домену и установки всех сведений о сертификате и политике, которые могли присутствовать в пакете.

Функция NetCreateProvisioningPackage создаст или повторно использует учетную запись компьютера в домене, соберет все необходимые метаданные и вернет их в пакете. Пакет может использоваться операцией запроса автономного присоединения к домену, предоставляя все необходимые входные данные для завершения присоединения к домену во время первой загрузки без каких-либо сетевых операций (только обновления локального состояния).

Примечание по безопасности: Пакет, созданный функцией NetCreateProvisioningPackage , содержит очень конфиденциальные данные. К нему следует относиться так же безопасно, как к паролю в виде открытого текста. Пакет содержит пароль учетной записи компьютера и другие сведения о домене, включая доменное имя, имя контроллера домена и идентификатор безопасности домена. Если пакет перевозится физически или по сети, необходимо соблюдать осторожность для безопасной транспортировки. В структуре не предусматривается защита этих данных. Эта проблема существует в настоящее время с файлами ответов автоматической установки, которые могут содержать ряд секретов, включая пароли пользователей домена. Вызывающий объект должен защитить пакет. Решения этой проблемы разнообразны. Например, предварительно обменивается ключом для шифрования сеанса между объектом-получателем и сущностью подготовки, что обеспечивает безопасную передачу пакета.

Пакет, возвращаемый в параметре pPackageBinData функцией NetCreateProvisioningPackage , управляется версиями, чтобы обеспечить сценарии взаимодействия и обслуживания между разными версиями Windows (например, присоединение клиента, подготовка компьютера и использование контроллера домена). Сценарий автономного присоединения в настоящее время не ограничивает время существования пакета, возвращаемого функцией NetCreateProvisioningPackage .

Все этапы процесса подготовки добавляются в файл NetSetup.log на локальном компьютере. Процесс подготовки может включать до трех разных компьютеров: компьютер, на котором создан пакет подготовки, компьютер, запрашивающий установку пакета, и компьютер, на котором установлен пакет. На всех трех компьютерах будут храниться сведения о файле NetSetup.log в соответствии с выполненной операцией. Просмотр содержимого этих файлов является наиболее распространенным средством устранения ошибок сетевой и автономной подготовки. Операции подготовки, выполняемые администраторами, регистрируются в файле NetSetup.log в %WINDIR%\Debug. Операции подготовки, выполняемые неадминистраторами, регистрируются в файле NetSetup.log в папке %USERPROFILE%\Debug .

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header lmjoin.h (включая Lm.h)
Библиотека Netapi32.lib
DLL Netapi32.dll

См. также раздел

NETSETUP_PROVISIONING_PARAMS

NetCreateProvisioningPackage

NetJoinDomain

NetProvisionComputerAccount

NetRenameMachineInDomain

NetRequestOfflineDomainJoin

NetUnjoinDomain

Функции управления сетью

Общие сведения об управлении сетью