Fråga : VBS skrivar för att inte skapa användaren, om användaren är existerande i aktivarkiv

Hi behov för everyone.

I några hjälper here.

I för att ha gjort vbs att skriva, ska det skapar användaren i aktivarkiv, men problemet är, everytime mig kör detta skrivar, användarelösenordet får nollställt tillbaka till det gammala lösenordet, är där någon som kan hjälpa mig whit långt, så den ska inte happe???
" klar "

Svar : VBS skrivar för att inte skapa användaren, om användaren är existerande i aktivarkiv

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
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
Andra lösningar  
 
programming4us programming4us