opsiclientd ohne GUI

proland
Beiträge: 40
Registriert: 09 Dez 2013, 10:36

Re: opsiclientd ohne GUI

Beitragvon proland » 16 Mär 2016, 15:26

Hi,

was verbirgt sich hinter dem User?

[1] [Jan 28 16:50:03:570] winst running as "****"


Da verbirgt sich der normale User (mit Administratorrechten) dahinter. Das ist ja auch "nur" die Deinstallation...

Um hier mal weiter zu kommen wäre für uns ein qualitativer Bugreport hilfreich, der es uns ermöglicht das ganze Verhalten auch mal bei uns nachzustellen.
Also welche Gegebenheiten / Schritte sind notwendig, damit der Fehler auftaucht?


Da stellt sich mir die Frage, wie sieht ein qualitativer Bugreport aus?

Problem: Die opsi-gui wird beim Start nicht angezeigt. Somit werden auch keine gesetzten Produktaktionen durchgeführt.

Sachverhalt: Der Client wurde mehrmals neu installiert. Dabei entstehen die Logs wie sie im Beitrag von mir weiter oben zu sehen sind. on_demand funktioniert und der Client meldet sich morgens beim hochfahren beim Server.

Fehlermeldung: Wie in meinem ersten Beitrag zu lesen ist, gibt es beim "Fehlstart" der Opsi Gui folgenden Fehler "%1 ist keine zulässige Win32-Anwendung".

Bereits getestete Vorgehen: Durch googlen der oben stehenden Fehlermeldung habe ich aus den Microsoftforen ein paar Lösungsansätze getestet (quasi alles was man mit Windows so anstellen kann ohne es direkt neu aufzusetzen). Außerdem habe ich nach aktivierter Anti-Viren Software geschaut, Windows Firewall und Defender sind aus. Außerdem stand in einer Logdatei, dass eine library.zip fehlt. Diese habe ich manuell ersetzt - ohne Erfolg. Ein Lösungsvorschlag hier aus dem Forum war, den Dienst neu auf Manuell zu stellen, da dieser nicht selbstständig anläuft. Das habe ich verifiziert

Umgebung: Es handelt sich hierbei um eine Windows 7 Professional 64-Bit installation. Hauptsächlich Standard-Programme wie Office2010 und ähnliches. Eine HP-Workstation, die bis auf den opsi normal läuft. Als Anti-Virus haben wir den GData installiert. Der Nutzer arbeitet als Admin.

Sollten noch Fragen offen sein, nur her damit.

Mit freundlichen Grüßen
Proland

Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1891
Registriert: 28 Mai 2008, 10:53

Re: opsiclientd ohne GUI

Beitragvon ueluekmen » 24 Mär 2016, 00:25

Hi,

solche Probleme sind schwierig zu lösen. Wenn es nur ein oder zwei Rechner betrifft und die nicht per opsi komplett neu aufgesetzt wurden, gilt folgender Grundsatz:

Reboot tut bei Windows immer gut, Reinstallation ist die beste Lösung. (Wenn es denn hilft).

Qualtitativer Bugreport ist zum Beispiel die opsi-client-agent.log und opsiclientd.log zu teilen (auch geixxt, aber wenn dann wäre auch gut wenn wir wüssten was verändert wurde.) Die err-Datei sammelt nur die Errors, ohne Kontext bringt das nix. Nicht jeder Error ist auch Fatal.

Wenn die library.zip auch nach der Installation fehlt, dann ist irgendwas Megaschräg. Das darf nicht sein und kann dann auch nicht funktionieren.

Wenn der Client nicht läuft, ist es kein Problem vom loginblocker.

Ein guter Test: Als Admin anmelden, wenn die Blockerei vorbei ist und auf in der cmd:

net start opsiclientd

Wenn der Client dann startet und normal arbeitet, liegt es am Servicestart.

Wir können uns das Problem gerne ganauer anschauen, allerdings nur über einen Supportvertrag. Im moment ist uns kein flächendeckendes Problem an der Stelle bekannt, was nicht heißen muss, dass nicht doch irgendwo ein Problem schlummert.

PS.: Gerade bei Dell Rechnern mit Windows hatten wir in der Vergangenheit schon den ein oder anderen kuriosen Supportfall. Mehr wird nicht verraten :D
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.
http://www.uib.de

ahcsas
Beiträge: 17
Registriert: 20 Jun 2011, 09:28

Re: opsiclientd ohne GUI

Beitragvon ahcsas » 04 Apr 2016, 15:47

Moin,

wir hatten/haben in letzter Zeit verstärkt das Problem, dass der Dienst opsiclientd beim booten nicht gestartet wurde. Eine Neuinstallation des opsi-client-agent, auch ohne Abhängigkeit zu dhcp und dnscache, brachte keine Besserung.

Im Ereignisprotokoll sieht man bei uns jedoch, dass der Dienst aufgrund von Fehler 1053 nicht gestartet werden konnte. "Error 1053: The service did not respond to the start or control request in a timely fashion."

Man kann diesen Timeout über folgende Registry Änderung z.B. auf 60 Sekunden verdoppeln:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"ServicesPipeTimeout"=dword:0000ea60

Bei den PCs, wo wir diesen Eintrag gesetzt haben, ist der Fehler bisher nicht mehr aufgetreten. Vielleicht können die betroffenen Kollegen ja auch mal testen...

Woran es jetzt genau liegt, kann ich leider auch nicht sagen. Bei uns vermute ich einen Zusammenhang mit zahlreichen zu verarbeitenden GPOs beim Systemstart, die den Rechner ausbremsen.

Viele Grüße
Sascha
Viele Grüße
Sascha

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3167
Registriert: 04 Apr 2013, 12:15

Re: opsiclientd ohne GUI

Beitragvon n.wenselowski » 21 Apr 2016, 15:31

Hi,

bitte mal mit opsi-client-agent (4.0.6.3-13) das Property services_pipe_timeout ausprobieren. Der ist aktuell in Testing und darüber kann dann der entsprechende Registiry-Schlüssel konfiguriert werden.


Gruß

Niko
opsi development - uib gmbh
For productive opsi installations we recommend support contracts.

skibby
Beiträge: 5
Registriert: 25 Apr 2016, 16:34

Re: opsiclientd ohne GUI

Beitragvon skibby » 25 Apr 2016, 16:45

Hallo zusammen,

ich muss mich da mal einklinken. Ich habe ebenfalls ein Kurioses Problem.
Seit neusten lassen sich die Neu hinzugekommenen PC nicht mehr per Opsi ansprechen. Ich habe einen neuen Client und installiere den Opsi Agent. Soweit alles toll.

Der rechner startet automatisch neu, sperrt die Eingabe und verbinde sich zum Opsi server. Er taucht auch sofort in der Console auf. Aber das war es auch dann. Bei einem zweiten neustart, wird zwar ganz kurz die Eingabe gesperrt aber mehr kommt dann nicht. Er verbindet sich nicht mehr. Auch der Opsi Server sagt bei "zuletzt gesehen" das installationsdatum.

Ich kann zwar den Client PC noch per Console rebooten aber er nimmt einfach keine neue Software an. Installiere ich den Agent nochmal, wird nach dem Neustart sofort alle Software nachinstalliert. Aber genau nur einmal. Sollte ich dann den Rechner wieder neustarten lassen, verbindet sich der Agent wieder nicht.

Hat da wer ne Idee zu?
Ich habe in der Console mit den OpsiclientD Werten gespielt (weil ich den Blocker eigentlich komplett weg haben wollte). Ich meine das danach die Probleme auftraten. Die alten Clients holen sich Ihre Software nach wie vor - ohne Probleme.

Aktuell sieht die Config so aus.

clientconfig
depot.dynamic -> False
install_by_shutdown.active -> False

opsiclientd
event_gui_startup.active -> True
event_gui_startup.{user_logged_in}.in -> True
event_net_connection.active -> True
event_timer.active -> False

Ist das so richtig?

Liebe Grüße
skibby

andré
Beiträge: 267
Registriert: 07 Jan 2014, 10:48

Re: opsiclientd ohne GUI

Beitragvon andré » 25 Apr 2016, 16:54

Sind das die Hostparameter eines dieser neuen betroffenen Clients, oder die Host-Parameter unter der Server-Konfiguration? Wenn ersteres, kannst du ja mal mit einem Client vergleichen, der funktioniert.

Ansonsten fehlen dort noch etliche Werte. Wie zum Beispiel

clientconfig.configserver.url -> https://deinserver:4447/rpc
clientconfig.depot.drive -> p:


Edit: Ich könnte mir vorstellen, nach den Angaben, die du bisher gemacht hast, dass du in der Serverkonfig Properties gelöscht hast und die fehlen dann bei neuen PCs.

skibby
Beiträge: 5
Registriert: 25 Apr 2016, 16:34

Re: opsiclientd ohne GUI

Beitragvon skibby » 25 Apr 2016, 17:11

Das sind die Host Parameter die ich geändert habe und wieder zurück gesetzt habe. Zwischenzeitlich bin ich über die default Einstellungen gestolpert.
Daher nur diesen Auszug.

So langsam weiss ich da nicht mehr weiter. Der Client Dienst startet. Per Console kann ich den Neustart ausführen lassen, bei zuletzt gesehen ändert sich nichts. Software die installiert werden soll, bleibt auch weiterhin als Installiert markiert.

andré
Beiträge: 267
Registriert: 07 Jan 2014, 10:48

Re: opsiclientd ohne GUI

Beitragvon andré » 25 Apr 2016, 17:31

Was du mal machen kannst ist, die opsiclientd.conf von einem funktionierenden und einem nicht funktionierenden zu vergleichen. Wenn du per Host-Parameter einem Client die Verbindung abdrehst, kann der sich natürlich auch wieder korrigierte Host-Parameter nicht abholen. So kannst du erstmal schauen, ob es da einen Unterschied gibt. Wenn es einen Unterschied gibt, kann man dann anschließend schauen, wo der herkommt.

Die opsiclientd.conf liegt auf den Clients unter c:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd.

skibby
Beiträge: 5
Registriert: 25 Apr 2016, 16:34

Re: opsiclientd ohne GUI

Beitragvon skibby » 26 Apr 2016, 08:16

Wenn du per Host-Parameter einem Client die Verbindung abdrehst, kann der sich natürlich auch wieder korrigierte Host-Parameter nicht abholen. So kannst du erstmal schauen, ob es da einen Unterschied gibt. Wenn es einen Unterschied gibt, kann man dann anschließend schauen, wo der herkommt.

Die opsiclientd.conf liegt auf den Clients unter c:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd.


Jau das war es. Tasächlich hat der in der Conf etwas geschrieben was den Fehler verursacht hat. In folgender Zeile stand False (anstatt true)
283 - active = false
289 - active = false

Nachdem anpassen und neustarten des Gerätes alles toll!. Zuletzt gesehen passt dann auch.

Im Zuge dessen habe ich aber ne doofe frage: Ich habe gesehen das dort auch der Timeout (30s) eingestellt ist. Ich vermute mal das ich dies aber auch auf dem Host ändern kann. Nach meiner Logik müsste ich dann die opsi Agent als "update" markieren und verteilen lassen. Soweit richtig - oder doch eher Manuell bei jedem Client die .conf anpassen?

andré
Beiträge: 267
Registriert: 07 Jan 2014, 10:48

Re: opsiclientd ohne GUI

Beitragvon andré » 26 Apr 2016, 09:50

Ich persönlich würde gar nichts in den .conf-Dateien ändern, außer halt den Eintrag, der notwendig ist, um die Verbindung wieder herzustellen. Die Timeout-Zeiten kannst (und solltest) du dann im opsi config editor ändern. Wenn du die manuell auf dem Client änderst, werden die glaube ich sowieso immer wieder überschrieben mit dem Wert, den der Server vorgibt.

Den Timeout selber regelst du nicht über die Installation des opsi-client-agent, sondern über die Hostparameter -> opsiclientd -> opsiclientd.config_service.connection_timeout. Diese Werte werden auch ohne Neuinstallation des Clients abgeglichen. Einzige Voraussetzung ist, dass eine Verbindung zum Opsi-Server vorhanden ist.

Unter der Serverkonfiguration im opsiconfed kannst du auch den Defaultwert für die Konfiguration ändern.