Jump to content

Terminalserver VB Script für Office


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

Empfohlene Beiträge

Hallo Leut, hab folgendes Script um die Benutzerinformationen für Word auf dem Terminalserver 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.UserInitials = objUser.sAMAccountName

objWord.Quit

 

Nun wäre es cool, wenn es auch im Excel klappen würde:

 

Set objSysInfo = CreateObject("ADSystemInfo")

 

strUser = objSysInfo.UserName

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

 

Set objExcel = CreateObject("Excel.Application")

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

objExcel.Quit

 

Geht aber nicht, übrigens habe ich keine Ahnung von VB, ich kann mein Script für Excel ohne Fehler ausführen, dann steht da aber wo der Benutzername sein sollte die Angabe über die Firma! :)

 

Kann mir jemand helfen...

Link zu diesem Kommentar

Evtl. hilft dir dieses Script. Mußt Du evtl. noch an die richtige Office Version anpassen.

 

' W.Sonntag 08.07.2011
' 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 

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...