Share via


Función NetRequestProvisioningPackageInstall (lmjoin.h)

La función NetRequestProvisioningPackageInstall se ejecuta localmente en un equipo para modificar una imagen de sistema operativo Windows montada en un volumen. El registro se carga desde la imagen y los datos del paquete de aprovisionamiento se escriben donde se pueden recuperar durante la fase de finalización de una operación de unión a un dominio sin conexión.

Sintaxis

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

Parámetros

[in] pPackageBinData

Puntero a un búfer necesario para inicializar el registro de una imagen de sistema operativo Windows para procesar el cambio de estado local final durante la fase de finalización de la operación de unión a un dominio sin conexión.

La función NetCreateProvisioningPackage devuelve el blob binario opaco de metadatos serializados pasados en el parámetro pPackageBinData.

[in] dwPackageBinDataSize

Tamaño, en bytes, del búfer al que apunta el parámetro pPackageBinData .

Este parámetro no debe ser NULL.

[in] dwProvisionOptions

Conjunto de marcas de bits que definen opciones para esta función. Este parámetro usa uno o varios de los siguientes valores definidos en el archivo de encabezado Lmjoin.h .

Valor Significado
NETSETUP_PROVISION_ONLINE_CALLER
0x40000000
Esta marca es necesaria si el parámetro lpWindowsPath hace referencia al directorio del sistema operativo Windows que se ejecuta actualmente en lugar de una imagen de sistema operativo Windows sin conexión montada en un volumen accesible. Si se especifica esta marca, un miembro del grupo administradores local debe invocar la función NetRequestProvisioningPackageInstall .

[in] lpWindowsPath

Puntero a una cadena de caracteres terminada en NULL que especifica la ruta de acceso a una imagen del sistema operativo Windows en la que se encuentran los subárboles del Registro. Esta imagen debe estar sin conexión y no arrancar actualmente a menos que el parámetro dwProvisionOptions contenga NETSETUP_PROVISION_ONLINE_CALLER, en cuyo caso, se permite el directorio del sistema operativo que se ejecuta localmente.

Esta ruta de acceso podría ser una ruta UNC en un servidor remoto.

pvReserved

Reservado para uso futuro.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es NERR_Success.

Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de error de administración de red.

Código devuelto Descripción
NERR_NoOfflineJoinInfo
No se encontró la información de finalización de la combinación sin conexión.
NERR_BadOfflineJoinInfo
La información de finalización de la combinación sin conexión era incorrecta.
NERR_CantCreateJoinInfo
No se puede crear información de unión sin conexión. Asegúrese de que tiene acceso a la ubicación de la ruta de acceso y los permisos especificados para modificar su contenido. Es posible que se ejecute como administrador con privilegios elevados.
NERR_BadDomainJoinInfo
La información de unión al dominio que se guardaba estaba incompleta o incorrecta.
NERR_JoinPerformedMustRestart
La operación de unión sin conexión se completó correctamente, pero se necesita un reinicio.
NERR_NoJoinPending
No había ninguna operación de unión sin conexión pendiente.
NERR_ValuesNotSet
No se pueden establecer uno o varios valores de nombre de dominio o equipo solicitados en el equipo local.
NERR_CantVerifyHostname
No se pudo comprobar el nombre de host del equipo actual con el valor guardado en la información de finalización de la combinación.
NERR_CantLoadOfflineHive
No se puede cargar el subárbol del Registro sin conexión especificado. Asegúrese de que tiene acceso a la ubicación de la ruta de acceso y los permisos especificados para modificar su contenido. Es posible que se ejecute como administrador con privilegios elevados.
NERR_ConnectionInsecure
No se han cumplido los requisitos mínimos de seguridad de sesión para esta operación.
NERR_ProvisioningBlobUnsupported
No se admite la versión del blob de aprovisionamiento de cuentas de equipo.

Comentarios

La función NetRequestProvisioningPackageInstall se admite en Windows 8 para las operaciones de unión a un dominio sin conexión. Para Windows 7, use NetRequestOfflineDomainJoin.

El escenario de unión a un dominio sin conexión usa dos funciones:

  • NetCreateProvisioningPackage es una función de aprovisionamiento a la que se llama primero para realizar las operaciones de red necesarias para crear y configurar el objeto de equipo en Active Directory. La salida de NetCreateProvisioningPackage es un paquete que se usa para el paso siguiente.
  • Se llama a NetRequestProvisioningPackageInstall, una función de inicialización de imagen, para insertar la salida de la función de aprovisionamiento NetCreateProvisioningPackage en una imagen del sistema operativo Windows para su uso durante la instalación.
Los cambios en el código de inicialización de Windows detectarán este estado guardado y afectarán a la parte solo local de la unión a un dominio e instalarán cualquier certificado e información de directiva que pueda haber estado presente en el paquete.

La función NetCreateProvisioningPackage creará o reutilizará la cuenta de equipo en el dominio, recopilará todos los metadatos necesarios y los devolverá en un paquete. La operación de solicitud de unión a un dominio sin conexión puede consumir el paquete proporcionando toda la entrada necesaria para completar la unión al dominio durante el primer arranque sin ninguna operación de red (solo actualizaciones de estado local).

Nota de seguridad: El paquete creado por la función NetCreateProvisioningPackage contiene datos muy confidenciales. Debe tratarse de forma tan segura como una contraseña de texto no cifrado. El paquete contiene la contraseña de la cuenta de equipo y otra información sobre el dominio, incluido el nombre de dominio, el nombre de un controlador de dominio y el identificador de seguridad (SID) del dominio. Si el paquete se transporta físicamente o a través de la red, se debe tener cuidado para transportarlo de forma segura. El diseño no hace ninguna disposición para proteger estos datos. Este problema existe actualmente con archivos de respuesta de instalación desatendida que pueden llevar varios secretos, incluidas las contraseñas de usuario de dominio. El autor de la llamada debe proteger el paquete. Las soluciones a este problema son variadas. Por ejemplo, se podría usar una clave intercambiada previamente para cifrar una sesión entre el consumidor y la entidad de aprovisionamiento, lo que permite una transferencia segura del paquete.

El paquete devuelto en el parámetro pPackageBinData por la función NetCreateProvisioningPackage tiene versiones para permitir escenarios de interoperabilidad y capacidad de servicio entre diferentes versiones de Windows (como unir un cliente, aprovisionar una máquina y usar un controlador de dominio). Actualmente, el escenario de combinación sin conexión no limita la duración del paquete devuelto por la función NetCreateProvisioningPackage .

Todas las fases del proceso de aprovisionamiento se anexan a un archivo NetSetup.log en el equipo local. El proceso de aprovisionamiento puede incluir hasta tres equipos diferentes: el equipo donde se crea el paquete de aprovisionamiento, el equipo que solicita la instalación del paquete y el equipo donde está instalado el paquete. Habrá información del archivo NetSetup.log almacenada en los tres equipos según la operación realizada. Revisar el contenido de estos archivos es el medio más común para solucionar errores de aprovisionamiento en línea y sin conexión. Las operaciones de aprovisionamiento realizadas por los administradores se registran en el archivo NetSetup.log en %WINDIR%\Debug. Las operaciones de aprovisionamiento realizadas por los no administradores se registran en el archivo NetSetup.log en la carpeta %USERPROFILE%\Debug .

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lmjoin.h (include Lm.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

NETSETUP_PROVISIONING_PARAMS

NetCreateProvisioningPackage

NetJoinDomain

NetProvisionComputerAccount

NetRenameMachineInDomain

NetRequestOfflineDomainJoin

NetUnjoinDomain

Funciones de administración de redes

Introducción a la administración de redes