Função NetRequestProvisioningPackageInstall (lmjoin.h)
A função NetRequestProvisioningPackageInstall é executada localmente em um computador para modificar uma imagem do sistema operacional Windows montada em um volume. O registro é carregado da imagem e os dados do pacote de provisionamento são gravados onde podem ser recuperados durante a fase de conclusão de uma operação de junção de domínio offline.
Sintaxe
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
Um ponteiro para um buffer necessário para inicializar o registro de uma imagem do sistema operacional Windows para processar a alteração final do estado local durante a fase de conclusão da operação de ingresso no domínio offline.
O blob binário opaco de metadados serializados passados no parâmetro pPackageBinData é retornado pela função NetCreateProvisioningPackage .
[in] dwPackageBinDataSize
O tamanho, em bytes, do buffer apontado pelo parâmetro pPackageBinData .
Esse parâmetro não deve ser NULL.
[in] dwProvisionOptions
Um conjunto de sinalizadores de bits que definem opções para essa função. Esse parâmetro usa um ou mais dos seguintes valores definidos no arquivo de cabeçalho Lmjoin.h .
[in] lpWindowsPath
Um ponteiro para uma cadeia de caracteres terminada em NULL que especifica o caminho para uma imagem do sistema operacional Windows sob a qual os hives do Registro estão localizados. Essa imagem deve estar offline e não ser inicializada no momento, a menos que o parâmetro dwProvisionOptions contenha NETSETUP_PROVISION_ONLINE_CALLER, nesse caso, o diretório do sistema operacional em execução localmente é permitido.
Esse caminho pode ser um caminho UNC em um servidor remoto.
pvReserved
Reservado para uso futuro.
Valor retornado
Se a função for bem-sucedida, o valor retornado será NERR_Success.
Se a função falhar, o valor retornado poderá ser um dos seguintes códigos de erro de Gerenciamento de Rede.
Código de retorno | Descrição |
---|---|
|
As informações de conclusão de ingresso offline não foram encontradas. |
|
As informações de conclusão de ingresso offline foram incorretas. |
|
Não é possível criar informações de junção offline. Verifique se você tem acesso ao local do caminho especificado e permissões para modificar seu conteúdo. A execução como um administrador elevado pode ser necessária. |
|
As informações de ingresso no domínio que estão sendo salvas estavam incompletas ou incorretas. |
|
Operação de junção offline concluída com êxito, mas uma reinicialização é necessária. |
|
Não havia nenhuma operação de junção offline pendente. |
|
Não é possível definir um ou mais valores de computador ou nome de domínio solicitados no computador local. |
|
Não foi possível verificar o nome do host do computador atual em relação ao valor salvo nas informações de conclusão da junção. |
|
Não é possível carregar o hive do registro offline especificado. Verifique se você tem acesso ao local do caminho especificado e permissões para modificar seu conteúdo. A execução como um administrador elevado pode ser necessária. |
|
Os requisitos mínimos de segurança de sessão para essa operação não foram atendidos. |
|
Não há suporte para a versão do blob de provisionamento de conta de computador. |
Comentários
A função NetRequestProvisioningPackageInstall tem suporte no Windows 8 para operações de junção de domínio offline. Para o Windows 7, use NetRequestOfflineDomainJoin.
O cenário de junção de domínio offline usa duas funções:
- NetCreateProvisioningPackage é uma função de provisionamento que é chamada primeiro para executar as operações de rede necessárias para criar e configurar o objeto de computador no Active Directory. A saída do NetCreateProvisioningPackage é um pacote usado para a próxima etapa.
- NetRequestProvisioningPackageInstall, uma função de inicialização de imagem, é chamada para injetar a saída da função de provisionamento NetCreateProvisioningPackage em uma imagem do sistema operacional Windows para uso durante a instalação.
A função NetCreateProvisioningPackage criará ou reutilizará a conta do computador no domínio, coletará todos os metadados necessários e a retornará em um pacote. O pacote pode ser consumido pela operação de solicitação de junção de domínio offline que fornece toda a entrada necessária para concluir a junção de domínio durante a primeira inicialização sem nenhuma operação de rede (somente atualizações de estado local).
Observação de segurança: O pacote criado pela função NetCreateProvisioningPackage contém dados muito confidenciais. Ela deve ser tratada com segurança como uma senha de texto sem formatação. O pacote contém a senha da conta do computador e outras informações sobre o domínio, incluindo o nome de domínio, o nome de um controlador de domínio e a SID (ID de segurança) do domínio. Se o pacote estiver sendo transportado fisicamente ou pela rede, é necessário ter cuidado para transportá-lo com segurança. O design não faz nenhuma provisão para proteger esses dados. Esse problema existe hoje com arquivos de resposta de instalação autônoma que podem conter vários segredos, incluindo senhas de usuário de domínio. O chamador deve proteger o pacote. As soluções para esse problema são variadas. Por exemplo, uma chave pré-trocada pode ser usada para criptografar uma sessão entre o consumidor e a entidade de provisionamento, permitindo uma transferência segura do pacote.
O pacote retornado no parâmetro pPackageBinData pela função NetCreateProvisioningPackage é versão para permitir cenários de interoperabilidade e de serviço entre diferentes versões do Windows (como ingressar em um cliente, provisionar um computador e usar um controlador de domínio). O cenário de junção offline atualmente não limita o tempo de vida do pacote retornado pela função NetCreateProvisioningPackage .
Todas as fases do processo de provisionamento acrescentam a um arquivo NetSetup.log no computador local. O processo de provisionamento pode incluir até três computadores diferentes: o computador em que o pacote de provisionamento é criado, o computador que solicita a instalação do pacote e o computador em que o pacote está instalado. Haverá informações de arquivo NetSetup.log armazenadas nos três computadores de acordo com a operação executada. Examinar o conteúdo desses arquivos é o meio mais comum de solucionar problemas de erros de provisionamento online e offline. As operações de provisionamento realizadas pelos administradores são registradas no arquivo NetSetup.log no %WINDIR%\Debug. As operações de provisionamento executadas por não administradores são registradas no arquivo NetSetup.log na pasta %USERPROFILE%\Debug .
Requisitos
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | lmjoin.h (inclua Lm.h) |
Biblioteca | Netapi32.lib |
DLL | Netapi32.dll |
Confira também
NetProvisionComputerAccount