Avatar billede jss Nybegynder
19. april 2007 - 08:46 Der er 5 kommentarer og
2 løsninger

Script ved login fejler for enkelte brugere

Hej
Jeg trækker brugerinfo ud fra AD ved login via script (aktiveres af Group Policy), men for enkelte brugere fejler linjen "Set objuser = GetObject(qQuery)". De får fejl-meddelelsen (Windows Script Host): Fejl: 0x80005000, kode: 80005000, kilde: (null)
Scriptet virker ellers fint for ca. 90% af brugerne.

Hvad er det der er galt?


Sub GetAllUserInfo
Set objSysInfo = CreateObject("ADSystemInfo")
'objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & objSysInfo.Username
msgbox qQuery

Set objuser = GetObject(qQuery)
Avatar billede morten_leth Nybegynder
19. april 2007 - 20:57 #1
Nu skriver du jo ikke meget om dit setup...
http://support.microsoft.com/kb/324433

Så var der lige en anden gut der havde problemet...
http://gsexdev.blogspot.com/2006/04/removing-disabled-users-from.html

det som er at bemærke er det her...

LDAP://CN=1155/TC CR 1709 (10 x5504),OU=Conf. Rooms,OU=Resources,OU=Corporate Ma
naged,OU=Southeast Managed,OU=United States,DC=na,DC=mirant,DC=net
C:\temp\disabusersATLNADC03.vbs(59, 3) (null): 0x80005000

det var den account det ikke fungerede ved...


Thanks for posting that information i was able to reproduce the error your having with this. The problem is occuring because of the / character in the Common Name. In ADSI the / character is a special character (actually the only special character there is) which seperates different elements eg server name from DN. So what you need to do to fix the is escape the / with a \ eg \/. What I've done is update the download for this post with some code that does the escape if any / exist in the DN so hopefully this should fix the issue it seemed to work okay for me. The three lines i updated where

set objuser = getobject("LDAP://" & replace(rs1.fields("distinguishedName"),"/","\/"))

set objgroup = getobject("LDAP://" & replace(objChildRS.fields("USGRPDN"),"/","\/"))

Set objUser = getobject("LDAP://" & replace(objChildRS.fields("USDN"),"/","\/"))

Again thanks for the feedback hopefully this will help out other people that might have the same issue.

Roman i suspect you may be having the same issue so try to download the script again from the link in the post and give it another try. With the diag code basically where you needed to insert that diag code was to replace line 56 with those 3 lines of code.

If this still doesn't work you could try putting in a on error resume next at the top of the script and see what result you get.


Det var løsningen....

Nu ved jeg ikke om det heller ikke gælder for dit tilfælde...


Men nu har du da lidt at kigge på...
Avatar billede jss Nybegynder
19. april 2007 - 23:52 #2
Kort fortalt om setup: det er et script som sikrer en ensartet signatur i brugernes email. Den henter nogle oplysninger fra AD (navn, email, telefon, mobil, titel mm), overfører disse til nogle filer, som derefter opdaterer signaturfiler på brugerens PC. På den måde opdateres signaturen automatisk på baggrund af AD-info på alle alle brugeres PC (bortset fra at det så IKKE virker på alle brugeres PC ... og det er det tråden handler om).

Jeg har desuden tjekket lidt op på tingene i løbet af dagen og fundet nogle "sjove" ting.
Jeg sammenligner output fra linjen "msgbox qQuery" og har fundet en lille forskel mellem output fra en PC hvor scriptet virker og fra en PC hvor det IKKE virker. Prøver lige at beskrive

Virker:
LDAP://CN=navn1,OU=Aarhus,OU=Brugere,DC=firma,DC=dk

Virker ikke:
LDAP://CN=navn2\, Firmanavn A/S,OU=Aarhus,OU=Brugere,DC=firma,DC=dk

1. Forskel:
efter navn2 er der indsat et backslash + et komma samt firmanavnet. Backslash'et bruges som "escape character" ifht. komma, som er et special tegn i denne sammenhæng. Så det er som det skal være. Men hvorfor komma samt firmanavn overhovedet indsættes, det forstår jeg ikke!!!! Jeg tjekkede AD'en mellem de 2 brugere og fandt ingen forskelle i strukturen på First Name, Last Name og Display Name. Derimod er der en lille pudsighed et andet sted:

2. Forskel:
I AD'en (for den bruger der IKKE virker) er der en lille tekst-forskel i indhold af Display Name og så den tekst der står udfor ansigts-ikonet på General-fanen. Tilsyneladende er der på et tidspunkt blevet rettet lidt i brugerens efternavn (stavefejl, navneændring ...).

Denne forskel har jeg også observeret i AD hos et par af de andre brugere, hvor scriptet IKKE virker, men det kan desværre ikke generaliseres.

Kan det overhovdet have nogen betydning ??
Avatar billede morten_leth Nybegynder
20. april 2007 - 14:38 #3
Tjah alt kan jo have betydning, jeg tror jeg ville gøre det jeg i ad'et blåmarkere brugeren der er noget mystisk ved og klikker F2 og ændre bare en anelse og trykker enter, dette gør man får en lille boks op hvor det faktisk er relativt nemt lige at få et overblik over hvad der er skrevet ind i brugeren....

LDAP://CN=navn2\, Firmanavn A/S,OU=Aarhus,OU=Brugere,DC=firma,DC=dk

Dette her er jo faktisk nøjagtig hvad ham gutten i det nederste link jeg referer til løser....

Men umiddelbart må det jo have noget at gøre med den OU som brugeren ligger i.... firmanavn A/S må du jo have en OU der hedder... ????

Jeg tror jeg ville prøve at hente en LDAP browser så du kan browse rundt i AD'et vha. en LDAP browser, det er jo det der bliver brugt i dit script kunne jo være du så nogen mærkelige ting der...

og hvis du ikke lige kan finde nogen LDAP browsere (jeg kunne ikke lige finde nogen i hvert fald...)

Så kan du benytte LDP som er en del af support tools (mener jeg i hvert fald...)

http://technet2.microsoft.com/WindowsServer/en/library/22b81ce7-8ac2-490f-8e91-17ae6dc22c4a1033.mspx?mfr=true
Avatar billede jss Nybegynder
21. april 2007 - 08:01 #4
Ja, noget minder om, hvad ham gutten også fik løst.... Men det stadig ikke nok til at løse det, mit LDAP-opslag er stadig ikke korrekt for nogle brugere. Jeg prøver de forslag du kommer med og så håbe på det bedste :-)
Tak for hjælpen indtil nu
Avatar billede morten_leth Nybegynder
24. april 2007 - 22:27 #5
Nu ved jeg sgu ikke lige om det hjælper....
Jeg skal nok se hele scriptet hvis jeg skal se hvorvidt det hjælper men prøv lige at gør mig en tjeneste...

Sub GetAllUserInfo
Set objSysInfo = CreateObject("ADSystemInfo")
'objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & Replace(objSysInfo.Username, "/", "\/")
msgbox qQuery

Set objuser = GetObject(qQuery)


Om det hjælper det ved jeg ikke men det er jo egentlig ikke særlig svært at teste......

Jeg er lidt ved at løbe tør for idéer men prøv lige det... :D
Avatar billede jss Nybegynder
25. april 2007 - 08:41 #6
Hej Morten
Igår eftermiddags lykkedes det faktisk at løse problemet og det ser ud til at virke hos alle brugere nu....
Gik ind i AD og klikkede ind domænet, derefter "Brugere" og til slut OU'et. Herefter får man en liste over objekter i OU'et. Efter at have udvidet kolonnen "Name" så jeg kunne se hele navnet, viste det sig, at der ud for nogle enkelte objekter (medarbejdere) var tilføjet et komma plus firmanavn EFTER deres navn og det var her fejlen lå. Jeg markerede blot objekter, taster F2 for at omdøbe og slettede herefter komma og firmanavn og klikkede OK. Herefter virkede scriptet for de redigerede brugere. Underligt, men det virker.
Du skal selvfølgelig have del i point for din vedholdenhed, så læg endelig et svar :-)
Avatar billede morten_leth Nybegynder
26. april 2007 - 11:11 #7
Jamen det vil jeg da også godt, er da bare glad for at finde ud af hvad der var galt.. :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester