Compartilhar via


Função DsServerRegisterSpnA (ntdsapi.h)

A função DsServerRegisterSpn compõe dois SPNs para um serviço baseado em host. Os nomes são baseados nos nomes DNS e NetBIOS do computador local. A função modifica o atributo servicePrincipalName de uma conta especificada ou da conta associada ao thread de chamada. A função registra ou cancela o registro dos SPNs.

Um serviço baseado em host é uma instância de serviço que fornece serviços identificados com seu computador host, como diferenciados de um serviço replicável em que os clientes não têm preferência em qual computador host uma instância de serviço é executada.

Sintaxe

NTDSAPI DWORD DsServerRegisterSpnA(
  [in]           DS_SPN_WRITE_OP Operation,
  [in]           LPCSTR          ServiceClass,
  [in, optional] LPCSTR          UserObjectDN
);

Parâmetros

[in] Operation

Especifica qual operação DsServerRegisterSpn deve ser executada. Esse parâmetro pode ter um dos valores a seguir.

DS_SPN_ADD_SPN_OP

Adiciona os SPNs à conta de usuário ou computador.

DS_SPN_DELETE_SPN_OP

Exclui os SPNs especificados da conta.

DS_SPN_REPLACE_SPN_OP

Remove todos os SPNs registrados atualmente na conta de usuário ou computador e os substitui pelos novos SPNs.

[in] ServiceClass

Ponteiro para uma cadeia de caracteres terminada em nulo constante especificando a classe do serviço. Esse parâmetro pode ser qualquer cadeia de caracteres exclusiva para esse serviço; O nome do protocolo (por exemplo, ldap) ou a forma de cadeia de caracteres de um GUID funcionarão.

[in, optional] UserObjectDN

Ponteiro para uma cadeia de caracteres terminada em nulo constante especificando o nome diferenciado de um objeto de conta de usuário ou computador para o qual gravar os SPNs. Se esse parâmetro for NULL, DsServerRegisterSpn grava no objeto de conta do usuário primário ou representado associado ao thread de chamada. Se o thread estiver em execução no contexto de segurança da conta LocalSystem, a função gravará no objeto de conta do computador local.

Valor de retorno

Se a função registrar com êxito um ou mais SPNs, ela retornará ERROR_SUCCESS. A modificação é executada permissivamente, de modo que adicionar um valor que já existe não retorna um erro.

Observações

Os dois SPNs compostos pela função DsServerRegisterSpn têm o seguinte formato:

<ServiceClass>/<host>

Em um SPN, o computador host é o nome DNS totalmente qualificado do computador local. No outro SPN, o componente host é o nome NetBIOS do computador local.

Na maioria dos casos, o chamador DsServerRegisterSpn deve ter privilégios de administrador de domínio para modificar com êxito o atributo servicePrincipalName de um objeto de conta. A exceção a essa regra é se o thread de chamada estiver em execução na conta LocalSystem, DsServerRegisterSpn for permitido se o parâmetro UserObjectDN for NULL ou especificar o nome diferenciado da conta de computador local.

Nota

O cabeçalho ntdsapi.h define DsServerRegisterSpn como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
servidor com suporte mínimo Windows Server 2008
da Plataforma de Destino Windows
cabeçalho ntdsapi.h
biblioteca Ntdsapi.lib
de DLL Ntdsapi.dll

Consulte também

Funções de gerenciamento de replicação e controlador de domínio

DsGetSpn

DsWriteAccountSpn