manderion
Goto Top

Word Benutzerinformationen mit dem Logon Script einfügen

Hallo Miteinander

Ich würde gerne die Word Benutzerinformationen mit Hilfe des Logon Script's eintragen. Die Quelle für die Informationen (Name, Vorname, Benutzername/Initialen) müsste natürlich das Active Directory sein.


Nach langer suche bin ich bei Microsoft auf eine Anleitung gestossen, die vielleicht die Lösung zum Problem ist.
Hier der Link zur Website: http://www.microsoft.com/technet/scriptcenter/resources/qanda/jul05/hey ...

Laut der Website, scheint es mit folgendem Script möglich zu sein, die Informationen aus dem AD auszulesen, und in den Benutzerinformationen im Word einzufügen:

Set objSysInfo = CreateObject("ADSystemInfo")

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

Set objWord = CreateObject("Word.Application")
objWord.UserName = objUser.givenName & " " & objUser.SN
objWord.UserInitials = Left(objUser.givenName, 1) & Left(objUser.SN, 1)
objWord.Quit


Das Problem ist, ich habe keine Ahung wie ich diese Script in das bestehende Logon Script einbinde. Ich erhalte immer Fehlermeldungen von wegen unbekanter Befehl..

Kann mir jemand von Euch behilflich sein, um das zu realisieren ?

Danke im Vorraus

Lukas

Content-ID: 61291

Url: https://administrator.de/contentid/61291

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

bastla
bastla 13.06.2007 um 18:09:47 Uhr
Goto Top
Hallo manderion und willkommen im Forum!

Versuch es mit
cscript //nologo \\server\share\WordInfo.vbs
Den Speicherort musst Du natürlich an Deine Gegebenheiten anpassen.

Grüße
bastla

P.S.: Den Bereich "Programmiersprachen" für Deinen Beitrag hast Du klug gewählt - so kann man nicht einmal anhand dessen herausfinden, in welcher Sprache Dein Logon Script verfasst ist ... face-wink
manderion
manderion 13.06.2007 um 19:49:51 Uhr
Goto Top
Hallo bastla

Danke für deine Antwort, werde dies morgen gleich testen.

PS: Das war ich doch gar nicht, habe es unter Win2003Srv. abgelegt, da ich mir mit der Programmiersprache nicht so sicher war, aber mit deiner Antwort hat sich dies nun auch geklärt face-wink
manderion
manderion 14.06.2007 um 09:28:06 Uhr
Goto Top
Hallo

Also der erste Teil mit dem Vornamen und Nachnamen, ist schon mal perfekt und funktioniert auch super!
Was ich jetzt eigentlich noch bräuchte, ist die UserInitials (Im Word) mit dem Benutzernamen (Windows-Konto) zu füllen, und nicht wie im Script mit dem ersten Buchstaben aus dem Vornamen und Nachnamen.

Kann mir hier jemand Hilfe leisten wie sich dies machen liese ?

Danke & Gruss

Manderion
Biber
Biber 14.06.2007 um 10:49:36 Uhr
Goto Top
Moin Manderion,

wenn Du Deinen jetzigen Code posten würdest, dann wäre es etwas einfacher zu antworten
"...in Zeile 12 solltest Du ändern...".

Grüße
Biber
manderion
manderion 14.06.2007 um 11:18:21 Uhr
Goto Top
Klar, hier ist er:
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

Da ich mich mit der Programmierung gar nicht auskenne. Weiss ich nicht wie ich festlegen kann, dass im Word unter Initialien als Wert den Benutzernamen aus dem Active Directory / oder dem angemeldeten Benutzer eingetragen werden kann.

mit
 objWord.UserInitials = objUser.Username
geht's z.B. eben nicht. Ich gehe mal davon aus, das der Benutzername anderst aus dem AD ausgelesen werden muss also Name, Vorname?

Gruss Manderion
bastla
bastla 14.06.2007 um 12:25:55 Uhr
Goto Top
Hallo Manderion!

Etwa so:
Set objSysInfo = CreateObject("ADSystemInfo")  

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

Set objWord = CreateObject("Word.Application")  
objWord.UserName = objUser.givenName & " " & objUser.SN  
objWord.UserInitials = objUser.sAMAccountName
objWord.Quit

Alternative "angemeldeter Benutzer":
Set WshNetwork = WScript.CreateObject("WScript.Network")  
objWord.UserInitials = WshNetwork.UserName

Grüße
bastla
manderion
manderion 14.06.2007 um 16:58:26 Uhr
Goto Top
Super, vielen Dank für Deine Hilfe!

Das fertige Script sieht nun so aus:

Set objSysInfo = CreateObject("ADSystemInfo")  

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

Set objWord = CreateObject("Word.Application")  
objWord.UserName = objUser.givenName & " " & objUser.SN  
objWord.UserInitials = objUser.sAMAccountName
objWord.UserAddress = objUser.Company & Chr(13) & _ 
objUser.streetAddress & Chr(13) & _ 
objUser.postalCode & " " & objUser.l & Chr(13) & _  
objUser.co

objWord.Quit

Das Resultat in den Benutzer Inforamtionen unter Word:

Name: Vorname Name
Initialen: Windows-Benutzername
Adresse:
Firmennamen
Strasse
PLZ Ort
Land


Gruss Manderion
Biber
Biber 14.06.2007 um 17:32:49 Uhr
Goto Top
Danke, mandarion,

für Deine wirklich vorbildliche Rückmeldung!

Ich habe den Beitrag auf gelöst gesetzt.

Schönen Abend
Biber

[Edit 16.7.2007]

Anmerkung:
Die vorletzte Zeile ("objUser.co") sollte wahrscheinlich ein "objUser.Company = objuser.Company" werden.

Ich frag nochmal bei Manderion per PN nach.
[/Edit]
manderion
manderion 17.07.2007 um 23:11:17 Uhr
Goto Top
Hallo zusammen

Nein, zu letzt in der Anschrift steht doch das Land.
"objUser.co" steht für Country und gibt das Land z.B. Switzerland oder Germany als Wert zurück.
Du kannst soweit ich das eben getestet habe auch "objUser.Co" schreiben falls Gross-/Klein -Schreibung eine Rolle spielt.

Wobei es "objUser.Country" meines wissen nicht gibt, ich bekommen auf jedenfalls eine Fehlermeldung wenn ich es ausschreibe.

Alles Klar ?

Gruss Manderion
Biber
Biber 17.07.2007 um 23:49:00 Uhr
Goto Top
Danke, manderion,

jetzt hab ich es verstanden.
Ich hatte überlesen, dass dieses "objUser.co" ja auch noch zur darüber stehenden Code-Zeile gehört.

Vielen Dank für die schnelle Antwort... manchmal muss man/frau auch bei mir ganz geduldig und langsam etwas erklären..

> Alles Klar ?
Alles klar. Und ich mach den Beitrag wieder dicht.

Grüße
Biber