Condividi tramite


Funzione DsServerRegisterSpnA (ntdsapi.h)

La funzione DsServerRegisterSpn compone due nomi SPN per un servizio basato su host. I nomi sono basati sui nomi DNS e NetBIOS del computer locale. La funzione modifica l'attributo servicePrincipalName di un account specificato o dell'account associato al thread chiamante. La funzione registra o annulla la registrazione dei nomi SPN.

Un servizio basato su host è un'istanza del servizio che fornisce servizi identificati con il computer host, come distinto da un servizio replicabile in cui i client non hanno alcuna preferenza in cui il computer host su cui viene eseguita un'istanza del servizio.

Sintassi

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

Parametri

[in] Operation

Specifica l'operazione che deve essere eseguita da DsServerRegisterSpn . Questo parametro può avere uno dei valori seguenti.

DS_SPN_ADD_SPN_OP

Aggiunge gli SPN all'account utente o computer.

DS_SPN_DELETE_SPN_OP

Elimina i nomi SPN specificati dall'account.

DS_SPN_REPLACE_SPN_OP

Rimuove tutti i nomi SPN attualmente registrati nell'account utente o computer e li sostituisce con i nuovi NOMI SPN.

[in] ServiceClass

Puntatore a una stringa costante con terminazione Null che specifica la classe del servizio. Questo parametro può essere una stringa univoca per tale servizio; il nome del protocollo (ad esempio ldap) o il formato stringa di un GUID funzionerà.

[in, optional] UserObjectDN

Puntatore a una stringa costante con terminazione Null che specifica il nome distinto di un oggetto account utente o computer in cui scrivere i nomi SPN. Se questo parametro è NULL, DsServerRegisterSpn scrive nell'oggetto account dell'utente primario o rappresentato associato al thread chiamante. Se il thread è in esecuzione nel contesto di sicurezza dell'account LocalSystem, la funzione scrive nell'oggetto account del computer locale.

Valore restituito

Se la funzione registra correttamente uno o più NOMI SPN, restituisce ERROR_SUCCESS. La modifica viene eseguita in modo permissivo, in modo che l'aggiunta di un valore già esistente non restituisca un errore.

Commenti

I due NOMI SPN composti dalla funzione DsServerRegisterSpn hanno il formato seguente:

<ServiceClass>/<host>

In un nome SPN, il computer host è il nome DNS completo del computer locale. Nell'altro nome SPN, il componente host è il nome NetBIOS del computer locale.

Nella maggior parte dei casi, il chiamante DsServerRegisterSpn deve disporre dei privilegi di amministratore di dominio per modificare correttamente l'attributo servicePrincipalName di un oggetto account. L'eccezione a questa regola è se il thread chiamante è in esecuzione nell'account LocalSystem, DsServerRegisterSpn è consentito se il parametro UserObjectDN è NULL o specifica il nome distinto dell'account del computer locale.

Nota

L'intestazione ntdsapi.h definisce DsServerRegisterSpn come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione ntdsapi.h
Libreria Ntdsapi.lib
DLL Ntdsapi.dll

Vedi anche

Funzioni di gestione del controller di dominio e della replica

DsGetSpn

DsWriteAccountSpn