Share via


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 .

Valor Significado
NETSETUP_PROVISION_ONLINE_CALLER
0x40000000
Esse sinalizador será necessário se o parâmetro lpWindowsPath fizer referência ao diretório do sistema operacional Windows em execução no momento em vez de uma imagem do sistema operacional Windows offline montada em um volume acessível. Se esse sinalizador for especificado, a função NetRequestProvisioningPackageInstall deverá ser invocada por um membro do grupo administradores local.

[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
NERR_NoOfflineJoinInfo
As informações de conclusão de ingresso offline não foram encontradas.
NERR_BadOfflineJoinInfo
As informações de conclusão de ingresso offline foram incorretas.
NERR_CantCreateJoinInfo
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.
NERR_BadDomainJoinInfo
As informações de ingresso no domínio que estão sendo salvas estavam incompletas ou incorretas.
NERR_JoinPerformedMustRestart
Operação de junção offline concluída com êxito, mas uma reinicialização é necessária.
NERR_NoJoinPending
Não havia nenhuma operação de junção offline pendente.
NERR_ValuesNotSet
Não é possível definir um ou mais valores de computador ou nome de domínio solicitados no computador local.
NERR_CantVerifyHostname
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.
NERR_CantLoadOfflineHive
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.
NERR_ConnectionInsecure
Os requisitos mínimos de segurança de sessão para essa operação não foram atendidos.
NERR_ProvisioningBlobUnsupported
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.
As alterações no código de inicialização do Windows detectarão esse estado salvo e afetarão a parte somente local do ingresso no domínio e instalarão quaisquer informações de certificado e política que possam estar presentes no pacote.

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

NETSETUP_PROVISIONING_PARAMS

NetCreateProvisioningPackage

NetJoinDomain

NetProvisionComputerAccount

NetRenameMachineInDomain

NetRequestOfflineDomainJoin

NetUnjoinDomain

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede