> Tech > Utilisation des données SQL Server dans AD

Utilisation des données SQL Server dans AD

Tech - Par iTPro - Publié le 24 juin 2010
email

Après avoir contrôlé l'enregistrement de votre instance SQL Server et de la base de données Northwind dans Active Directory, examinons quelques techniques permettant de récupérer et de manipuler par programmation des données AD relatives à  SQL Server. Bien que vous puissiez utiliser exclusivement ADSI, j'ai constaté qu'il est plus naturel

de
combiner ADO et le dialecte SQL d’ADSI pour mes recherches.
Le code VBScript du listing 1 utilise le fournisseur
ADO pour Active Directory afin de récupérer les noms d’instance
enregistrés dans l’annuaire pour tous les ordinateurs
exécutant SQL Server.

Vous pouvez aussi interroger AD et récupérer une liste
de toutes les bases de données enregistrées en sélectionnant
l’attribut mS-SQL-Name, comme l’illustre le listing 2, de nouveau
à  l’aide du fournisseur ADO pour Active Directory. La
liste complète des attributs AD est disponible dans la documentation
MSDN (Microsoft Developer Network) du schéma
AD Windows 2000. Examinez en particulier les classes mSSQL-
SQLServer et mS-SQL-SQLDatabase.

L’utilisation du dialecte SQL ADSI pour interroger Active
Directory présente quelques limitations. Par exemple, vous
ne pouvez pas employer la syntaxe SELECT * et vous devez
spécifier les colonnes dans votre liste
SELECT. De même, vous ne pouvez
pas employer la syntaxe SQL ADSI
pour mettre à  jour l’annuaire, mais
faire appel à  ADSI pour cette opération.
Cette dernière restriction s’applique
également aux serveurs liés
ADSI. Pour plus d’informations, consultez
la documentation en ligne de
SQL Server (mise à  jour avec le SP3)
et, en particulier, la rubrique « OLE DB
Provider for Microsoft Directory
Services ». Enfin, du fait de la structure
hiérarchique d’Active Directory, il est
plus facile de recourir à  ADSI que
d’employer exclusivement le dialecte
SQL ADSI pour retourner des informations
sur les conteneurs parent.

Le code VBScript du listing 3 combine
ADO, le SQL ADSI et les fonctions
ADSI pour obtenir le nom du serveur
sur lequel réside la base de données.
Dans un premier temps, le code utilise
une requête SQL ADSI afin d’obtenir
l’information ADsPath pour le
conteneur mS-SQL-SQLDatabase
contenant la base de données Northwind.
Le code attribue ensuite ce chemin
à  ObjADSI. Il utilise ensuite la propriété
ADSI Parent pour obtenir le
conteneur parent MSSQLSERVER de
mS-SQL-SQLDatabase. Après avoir
obtenu l’information ADsPath pour
mS-SQL-SQLServer, le code se sert de
nouveau de la propriété ADSI Parent pour récupérer le nom du serveur ou
nom complet (CN), lequel est stocké en
tant qu’attribut .cn.

Téléchargez gratuitement cette ressource

Les 7 étapes d’un projet de dématérialisation RH

Les 7 étapes d’un projet de dématérialisation RH

Dans ce livre blanc, nous vous donnons les clés pour concevoir votre projet de dématérialisation RH. Vous découvrirez chacune des étapes qui vous permettront d’apporter de nouveaux services aux collaborateurs, de vous adapter aux nouvelles pratiques et de renforcer la marque employeur.

Tech - Par iTPro - Publié le 24 juin 2010