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