SKRIVA:
'**************************************************************************************,
'Skapade: 04/08/2002
'Författare: Yi Helen Wang
'Ämna: Sökande av användare till och med ett aktivarkiv (AD) av
' Windows 2000 som ska försäkras mot att duplicera när
' en ny användare tillfogas in i ANNONS
'Nyckelord: ADO och ADSI 2.5 eller up
'Granskade: 05/13/2002
'Kommentar: Du måste att tilldela en tillåtelse att få aktivarkivet
' information. Detta program körs lokalt eller avlägset
'***************************************************************************************,
på felmeritförteckning därefter
dunkel oContainer, searchpath
dunkel oRoot
dunkel oConnect, oCommand, rs
dunkel strConnect, strDomainCtrl, strOU
dunkel cntuser, newuser, strCN, strSearchUser
newuser = falskt
cntuser = 0
'att få LDAP-namespace
fastställd oRoot = GetObject (”LDAP: //RootDSE”)
appell ShowError (”tillåtelse utfärdar! ”)
strDomainCtrl = oRoot.Get (”defaultNamingContext”)
strOU = InputBox (”behaga tillträdeet en känd organisationsenhet för att söka: ” ”söka”, ”lagligt”)
om Len (klippning (strOU)) = 0 därefter
msgbox, ”som ingen information skrivade in!”,
annars
strConnect = ”LDAP: //OU=” & strOU &”, ”& strDomainCtrl
fastställd oContainer = GetObject (strConnect)
appell ShowError (”OUNameNotExist”)
searchpath = oContainer.ADsPath
strSearchUser = InputBox (”behaga tillträdeet användaren sökta initialt: ” ”sökande”, ”sls”)
om Len (klippning (strSearchUser))=0 därefter
msgbox, ”som ingen information skrivade in!”,
annars
'Using ADO som query aktivarkivet för en particuleanvändare
fastställd oConnect = CreateObject (”ADODB.Connection”)
fastställd oCommand = CreateObject (”ADODB.Command”)
appell ShowError (”ADOProblems”)
'öppna anslutningen
oConnect.Provider = ”ADsDSOObject”,
oConnect.Open ”aktivarkivfamiljeförsörjare”,
appell ShowError (”ADOProvider”)
'skapa en befalla anmärka för denna anslutning
Uppsättning oCommand.ActiveConnection = oConnect
strCN = strSearchUser
GÖR riktig STUND <> newuser
oCommand.CommandText = ”VALD samAccountName FRÅN ”” & searchpath & ”” VAR objectClass='user OCH samAccountName = ””& strSearchUser &”” ”,
'skapa en recordset som baseras på ADOEN, befalla
fastställda rs = oCommand.Execute
'Navigera den rekord- uppsättningen
om rs.EOF och rs.BOF därefter
msgbox ”ny användare”,
newuser = True
annars
cntuser = cntuser + 1
'byt namn på och kontrollera igen kassalådan ingen fördubbling
strSearchUser = lämnat (strCN, 1) & rätt (strCN, 1) & cntuser
msgbox ”byter namn på CN som” & strSearchUser
fastställda rs = ingenting
avsluta om
KRETSA
avsluta om
avsluta om
sub ShowError (strErr)
om fela <> 0 därefter
om fela = 432 eller err=70 därefter
wscript.echo ”tillåtelse utfärdar för att köra programet”,
wscript.quit
annars
välj fallstrErr
case ”OUNameNotExist”,
känd wscript.echo ”OU är inte korrekt eller att inte finnas!”,
wscript.quit
fall ”ADOProblems”,
wscript.echo ”ADOproblem!”,
wscript.quit
fall ”ADOProvider”,
wscript.echo ”ADOfamiljeförsörjareproblem!”,
wscript.quit
avsluta valt
avsluta om
avsluta om
avsluta suben
|