Функция 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 .
[in] lpWindowsPath
Указатель на строку символов, завершающуюся значением NULL, которая указывает путь к образу операционной системы Windows, в котором находятся кусты реестра. Этот образ должен находиться в автономном режиме и не загружаться в данный момент, если параметр dwProvisionOptions не содержит NETSETUP_PROVISION_ONLINE_CALLER. В этом случае разрешено использовать локально работающий каталог операционной системы.
Этот путь может быть UNC-путем на удаленном сервере.
pvReserved
Зарезервировано для последующего использования.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NERR_Success.
Если функция завершается ошибкой, возвращаемым значением может быть один из следующих кодов ошибок управления сетью.
Код возврата | Описание |
---|---|
|
Сведения о завершении автономного соединения не найдены. |
|
Сведения о завершении автономного соединения были неверными. |
|
Не удается создать сведения об автономном соединении. Убедитесь, что у вас есть доступ к указанному расположению пути и разрешения на изменение его содержимого. Может потребоваться запуск от имени администратора с повышенными привилегиями. |
|
Сохраненные сведения о присоединении к домену были неполными или неверными. |
|
Операция автономного соединения успешно завершена, но требуется перезагрузка. |
|
Операция автономного соединения не ожидалась. |
|
Не удается задать одно или несколько запрошенных значений компьютеров или доменных имен на локальном компьютере. |
|
Не удалось проверить имя узла текущего компьютера по сохраненному значению в сведениях о завершении соединения. |
|
Не удалось загрузить указанный куст автономного реестра. Убедитесь, что у вас есть доступ к указанному расположению пути и разрешения на изменение его содержимого. Может потребоваться запуск от имени администратора с повышенными привилегиями. |
|
Минимальные требования к безопасности сеанса для этой операции не были выполнены. |
|
Версия большого двоичного объекта для подготовки учетной записи компьютера не поддерживается. |
Комментарии
Функция NetRequestProvisioningPackageInstall поддерживается в Windows 8 для операций автономного присоединения к домену. Для Windows 7 используйте NetRequestOfflineDomainJoin.
Сценарий автономного присоединения к домену использует две функции:
- NetCreateProvisioningPackage — это функция подготовки, которая сначала вызывается для выполнения сетевых операций, необходимых для создания и настройки объекта-компьютера в Active Directory. Выходные данные NetCreateProvisioningPackage — это пакет, используемый для следующего шага.
- NetRequestProvisioningPackageInstall, функция инициализации образа, вызывается для внедрения выходных данных функции подготовки NetCreateProvisioningPackage в образ операционной системы 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 |
См. также раздел
NetProvisionComputerAccount