Vérifier simplement la version Lync Server appliquée au schéma Active Directory

Envoyer

La méthode pour identifier que votre schéma Active Directory a fait l'objet d'une mise à jour pour le support de Microsoft Lync Server (anciennement connu sous le nom de Office Communications Server ou encore Live Communications Server)  consiste à vérifier la présence de l'objet « ms-RTC-SIP-SchemaVersion »  au sein de la partition de schéma. Ensuite, il faudra récupérer la valeur de l'attribut « rangeUpper » pour identifier le numéro de version.

Pour cela, le plus simple est d'utiliser la commande suivante: dsquery * "cn=ms-RTC-SIP-SchemaVersion,cn=schema,cn=configuration,<DC=VOTRE-DOMAINE-RACINE> -attr rangeUpper"

 

Une fois la valeur de l'attribut « rangeUpper » récupérée, il suffit de la comparer avec le tableau suivant :

Schema

Version
Live Communications Server 2005 1006
Office Communications Server 2007 R1 1007
Office Communications Server 2007 R2 1008
Lync Server 2010 1100
Lync Server 2013 1150

 

Nous avons également développé le petit script PowerShell ci-dessous permettant de réaliser toutes les opérations de manière automatique.

 

# table de hachage contenant les versions du schéma Lync Server
$script:SchemaHashLync = @{
 1006="LCS 2005";
 1007="OCS 2007 R1";
 1008="OCS 2007 R2";
 1100="Lync Server 2010";
 1150="Lync Server 2013"
}

# Connection a la foret
$Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()

Write-Host "Version Lync Server appliquée au schéma AD: " -NoNewline

# Recupere l'objet "ms-RTC-SIP-SchemaVersion"
try
{
 $LyncVersion = "LDAP://CN=ms-RTC-SIP-SchemaVersion,"+$Forest.Schema.GetDirectoryEntry().distinguishedName
 
 # Recupere le numéro de version (attribut 'rangeUpper')
 if ( $script:SchemaHashLync.ContainsKey($(([ADSI] $LyncVersion).rangeUpper)) )
 {
 # Affiche le nom de la version associée au numéro de version
 Write-Host -ForegroundColor Green -Object $script:SchemaHashLync[$(([ADSI] $LyncVersion).rangeUpper)]
 }
 else
 {
 # Traitement spécifique si le numéro de version n'existe pas dans la table de hachage
 Write-Host -ForegroundColor Yellow "Inconnue"
 }
}
# Passe dans le catch si l'objet n'existe pas
catch
{
 Write-Host -ForegroundColor Red "introuvable"
}

Mise à jour le Mercredi, 09 Janvier 2013 08:51