User Profile Management & %CurrentProfileDir%

thomas.besser
Beiträge: 314
Registriert: 09 Sep 2009, 09:40

User Profile Management & %CurrentProfileDir%

Beitragvon thomas.besser » 15 Mai 2012, 11:45

wir haben die Erweiterung "User Profile Management" erworben und im produktiven Einsatz.

Jetzt aber ein Problem, dass %CurrentProfileDir% falsch aufgelöst wird. Anstatt wie im winst-Handbuch unter 6.2.3 nach "C:\Dokumente und Einstellungen\<user>" wird die Konstante nach "C:\WINDOWS\system32\config\systemprofile" aufgelöst.

Sollte laut diesem Posting von Hr. Oertl https://forum.opsi.org/viewtopic.php?f=7&t=3406&p=16299&hilit=CurrentProfileDir#p16306 aber bei aktivem "User Profile Management" anders sein.

opsi-winst (4.11.2.5-1), opsi-client-agent (4.0.1-26) haben die erforderlichen Mindestversionen. Ansonsten funktioniert die Erweiterung auch wie gewünscht. Z.B. wird %CurrentAppdataDir% richtig nach "C:\Dokumente und Einstellungen\testdek\Anwendungsdaten\" aufgelöst.

Wir brauchen eben eine Verzeichnisebene höher. Bin etwas ratlos, v.a. wo der Fehler liegen könnte...

Bin um jeden Tip dankbar.
Gruß
Thomas Besser

Anbei noch der entsprechende Auszug des Logs 'userlogin':

Code: Alles auswählen

[1] [15.05.2012 11:11:11] ============ Version 4.11.2.5 WIN32 script "P:\login-test\login.ins"
[1] [15.05.2012 11:11:11]              start: 2012-05-15  11:11:11
[1] [15.05.2012 11:11:11]              on client named    "test9-02.arch.kit.edu"
[1] [15.05.2012 11:11:11]              loggedin user    "testdek"
[1] [15.05.2012 11:11:11]              winst running as    "SYSTEM"
[1] [15.05.2012 11:11:11]              winst running with admin privileges
[1] [15.05.2012 11:11:11]              winst running in loginscript mode
[1] [15.05.2012 11:11:11]              using context: FAKARCHPDC\testdek with SID S-1-5-21-968329217-1204130798-1764020472-5008
[1] [15.05.2012 11:11:11] [executing: "C:\Programme\opsi.org\opsi-client-agent\opsi-winst\winst32.exe"]
[1] [15.05.2012 11:11:11] system infos:
[1] [15.05.2012 11:11:11] 00-08-15-21-91-02  -  PC hardware address
[1] [15.05.2012 11:11:11] test9-02.arch.kit.edu  -  IP name
[1] [15.05.2012 11:11:11] 172.22.219.102  -  IP address
[1] [15.05.2012 11:11:11] DEU  -  System default locale
[1] [15.05.2012 11:11:11] MS Windowds 5.1 32 Bit
[1] [15.05.2012 11:11:11] opsi service version : 4
[1] [15.05.2012 11:11:11]
[6] [15.05.2012 11:11:11] Registry key [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion]  opened
[6] [15.05.2012 11:11:11] Key closed
[5] [15.05.2012 11:11:11] message Profile Patch for login-test ....
[5] [15.05.2012 11:11:11] comment: Did we run this script before ? - and set version stamp in profile
[5] [15.05.2012 11:11:11]
[5] [15.05.2012 11:11:11] If
[6] [15.05.2012 11:11:11]       retrieving strings from getProductMap [switch to loglevel 7 for debugging]
[5] [15.05.2012 11:11:11]   getValue("installationstate", getProductMap) = "installed"   <<< result true
[5] [15.05.2012 11:11:11] Then
[5] [15.05.2012 11:11:11]   comment: login-test is installed
[5] [15.05.2012 11:11:11]   
[5] [15.05.2012 11:11:11]   If
[6] [15.05.2012 11:11:11]       Starting query if file exist ...
[5] [15.05.2012 11:11:11]       "C:\WINDOWS\system32\config\systemprofile\test\": File Error 2 (Das System kann die angegebene Datei nicht finden.
)
[5] [15.05.2012 11:11:11]     FileExists("C:\WINDOWS\system32\config\systemprofile\test\")   <<< result false
[5] [15.05.2012 11:11:11]     not (FileExists("C:\WINDOWS\system32\config\systemprofile\test\"))   <<< result true
[5] [15.05.2012 11:11:11]   Then
[5] [15.05.2012 11:11:11]     comment: Needed files not found
[5] [15.05.2012 11:11:11]   EndIf
[5] [15.05.2012 11:11:11] EndIf
[1] [15.05.2012 11:11:11] ___________________
[1] [15.05.2012 11:11:11] script finished
[1] [15.05.2012 11:11:11] 0 errors
[1] [15.05.2012 11:11:11] 0 warnings
[1] [15.05.2012 11:11:11]
[1] [15.05.2012 11:11:11] Executed login script for : login-test Version: 1-0


Und die entsprechende 'logins.ins':

Code: Alles auswählen

[Actions]
Message "Profile Patch for login-test ...."

comment "Did we run this script before ? - and set version stamp in profile"
if getValue("installationstate", getProductMap) = "installed"
   comment "login-test is installed"
   
   if not (FileExists("%CurrentProfileDir%\test\"))
      ;comment "loginscript was not run yet "
      comment "Needed files not found"
      ;Files_profile_copy
   endif
endif

Benutzeravatar
d.oertel
uib-Team
Beiträge: 3269
Registriert: 04 Jun 2008, 14:27

Re: User Profile Management & %CurrentProfileDir%

Beitragvon d.oertel » 15 Mai 2012, 14:35

Hi,

sieht nach einem opsi-winst Bug unter NT5 aus (unter NT6 funktioniert es korrekt).

Danke für den Hinweis.

Ich mach mich sofort dran ...

gruss
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

Benutzeravatar
d.oertel
uib-Team
Beiträge: 3269
Registriert: 04 Jun 2008, 14:27

Re: User Profile Management & %CurrentProfileDir%

Beitragvon d.oertel » 15 Mai 2012, 19:19

Hi,

fix (oder besser work around um einen win API Bug) ist im internen Test.
Geht Morgen nach experimental.

gruss
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

Benutzeravatar
d.oertel
uib-Team
Beiträge: 3269
Registriert: 04 Jun 2008, 14:27

Re: User Profile Management & %CurrentProfileDir%

Beitragvon d.oertel » 16 Mai 2012, 13:45

Hi,

hier ist der fix:
http://download.uib.de/opsi4.0/testing/opsi-winst_4.11.2.9-1.opsi
Rückmeldung willkommen...

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

thomas.besser
Beiträge: 314
Registriert: 09 Sep 2009, 09:40

Re: User Profile Management & %CurrentProfileDir%

Beitragvon thomas.besser » 16 Mai 2012, 14:42

... aber sicher, hier ist sie:

Der Fix behebt das Problem. %CurrentProfileDir% wird jetzt unter WinXP richtig aufgelöst!

Hab zum Testen auf dem Client den 'opsi-client-agent' neu installieren lassen, um den opsi-winst zu installieren. War das Vorgehen so richtig?

Danke für das superschnelle Bugfixen!

Gruß
Thomas Besser

Benutzeravatar
d.oertel
uib-Team
Beiträge: 3269
Registriert: 04 Jun 2008, 14:27

Re: User Profile Management & %CurrentProfileDir%

Beitragvon d.oertel » 16 Mai 2012, 14:52

Hi,

Hab zum Testen auf dem Client den 'opsi-client-agent' neu installieren lassen, um den opsi-winst zu installieren. War das Vorgehen so richtig?


Ist nicht nötig - sobald der opsi-winst auf dem Server installiert ist, wird er automatisch durch den opsiclientd auf die clients verteilt.

gruss
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

thomas.besser
Beiträge: 314
Registriert: 09 Sep 2009, 09:40

Re: User Profile Management & %CurrentProfileDir%

Beitragvon thomas.besser » 16 Mai 2012, 14:55

Ziehe die Frage zurück :-)

opsi-winst hat sich bei einem weiteren Rechner automatisch aktualisiert.

thomas.besser
Beiträge: 314
Registriert: 09 Sep 2009, 09:40

Re: User Profile Management & %CurrentProfileDir%

Beitragvon thomas.besser » 22 Mai 2012, 10:19

d.oertel hat geschrieben:hier ist der fix:
http://download.uib.de/opsi4.0/testing/opsi-winst_4.11.2.9-1.opsi
Rückmeldung willkommen...


An einigen (nicht an allen mit dieser Version!) funktioniert "User Profile Management" seit gestern nicht mehr. Hab mal den opsiconfd aufm Server neu gestartet. Leider ohne Änderung.

In c:\tmp\opsiclientd.log gibts folgenden Fehler:

Code: Alles auswählen

[5] [May 22 10:05:53] [ event processing user_login   ] Local action processor exists and seems to be up to date   (EventProcessing.pyo|455)
[5] [May 22 10:05:53] [ event processing user_login   ] Unmounting depot share   (EventProcessing.pyo|390)
[5] [May 22 10:05:53] [ event processing user_login   ] Starting action processor in session '1' on desktop 'default'   (EventProcessing.pyo|773)
[6] [May 22 10:05:53] [ event processing user_login   ] Running command C:\Programme\opsi.org\opsi-client-agent\action_processor_starter.exe "test9-05.arch.kit.edu" "*** confidential ***" "4441" "c:\\tmp\\opsiclientd.log" "6" "smb://172.22.219.91/opsi_depot" "P:" "pcpatch" "*** confidential ***" "1" "default" "\"C:\Programme\opsi.org\opsi-client-agent\\opsi-winst\\winst32.exe\" /opsiservice \"https://opsi.arch.kit.edu:4447/rpc\" /clientid test9-05.arch.kit.edu /username test9-05.arch.kit.edu /password *** confidential *** /sessionid OPSISID=EW73SqBEBeU3A9KQtRUCQB25UVuSjCtZ /allloginscripts /silent " 300 "" "" false in session '1' on desktop 'default'   (EventProcessing.pyo|297)
[6] [May 22 10:05:53] [ event processing user_login   ] Searching pids of process name winlogon.exe (session id: 1)   (Windows.pyo|1169)
[6] [May 22 10:05:53] [ event processing user_login   ] Found process winlogon.exe with matching name (pid 520, session 0)   (Windows.pyo|1191)
[6] [May 22 10:05:53] [ event processing user_login   ] Found process winlogon.exe with matching name (pid 2784, session 2)   (Windows.pyo|1191)
[3] [May 22 10:05:53] [ event processing user_login   ] Failed to get user token, pid of 'winlogon.exe' not found in session '1'   (EventProcessing.pyo|306)
[2] [May 22 10:05:54] [ event processing user_login   ] Traceback:   (Logger.pyo|742)
[2] [May 22 10:05:54] [ event processing user_login   ]      line 582 in 'processUserLoginActions' in file 'ocdlib\EventProcessing.pyo'   (Logger.pyo|742)
[2] [May 22 10:05:54] [ event processing user_login   ]      line 774 in 'runActions' in file 'ocdlib\EventProcessing.pyo'   (Logger.pyo|742)
[2] [May 22 10:05:54] [ event processing user_login   ]      line 303 in 'runCommandInSession' in file 'ocdlib\EventProcessing.pyo'   (Logger.pyo|742)
[2] [May 22 10:05:54] [ event processing user_login   ]      line 1339 in 'runCommandInSession' in file 'OPSI\System\Windows.pyo'   (Logger.pyo|742)
[2] [May 22 10:05:54] [ event processing user_login   ]      line 1289 in 'getUserToken' in file 'OPSI\System\Windows.pyo'   (Logger.pyo|742)
[2] [May 22 10:05:54] [ event processing user_login   ]      ==>>> Failed to get user token, pid of 'winlogon.exe' not found in session '1'   (EventProcessing.pyo|585)
[3] [May 22 10:05:54] [ event processing user_login   ] Failed to process login actions: Failed to get user token, pid of 'winlogon.exe' not found in session '1'   (EventProcessing.pyo|586)
[5] [May 22 10:05:54] [ opsiclientd                   ] Block login now set to 'False'   (Opsiclientd.pyo|111)
[6] [May 22 10:05:54] [ event processing user_login   ] Stopping notification server   (EventProcessing.pyo|234)
[6] [May 22 10:05:54] [ event processing user_login   ] Notification server stopped   (Message.pyo|652)
[5] [May 22 10:05:54] [ event processing user_login   ] ============= EventProcessingThread for event 'user_login' ended =============


Ich kann mir der Fehlermeldung leider nichts anfangen.

Hab mir bei der Fehlersuche auch noch mal das Handbuch Kapitel 17.6 durchgelesen. Dabei ist mir folgendes aufgefallen:

Code: Alles auswählen

opsi-admin -d method config_createUnicode opsiclientd.event_user_login.action_processor_command "user_login action_processor" "%action_processor.command% /sessionid %service_session% /allloginscripts /silent" "%action_processor.command% /sessionid %service_session% /allloginscripts /silent"


Ist das "%action_processor.command% ..." nicht doppelt? Gehört das so?

Gruß
Thomas Besser

Benutzeravatar
d.oertel
uib-Team
Beiträge: 3269
Registriert: 04 Jun 2008, 14:27

Re: User Profile Management & %CurrentProfileDir%

Beitragvon d.oertel » 22 Mai 2012, 12:24

Hi,

zum opsi-admin Befehl:
Der Syntax ist hier:

Code: Alles auswählen

opsi-admin -d method config_createUnicode <id> <description> <possibleValues> <defaultValues>

daher die Dopplung (<possibleValues> <defaultValues>).

zum Problem:
Hier hat offensichtlich der opsiclientd ein Problem den richtigen winlogon Prozeß in der richtigen Session zu finden.
Das Problem hat also hier nichts mit dem opsi-winst zu tun.
Zwei Bitten / Vorschläge:
1. die komplette opsiclientd.log an d.oertel(at)uib.de senden
2. den opsi-client-agent aus testing probieren:
http://download.uib.de/opsi4.0/testing/opsi-client-agent_4.0.1-31.opsi
Mit bitte um Rückmeldung.

Sorry für die Probleme

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

thomas.besser
Beiträge: 314
Registriert: 09 Sep 2009, 09:40

Re: User Profile Management & %CurrentProfileDir%

Beitragvon thomas.besser » 22 Mai 2012, 13:49

d.oertel hat geschrieben:zum opsi-admin Befehl:
Der Syntax ist hier:

Code: Alles auswählen

opsi-admin -d method config_createUnicode <id> <description> <possibleValues> <defaultValues>

daher die Dopplung (<possibleValues> <defaultValues>).


Ok, danke, das erklärt natürlich die Doppelung. Habe den Befehl gerade nochmal mit C&P ausgeführt, jetzt weiss ich auch warum ich irritiert war: im configed unter Server-Konfiguration ist die Doppelung nicht zu sehen. Aber das gehört dann wohl so.

d.oertel hat geschrieben:2. den opsi-client-agent aus testing probieren:
http://download.uib.de/opsi4.0/testing/opsi-client-agent_4.0.1-31.opsi


Habe ich an zwei Clients installiert, hat leider nichts gebracht.

ABER sehr seltsam: musste vor der Installation mich bei einem der Clients einloggen UND ohne was getan zu haben, zeigte sich das "User Login Notifier"!? Nach der anschliessenden Installation gehts wieder nicht.

Wenn ich noch was testen/helfen kann, nur her damit ;-)

Gruß
Thomas Besser