superreal
Goto Top

Abgleich von Domänen-Anmeldename und Office User

Hallo,

Ich bin auf der Suche nach einer Möglichkeit mit hilfe einer Batch-Datei oder sonstigem einen Abgleich des Windows Anmeldename und des Office 2003 Benutzername zu ermöglichen. Also das immer die Anmelde Namen und Office Benutzername übereinstimmen, egal wer sich an dem Rechner anmeldet. Der Rechner befindet sich in einem Domänen Netzwerk

Nochmal näher erklärt.

Benutzer: Müller meldet sich an dem Rechner an -> Office Benutzername lautet dann Müller

Benutzer: Maier meldet sich zu einem späteren Zeitpunkt wieder an diesem Rechner an -> Office Benutzername wird automatisch in Maier geendert

Benutzer: Müller meldet sich wieder an dem Rechner an -> Office Benutzername lautet dann auch wieder Müller

Vielleicht hat einer einen Vorschalg für mich.

Danke

Content-Key: 14350

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: gemini
gemini 12.08.2005 um 11:29:39 Uhr
Goto Top
Imho ist es doch so, dass beim ersten Aufruf einer Office-Anwendung durch jeden User der Intall-Dialog erscheint und das jeweilige Office-Userprofil generiert.
In der Folge werden auch die Daten des Users abgefragt.

Das mit einem Script im Vorfeld zu machen erscheint mir schwierig, da zu diesem Zeitpunkt der User für Office noch gar nicht existiert.
Zudem sollte jeder User in der Lage sein, seinen Namen und seine Initialen etc. einmalig zu bestätigen.
Mitglied: SuperReal
SuperReal 12.08.2005 um 12:24:11 Uhr
Goto Top
@gemini

das Problem liegt darin, dass das Office schon speziell konfiguriert ist und die normal.dot in dem Default User gespeichert ist.
Also exestiert auch schon ein Officeuser

Wenn ich einen PC in unserer Firma ausliefere, dann ändere ich immer per Hand den Officeuser. Nur wenn sich dann jemand anderer anmeldet bekomm ich da ja net mit bzw ist es zu viel Aufand es immer und immer wieder zu ändern.
Mitglied: superboh
superboh 12.08.2005 um 16:54:46 Uhr
Goto Top
Hallo,

mir ist nicht ganz klar was Du meinst. Bei Office gibt es zwei Dinge:

- Einmal die Anzeige auf wenn Office lizenziert ist. Das sollte eigentlich die Firma sein.

- Dann gibt es noch die Benutzerinformationen, also die Initialen und der Name der als Ersteller eines Dokuments mit gespeichert wird.

Diesen muss man zwar nur einem einstellen, da aber damit doch viele User scheinbar überfordert sind, habe ich mir ein paar Zeilen ins Loginscript geschrieben. Das Loginscript ist in KiXtart, wenn es Dir was hilft, poste ich es gerne.
Mitglied: ederw
ederw 25.03.2006 um 17:36:38 Uhr
Goto Top
Hallo,

wir haben das selbe Problem mit der Ersterfassung des Namens. Die Benutzer sind halt gewohnt wenn sie auf Word drücken, dass dann ein weißes Blatt kommt und nicht irgendeine Frage. Zumal der eine mal den Vornamen vorne schreibt, und der andere den Nachnamen - das sollte schon einheitlich sein.

Mich würde das Skript sehr interessieren.
Mitglied: martmaster
martmaster 31.03.2006 um 09:44:58 Uhr
Goto Top
Hallo,

ich habe hier ein ähnliches Problem. Vorwiegend beschäftigt mich jedoch dabei der Zugriff auf Dateien im Netzwerk. Ein User erhält eine Meldung wenn eine Datei bereits durch einen anderen User geöffnet wurde. Dabei wird nicht immer der Benutzername des Users angezeigt, sondern oftmals der zuerst erstellte lokale User-Account auf dem Client. Selbst wenn ich diesen User entferne, wird er in den Benutzerkonten innerhalb der Office Lizenz-Infos angezeigt.
Bei einigen Accounts wird der entsprechende Benutzername angezeigt. Läuft dann also ohne irgendwelche Eingriffe an jedem Client. Ich weiß nicht wo die Ursache liegt. Es handelt sich um eine Samba-Domäne mit WinXP Pro Clients.
Ich hoffe, dass es eine Möglichkeit gibt, da an den Profilen etwas zu ändern, ansonsten wäre ich an dem o.g. Script auch interessiert.

Danke

Gruß
Martin
Mitglied: superboh
superboh 31.03.2006 um 20:00:29 Uhr
Goto Top
Hallo,

hier das Schnippsel aus dem Login-Script (Kixtart):
<code class="code">$regkey="HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo" ;Pfad in dem die Werte stehen
$rc=ExistKey($regkey) If $rc<>0 $rc=AddKey($regkey) EndIf

Dim $office_username[Len(@FULLNAME)]
Dim $office_initialen[2]

For $i = 1 to Len (@FULLNAME)
$office_username[$i] = SubStr(@FULLNAME,$i,1)
$office_username[$i] = DecToHex(Asc($office_username[$i]))
Next

$reg_username=Join($office_username,"00")
$reg_username=SubStr($reg_username,3,80)+"000000" ;noch das Ende des Strings anhängen

$office_initialen=Split(@FULLNAME)
$office_initialen=DecToHex(Asc(Left($office_initialen,1)))+"00"+DecToHex(Asc(Left($office_initialen[1],1)))+"000000"

$rc=WriteValue($regkey,"UserName",$reg_username,"REG_BINARY") ; Werte in die Registry schreiben
$rc=WriteValue($regkey,"UserInitials",$office_initialen,"REG_BINARY")


In der 1. Zeile muss man evtl. noch die Office-Version im Registry-Pfad anpassen.

Gruß,
Thomas
Mitglied: Biber
Biber 01.04.2006 um 01:26:00 Uhr
Goto Top
@superboh

Tja, Thomas, so neugierig wie ich auf KiX bin, wollte ich mir Dein Skriptlet gleich mal durchnudeln lassen.. und bin natürlich sofort auf eine Mine gelaufen.
Weil mein @fullname nur aus einem Namen besteht -so wie es bei Madonna oder Anastasia auch ist.
Wenn er von denen die Initialen bilden soll, steigt er aus, weil UBound($office_initialen) halt 0 ist und im Source das Array-Element 1 angesprochen wird.

Ich habe es jetzt so angepasst, dass auch "Anastasia" oder "Biber" keine Abstürze verursachen und dass die Initialen von "John F. Kennedy" in Zukunft "JFK" sind und nicht "JF". (Ja, ich weiß, dass der tot ist, war ja nur ein Beispiel.)
$regkey="HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo" ;Pfad in dem die Werte stehen  
$rc=ExistKey($regkey) If $rc<>0 $rc=AddKey($regkey) EndIf
; $Fullname =@FULLNAME ; so ist der Normalfall
$Fullname = "Anastasia" ; Nur zum Test mal einen @FULLNAME aus einem Wort  
;$Fullname = "Peter Pan" ; Nur zum Test mal einen @FULLNAME aus zwei Worten  
;$Fullname = "John Fitzgerald Kennedy" ; Nur zum Test mal einen @FULLNAME aus drei Worten  

Dim $office_username[Len($FULLNAME)]
Dim $office_initialen[2]

For $i = 1 to Len ($FULLNAME)
  $office_username[$i] = DecToHex(Asc(SubStr($FULLNAME,$i,1)))
Next

$reg_username=Join($office_username,"00")  
$reg_username=SubStr($reg_username,3,80)+"000000" ;noch das Ende des Strings anhängen  

$office_initialen=Split($FULLNAME)
$Reg_UserInitials=DecToHex(Asc(Left($office_initialen,1)))+"00"   

 IF UBound($office_initialen ) < 1 
    $Reg_UserInitials = $Reg_UserInitials + DecToHex(Asc( Substr($office_initialen,2,1) ))+"00"  
 Else
    For $i = 1 to UBound ($office_initialen)
     $Reg_UserInitials = $Reg_UserInitials + DecToHex(Asc(Left($office_initialen[$i],1))) +"00"  
    next 
 Endif   
 $Reg_UserInitials = $Reg_UserInitials + "0000"    
; #Uncomment 4 Debug# ? $Fullname +": -> UserInitials:" + $Reg_UserInitials       
$rc=WriteValue($regkey,"UserName",$reg_username,"REG_BINARY") ; Werte in die Registry schreiben  
$rc=WriteValue($regkey,"UserInitials",$Reg_UserInitials,"REG_BINARY")  
;In der 1. Zeile muss man evtl. noch die Office-Version im Registry-Pfad anpassen.

Grüße
Biber