mboost-dp1
VBS - Reset user pass
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Mojn i køkkenet.. Er ved at lave mig et lille admin tool til mit AD (bare for sjov :))..
Jeg skal nu have lavet en reset pass funktion, men den vil ikke rigtig som jeg vil :(
Indtil videre har jeg lavet dette:
Og jeg får fejl på denne linje:
Jeg har på fornemmelsen at jeg har indsat "& USERNAME &" forkert ^^ Det er lidt bøvlet når de fleste scripts/tutorials der ligger på nettet ikke bruger prompt boxe for username/password osv :/
Anyways, håber der er en der kan hjælpe :)
Jeg skal nu have lavet en reset pass funktion, men den vil ikke rigtig som jeg vil :(
Indtil videre har jeg lavet dette:
dim USERNAME
USERNAME = InputBox("Enter Username")
Set ObjUser = GetObject("LDAP://cn="& USERNAME &",ou=Users,dc=test,dc=dom")
objUser.GetInfo
objUser.SetPassword password
objUser.SetInfo
Og jeg får fejl på denne linje:
Set ObjUser = GetObject("LDAP://cn="& USERNAME &",ou=Users,dc=test,dc=dom")"There is no such object on the server" - og ja, brugeren eksisterer :D
Jeg har på fornemmelsen at jeg har indsat "& USERNAME &" forkert ^^ Det er lidt bøvlet når de fleste scripts/tutorials der ligger på nettet ikke bruger prompt boxe for username/password osv :/
Anyways, håber der er en der kan hjælpe :)
Det ser ud til den ikke oversætter USERNAME korrekt.
Prøv med følgende:
Set ObjUser = GetObject ("LDAP://CN='" & USERNAME & "',CN=Users,DC=test,DC=dom")
Hvis det ikke virker, så prøv denne:
Dim strServer
Dim USERNAME
USERNAME = InputBox("Enter Username")
strServer = USERNAME & ",ou=Users,dc=test,dc=dom"
GetObject("LDAP://" & strServer)
objUser.GetInfo
objUser.SetPassword password
objUser.SetInfo
Prøv med følgende:
Set ObjUser = GetObject ("LDAP://CN='" & USERNAME & "',CN=Users,DC=test,DC=dom")
Hvis det ikke virker, så prøv denne:
Dim strServer
Dim USERNAME
USERNAME = InputBox("Enter Username")
strServer = USERNAME & ",ou=Users,dc=test,dc=dom"
GetObject("LDAP://" & strServer)
objUser.GetInfo
objUser.SetPassword password
objUser.SetInfo
Eventuelt, erstat USERNAME med er korrekt username, for at se om det virker. Som thorjak siger, det kan være stien den er gal med.
#4
Ja, stien er korrekt. Den bliver brugt i andre scripts også.
#5
Din mulighed nummer 2 giver følgende fejl:
Line 7 Char 1 - An invalid dn syntax has been specified
Første mulighed giver samme fejl som jeg fik i #1
#6
Jeg prøvede at køre følgende:
Useren "testuser" eksisterer i den OU men jeg får samme fejl "There is no such object on the server"
Ja, stien er korrekt. Den bliver brugt i andre scripts også.
#5
Din mulighed nummer 2 giver følgende fejl:
Line 7 Char 1 - An invalid dn syntax has been specified
Første mulighed giver samme fejl som jeg fik i #1
#6
Jeg prøvede at køre følgende:
Set objUser = GetObject("LDAP://CN=testuser,OU=Users,dc=test,dc=dom")
Useren "testuser" eksisterer i den OU men jeg får samme fejl "There is no such object on the server"
Så er din sti ikke korrekt.
Tjek i AD og list træstrukturen, evt. link til et screenshot.
Ja der er en lille fejl i #2 løsning, det skal være:
GetObject("LDAP://CN=" & strServer)
Tjek i AD og list træstrukturen, evt. link til et screenshot.
Ja der er en lille fejl i #2 løsning, det skal være:
GetObject("LDAP://CN=" & strServer)
http://i37.tinypic.com/2z86xiv.jpg
Det er godt nok fra drifts miljøet, men det eneste der er forskelligt fra test er domænenavnet "test.dom" som er "bus.dom" i driften.
Har iøvrigt også testet det i drifts miljøet og der virker det heller ikke.
Det er godt nok fra drifts miljøet, men det eneste der er forskelligt fra test er domænenavnet "test.dom" som er "bus.dom" i driften.
Har iøvrigt også testet det i drifts miljøet og der virker det heller ikke.
ah, jeg tror jeg ved hvor fejlen er. Users ligger i roden ikke?
Det er ikke en OU men en CN.
Prøv denne her
Set objUser = GetObject("LDAP://CN=testuser,CN=Users,DC=test,
DC=dom")
Det er ikke en OU men en CN.
Prøv denne her
Set objUser = GetObject("LDAP://CN=testuser,CN=Users,DC=test,
DC=dom")
Tror jeg var lidt for hurtigt ude der...
Jeg havde selvfølgelig lige glemt at rette CN=testuser til at tage inputtet..
Når jeg kører med følgende:
Men kører jeg det med den her:
I den øverste der beder den også om at:
Dim objUser
Dim password
Dim WScript
er der, ellers kan den slet ikke køre scriptet :/
Jeg havde selvfølgelig lige glemt at rette CN=testuser til at tage inputtet..
Når jeg kører med følgende:
Dim USERNAMEFår jeg fejlen "There is no such object on the server"
Dim objUser
Dim password
Dim WScript
USERNAME = InputBox("Enter Username")
Set objUser = GetObject("LDAP://CN='" & USERNAME & "',CN=Users,DC=bus,DC=dom")
objUser.GetInfo()
objUser.SetPassword(password)
objUser.SetInfo()
WScript.Echo("Done!")
Men kører jeg det med den her:
Dim USERNAMESå kører den fint og afslutter med "Done!" beskeden..
Set objUser = GetObject("LDAP://CN=testuser,CN=Users,DC=bus,DC=dom")
objUser.GetInfo()
objUser.SetPassword(password)
objUser.SetInfo()
WScript.Echo("Done!")
I den øverste der beder den også om at:
Dim objUser
Dim password
Dim WScript
er der, ellers kan den slet ikke køre scriptet :/
Så skulle det problem være løst...
Istedet for:
Set objUser = GetObject("LDAP://CN='" & USERNAME & "',CN=Users,DC=bus,DC=dom")
Skal det være:
Set objUser = GetObject("LDAP://CN=" & USERNAME & ",CN=Users,DC=bus,DC=dom")
Altså uden ' rundt om " & USERNAME & " :)
Edit:
Baaah, når jeg indsætter koden i Visual Basic brokker den sig :(
Koden er:
Fejlene er:
-Error 1 Name 'password' is not declared. (denne linje: objUser.SetPassword(password))
-Error 2 Name 'WScript' is not declared. (denne linje: WScript.Echo("Done!"))
Det virker fint hvis man bare gemmer det som .vbs og kører det men i Visual Basic brokker den sig.. :/
Istedet for:
Set objUser = GetObject("LDAP://CN='" & USERNAME & "',CN=Users,DC=bus,DC=dom")
Skal det være:
Set objUser = GetObject("LDAP://CN=" & USERNAME & ",CN=Users,DC=bus,DC=dom")
Altså uden ' rundt om " & USERNAME & " :)
Edit:
Baaah, når jeg indsætter koden i Visual Basic brokker den sig :(
Koden er:
Dim USERNAME
Dim objUser
Dim password
USERNAME = InputBox("Enter Username")
objUser = GetObject("LDAP://CN=" & USERNAME & ",CN=Users,DC=test,DC=dom")
objUser.GetInfo()
objUser.SetPassword(password)
objUser.SetInfo()
WScript.Echo("Done!")
Fejlene er:
-Error 1 Name 'password' is not declared. (denne linje: objUser.SetPassword(password))
-Error 2 Name 'WScript' is not declared. (denne linje: WScript.Echo("Done!"))
Det virker fint hvis man bare gemmer det som .vbs og kører det men i Visual Basic brokker den sig.. :/
Error 1:
Prøv med denne: objUser.SetPassword(" & password & ")
Error 2:
Du kan svjv ikke bruge Wscript i Visual Basic.
Prøv evt. med:
Debug.Print Done
Eller
Msgbox("Done")
Prøv med denne: objUser.SetPassword(" & password & ")
Error 2:
Du kan svjv ikke bruge Wscript i Visual Basic.
Prøv evt. med:
Debug.Print Done
Eller
Msgbox("Done")
Du kan også komme i klemme med Dim.
Der er nogle gange en verden til forskel mellem VB og VBS,
jeg har dog desværre ikke nogen VB compiler installeret,
så jeg svarer efter hvad jeg sådan lige kan sjusse mig frem til :P
Mener man skal bruge Dim as, ie. Dim password as String
Der er nogle gange en verden til forskel mellem VB og VBS,
jeg har dog desværre ikke nogen VB compiler installeret,
så jeg svarer efter hvad jeg sådan lige kan sjusse mig frem til :P
Mener man skal bruge Dim as, ie. Dim password as String
Det vil jeg prøve :) Tak!Jimmi Larsen (15) skrev:Error 1:
Prøv med denne: objUser.SetPassword(" & password & ")
Error 2:
Du kan svjv ikke bruge Wscript i Visual Basic.
Prøv evt. med:
Debug.Print Done
Eller
Msgbox("Done")
Og det vil jeg også lige teste :) Takker igen ;)Jimmi Larsen (16) skrev:Du kan også komme i klemme med Dim.
Der er nogle gange en verden til forskel mellem VB og VBS,
jeg har dog desværre ikke nogen VB compiler installeret,
så jeg svarer efter hvad jeg sådan lige kan sjusse mig frem til :P
Mener man skal bruge Dim as, ie. Dim password as String
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.