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

Geschrieben

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

Geschrieben

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 

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...