NetRequestProvisioningPackageInstall, fonction (lmjoin.h)
La fonction NetRequestProvisioningPackageInstall s’exécute localement sur un ordinateur pour modifier une image de système d’exploitation Windows montée sur un volume. Le registre est chargé à partir de l’image et les données du package d’approvisionnement sont écrites où elles peuvent être récupérées pendant la phase d’achèvement d’une opération de jointure de domaine hors connexion.
Syntaxe
NET_API_STATUS NET_API_FUNCTION NetRequestProvisioningPackageInstall(
[in] BYTE *pPackageBinData,
[in] DWORD dwPackageBinDataSize,
[in] DWORD dwProvisionOptions,
[in] LPCWSTR lpWindowsPath,
PVOID pvReserved
);
Paramètres
[in] pPackageBinData
Pointeur vers une mémoire tampon requise pour initialiser le registre d’une image de système d’exploitation Windows afin de traiter le changement d’état local final pendant la phase d’achèvement de l’opération de jonction de domaine hors connexion.
L’objet blob binaire opaque des métadonnées sérialisées passées dans le paramètre pPackageBinData est retourné par la fonction NetCreateProvisioningPackage .
[in] dwPackageBinDataSize
Taille, en octets, de la mémoire tampon pointée vers le paramètre pPackageBinData .
Ce paramètre ne doit pas être NULL.
[in] dwProvisionOptions
Ensemble d’indicateurs de bits qui définissent des options pour cette fonction. Ce paramètre utilise une ou plusieurs des valeurs suivantes définies dans le fichier d’en-tête Lmjoin.h .
[in] lpWindowsPath
Pointeur vers une chaîne de caractères terminée par NULL qui spécifie le chemin d’accès à une image de système d’exploitation Windows sous laquelle se trouvent les ruches du Registre. Cette image doit être hors connexion et ne pas être démarrée, sauf si le paramètre dwProvisionOptions contient NETSETUP_PROVISION_ONLINE_CALLER, auquel cas le répertoire du système d’exploitation exécuté localement est autorisé.
Ce chemin peut être un chemin UNC sur un serveur distant.
pvReserved
Réservé pour un usage futur.
Valeur retournée
Si la fonction réussit, la valeur de retour est NERR_Success.
Si la fonction échoue, la valeur de retour peut être l’un des codes d’erreur gestion du réseau suivants.
Code de retour | Description |
---|---|
|
Les informations de saisie semi-automatique de jointure hors connexion sont introuvables. |
|
Les informations de saisie semi-automatique de jointure hors connexion étaient incorrectes. |
|
Impossible de créer des informations de jointure hors connexion. Vérifiez que vous avez accès à l’emplacement du chemin d’accès spécifié et aux autorisations pour modifier son contenu. L’exécution en tant qu’administrateur avec élévation de privilèges peut être nécessaire. |
|
Les informations de jointure de domaine enregistrées étaient incomplètes ou incorrectes. |
|
L’opération de jointure hors connexion s’est terminée avec succès, mais un redémarrage est nécessaire. |
|
Aucune opération de jointure hors connexion n’était en attente. |
|
Impossible de définir une ou plusieurs valeurs de nom de domaine ou de machine demandées sur l’ordinateur local. |
|
Impossible de vérifier le nom d’hôte de l’ordinateur actuel par rapport à la valeur enregistrée dans les informations d’achèvement de la jointure. |
|
Impossible de charger la ruche de Registre hors connexion spécifiée. Vérifiez que vous avez accès à l’emplacement du chemin d’accès spécifié et aux autorisations pour modifier son contenu. L’exécution en tant qu’administrateur avec élévation de privilèges peut être nécessaire. |
|
Les exigences minimales de sécurité de session pour cette opération n’ont pas été satisfaites. |
|
La version de l’objet blob d’approvisionnement de compte d’ordinateur n’est pas prise en charge. |
Notes
La fonction NetRequestProvisioningPackageInstall est prise en charge sur Windows 8 pour les opérations de jointure de domaine hors connexion. Pour Windows 7, utilisez NetRequestOfflineDomainJoin.
Le scénario de jonction de domaine hors connexion utilise deux fonctions :
- NetCreateProvisioningPackage est une fonction d’approvisionnement qui est d’abord appelée pour effectuer les opérations réseau nécessaires à la création et à la configuration de l’objet ordinateur dans Active Directory. La sortie de NetCreateProvisioningPackage est un package utilisé pour l’étape suivante.
- NetRequestProvisioningPackageInstall, une fonction d’initialisation d’image, est appelée pour injecter la sortie de la fonction d’approvisionnement NetCreateProvisioningPackage dans une image de système d’exploitation Windows à utiliser pendant l’installation.
La fonction NetCreateProvisioningPackage crée ou réutilise le compte d’ordinateur dans le domaine, collecte toutes les métadonnées nécessaires et les retourne dans un package. Le package peut être consommé par l’opération de demande de jonction de domaine hors connexion qui fournit toutes les entrées nécessaires pour terminer la jonction de domaine lors du premier démarrage sans aucune opération réseau (mises à jour de l’état local uniquement).
Note de sécurité : Le package créé par la fonction NetCreateProvisioningPackage contient des données très sensibles. Il doit être traité de manière aussi sécurisée qu’un mot de passe en texte clair. Le package contient le mot de passe du compte d’ordinateur et d’autres informations sur le domaine, notamment le nom de domaine, le nom d’un contrôleur de domaine et l’ID de sécurité (SID) du domaine. Si le package est transporté physiquement ou sur le réseau, il faut veiller à le transporter en toute sécurité. La conception ne prévoit aucune disposition pour la sécurisation de ces données. Ce problème existe aujourd’hui avec les fichiers de réponses d’installation sans assistance qui peuvent contenir un certain nombre de secrets, y compris les mots de passe utilisateur du domaine. L’appelant doit sécuriser le package. Les solutions à ce problème sont variées. Par exemple, une clé pré-échangée peut être utilisée pour chiffrer une session entre le consommateur et l’entité d’approvisionnement, ce qui permet un transfert sécurisé du package.
Le package retourné dans le paramètre pPackageBinData par la fonction NetCreateProvisioningPackage est versionné pour permettre des scénarios d’interopérabilité et de facilité de service entre différentes versions de Windows (par exemple, la jonction d’un client, l’approvisionnement d’une machine et l’utilisation d’un contrôleur de domaine). Actuellement, le scénario de jointure hors connexion ne limite pas la durée de vie du package retourné par la fonction NetCreateProvisioningPackage .
Toutes les phases du processus d’approvisionnement s’ajoutent à un fichier NetSetup.log sur l’ordinateur local. Le processus d’approvisionnement peut inclure jusqu’à trois ordinateurs différents : l’ordinateur où le package d’approvisionnement est créé, l’ordinateur qui demande l’installation du package et l’ordinateur sur lequel le package est installé. Les informations du fichier NetSetup.log seront stockées sur les trois ordinateurs en fonction de l’opération effectuée. L’examen du contenu de ces fichiers est le moyen le plus courant de résoudre les erreurs d’approvisionnement en ligne et hors connexion. Les opérations d’approvisionnement entreprises par les administrateurs sont enregistrées dans le fichier NetSetup.log dans %WINDIR%\Debug. Les opérations d’approvisionnement effectuées par des non-administrateurs sont enregistrées dans le fichier NetSetup.log dans le dossier %USERPROFILE%\Debug .
Spécifications
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | lmjoin.h (include Lm.h) |
Bibliothèque | Netapi32.lib |
DLL | Netapi32.dll |
Voir aussi
NetProvisionComputerAccount