MANUSCRIT :
'**************************************************************************************
'A créé : 04/08/2002
'Auteur : Yi Helen Wang
'But : Recherche des utilisateurs par un annuaire actif (AD) de
' Windows 2000 à assurer contre la reproduction quand
' un nouvel utilisateur est ajouté dans l'ANNONCE
'Mots-clés : L'AGITATION et les ADSI 2.5 ou se lèvent
'A passé en revue : 05/13/2002
'Commentaire : Vous devez assigner une permission d'obtenir l'annuaire actif
la ' information. Ce programme est lancé localement ou à distance
'***************************************************************************************
sur le résumé d'erreur après
faible oContainer, searchpath
faible oRoot
faible oConnect, oCommand, rs
faible strConnect, strDomainCtrl, strOU
faible cntuser, newuser, strCN, strSearchUser
newuser = faux
cntuser = 0
'pour obtenir le namespace de LDAP
placer l'oRoot = le GetObject (« LDAP : //RootDSE ")
appel ShowError (« issues de permission ! ")
strDomainCtrl = oRoot.Get (« defaultNamingContext »)
strOU = InputBox (« svp entrée un nom d'unité d'organisation à rechercher : », « recherchant », « légal »)
si Len (équilibre (strOU)) = 0 puis
msgbox « qu'aucune information n'a saisi ! »
autrement
strConnect = « LDAP : //OU= » et strOU et », « et strDomainCtrl
placer l'oContainer = le GetObject (le strConnect)
appeler ShowError (« OUNameNotExist »)
searchpath = oContainer.ADsPath
strSearchUser = InputBox (« l'entrée l'utilisateur a recherché l'initiale svp : », « recherche », « sls »)
si Len (équilibre (strSearchUser))=0 alors
msgbox « qu'aucune information n'a saisi ! »
autrement
'Using l'AGITATION pour questionner l'annuaire actif pour un utilisateur de particule
placer l'oConnect = le CreateObject (« ADODB.Connection »)
placer l'oCommand = le CreateObject (« ADODB.Command »)
appeler ShowError (« ADOProblems »)
'ouvrant le raccordement
oConnect.Provider = « ADsDSOObject »
oConnect.Open « fournisseur actif d'annuaire »
appel ShowError (« ADOProvider »)
'créant un objet de commande pour ce raccordement
Placer oCommand.ActiveConnection = oConnect
strCN = strSearchUser
FAIRE TANDIS QUE newuser <> vrai
oCommand.CommandText = « samAccountName CHOISI DE « » et searchpath et « » OÙ objectClass='user ET samAccountName = « « et strSearchUser et » » «
'créant un recordset basé sur la commande d'AGITATION
placer les rs = l'oCommand.Execute
La 'navigation enregistrent l'ensemble
si rs.EOF et rs.BOF alors
msgbox « nouvel utilisateur »
le newuser = rectifient
autrement
cntuser = cntuser + 1
'retitrer et vérifier encore jusqu'à aucune duplication
le strSearchUser = est parti (strCN, 1) et droit (strCN, 1) et cntuser
le msgbox « retitrent la NC comme » et le strSearchUser
placer les rs = rien
finir si
BOUCLE
finir si
finir si
substrater ShowError (le strErr)
si errent <> 0 alors
si errent = 432 ou err=70 alors
wscript.echo « permission publie pour lancer le programme »
wscript.quit
autrement
choisir le strErr de cas
enfermer « OUNameNotExist »
wscript.echo « nom d'OU n'est pas correct ou ne pas exister ! »
wscript.quit
cas « ADOProblems »
wscript.echo « problèmes d'AGITATION ! »
wscript.quit
cas « ADOProvider »
wscript.echo « problèmes de fournisseur d'AGITATION ! »
wscript.quit
extrémité choisie
finir si
finir si
finir le sous-marin
|