Lister les SPNs de votre domaine

Un nom principal de service (SPN) est un objet par lequel un client identifie de manière unique une instance d’un service.
Si vous installez plusieurs instances d’un service sur des ordinateurs à travers une forêt, chaque instance doit avoir son propre SPN.
Une instance de service donnée peut avoir plusieurs noms SPN, qui permette alors l’authentification pour les clients.

Un SPN comprend toujours le nom de l’ordinateur hôte sur lequel l’instance de service est initiée, donc une instance de service peut enregistrer un SPN pour chaque nom ou pseudonyme de son hôte.

Les SPN se presentent sous la forme

<service class>/<host>:<port>/<service name>

Exemple pour un DC

DC001  DNS/DC001.Domain.lan
DC001  HOST/DC001/DOMAIN
DC001  HOST/DC001.Domain.lan/DOMAIN
DC001  exchangeAB/DC001
DC001  exchangeAB/DC001.Domain.lan
DC001  HOST/DC001.Domain.lan/Domain.lan
DC001  GC/DC001.Domain.lan/Domain.lan
DC001  ldap/DC001/DOMAIN
DC001  ldap/7fe131df-ca50-4b8a-95b9-8f5ff16e0bc1._msdcs.Domain..
DC001  ldap/DC001.Domain.lan/DOMAIN
DC001  ldap/DC001
DC001  ldap/DC001.Domain.lan
DC001  ldap/DC001.Domain.lan/ForestDnsZones.Domain.la
DC001  ldap/DC001.Domain.lan/DomainDnsZones.Domain.la
DC001  ldap/DC001.Domain.lan/Domain.lan
DC001  TERMSRV/DC001.Domain.lan
DC001  TERMSRV/DC001
DC001  Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/DC001.domai..
DC001  NtFrs-88f5d2bd-b646-11d2-a6d3-00c04fc9b232/DC001.dom..
DC001  E3514235-4B06-11D1-AB04-00C04FC2DCD2/7fe131df-ca50-4b8a-..
DC001  RestrictedKrbHost/DC001
DC001  HOST/DC001

Avant que le service d’authentification Kerberos puisse utiliser un SPN pour authentifier un service, les SPN doivent être inscrits sur l’objet compte pour se connecter.

Un SPN donné peut être enregistré sur un seul compte.
L’installateur compose alors le SPN et les écrit comme une propriété de l’objet de compte dans “Active Directory Domain Services” (ADDS).
S’il y a un changement instance de service ou nom d’ordinateur, les SPN doivent être ré-enregistrés sur le nouveau compte.

Il est donc important de lister et vérifier les objets SPN du domaine afin de valider le bon fonctionnement du service .

Pour lister les SPN , vous pouvez utiliser soit le snapin Quest ActiveRoles ADManagement ou utiliser le module Windows 2008 activedirectory.

Via le Snapin  Quest ActiveRoles ADManagement

Add-PSSnapin  Quest.ActiveRoles.ADManagement
$obj = Get-QADObject * -ldapFilter “(servicePrincipalName=*)” -IncludedProperties servicePrincipalName -sizeLimit 0 | select name,servicePrincipalName
$spnEntries=@()
 $obj | Foreach {
 
 $Servername = $_.name
 $_.serviceprincipalname | Foreach {
 $serverSPN=”” | select Name, ServicePrincipalName
 $serverSPN.name = $Servername
 $serverSPN.serviceprincipalname =$_
 $spnEntries+=$serverSPN
 }
 }
$spnEntries

Via le module Active directory

Import-Module activedirectory
$obj =Get-ADObject -LDAPFilter “(servicePrincipalName=*)” -Properties servicePrincipalName -ResultSetSize $null | select name, servicePrincipalName

$spnEntries=@()
 $obj | Foreach {
 
 $Servername = $_.name
 $_.serviceprincipalname | foreach {
 $serverSPN=”” | select Name, ServicePrincipalName
 $serverSPN.name = $Servername
 $serverSPN.serviceprincipalname =$_
 $spnEntries+=$serverSPN
 }
}
$spnEntries

Leave a Reply

Your email address will not be published. Required fields are marked *