Jump to content

LDAP Fehlermeldung bei VBS Script


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Leute

 

Folgendes VBS Script führe ich aus um bei allen Usern auf einem Terminalserver die Benutzerinformationen in Office zu setzen:

 

Set objSysInfo = CreateObject("ADSystemInfo")

 

strUser = objSysInfo.UserName

Set objUser = GetObject("LDAP://" & strUser)

 

Set objWord = CreateObject("Word.Application")

objWord.UserName = objUser.givenName & " " & objUser.SN

objWord.Quit

 

Nun ist es so, dass es genau bei einem User Probleme macht und nicht funktioniert, dann kommt nämlich beim ausführen folgende Fehlermeldung:

 

skript:

\\domäne\netlogon\wordscript.vbs

Zeile: 4

Zeichen: 1

Fehler: 0x80005000

Code: 80005000

Quelle: null

 

Hab bereits gegoogelt, werde aber nicht schlau aus den Resultaten... :(

 

Bin dankbar für jeden Tipp...!

Link zu diesem Kommentar

Moin,

 

wenn ich nicht ganz falsch liege, ist der Fehler 80005000 "An invalid ADSI pathname was passed". Vermutlich sind Sonderzeichen im Namen des Users, die dein Skript nicht maskiert.

 

Lass dir nach der Zeile "strUser = objSysInfo.UserName" mal den Inhalt von strUser ausgeben, das sollte dich auf die Spur bringen.

 

Gruß, Nils

Link zu diesem Kommentar

Da werf ich doch gleich mal das Script rein, das bei uns dafür im Einsatz ist:

 

' Teilweise von http://www.administrator.de/index.php?content=85204#414686 ausgeliehen.
' Dieses Script liest die Benutzervariable %USERNAME% aus und ermittelt den Vor- und Nachnamen des Benutzers aus dem AD.
' Der Vor- und Nachname wird dann an die Function change2unicode übergeben und später via REGEDIT /S
' in die Registry eingetragen. Damit ist sichergestellt, dass in Office 2003 immer der Vor- und Nachname
' des z.Zt. angemeldeten Netzwerkbenutzers eingetragen wird.

Option Explicit

Dim oDomain, oUser, cUser, fso, WshShell, WSHNetwork, WshSysEnv, TEMP, fi

Set fso = Wscript.CreateObject("scripting.FileSystemObject") 
Set WshShell = Wscript.CreateObject("Wscript.Shell") 
Set WSHNetwork = WScript.CreateObject("WScript.Network") 
Set WshSysEnv = WshShell.Environment("PROCESS") 

cUser = WshSysEnv("USERNAME")

' Binde an User-Objekt in Domain (über aktuellen Account)
oDomain = "//WSBZMDOM.LOCAL"
Set oUser = GetObject("WinNT:" & oDomain & "/" & cUser)
If IsNull(oUser.FullName) Then
  cUser = ""
else
  cUser = oUser.FullName
End if

'WScript.Echo cUser

TEMP = WshSysEnv("TEMP") 

'wscript.echo TEMP & "\OfficeUser.reg" 

Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true) 

fi.WriteLine ("Windows Registry Editor Version 5.00") 
fi.WriteLine ("") 
fi.WriteLine("[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\UserInfo]") 
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(cUser)) 
fi.close 
'wscript.quit 

WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP & "\OfficeUser.reg" & chr(34),,True 

WScript.Quit (0) 


function change2unicode(text) 

Dim i
Dim RegBinary

for i = 1 to len(text) 
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00," 
next 
change2unicode = RegBinary & "00,00" 
end function 

 

Gibt möglicherweise elegantere Lösung, für uns reicht das aber im Moment.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...