Lebensdauer Projektvariablen

Alle Fragen rund um das Rollout von Betriebssystemen
Antworten
Eisi
Beiträge: 49
Registriert: Mo Jan 16, 2017 9:59 pm

Hallo,

wer kann mir etwas über die Lebensdauer von Projektvariablen erzählen? In der Hilfe habe ich dazu nichts gefunden.

Hintergedanke: Ich möchte in einem Rollout einen Wert im ersten ClientCommand (erste JobCollection) ablegen und dieser Wert soll auch noch im letzten ClientCommand nach X JobCollections und nach Neustarts des Clients verfügbar sein.
Derzeit plane ich den Weg über die Registry, aber wenn Project-Variablen den kompletten Rollout überleben, wäre das ja gar nicht nötig. Oder gibt es hier einen eleganteren Weg?

Schöne Grüße aus Hamburg... Sven Biehl
Dennis Koch
Beiträge: 501
Registriert: Di Nov 20, 2012 4:03 pm

Hallo Sven,

hierfür können Sie globale Variablen nutzen (https://www.aagon.de/handbuch/acmp/de/5 ... beiten.htm).

Projektvariablen haben immer nur die Dauer vom ClientCommand. Wenn dieses abgeschlossen ist kann nicht mehr auf die Variable zugegriffen werden.
Mit freundlichen Grüßen / Best regards

Dennis Koch
Aagon GmbH
Eisi
Beiträge: 49
Registriert: Mo Jan 16, 2017 9:59 pm

Hallo Dennis,

danke für die Antwort.

Sind die globale Variablen dann nicht auch von allen anderen Clients abrufbar? Oder anders gefragt: Wenn ein Client eine globale Variable "Running" setzt, ist dieser Wert dann nicht auch für alle anderen Clients sichtbar? Die Frage drängt sich auf, weil dort bereits Variablen wie "URL_HELPDESK" gesetzt sind...

Schöne Grüße... Sven Biehl
Dennis Koch
Beiträge: 501
Registriert: Di Nov 20, 2012 4:03 pm

Ja, diese Art von Variablen sind für alle Clients abrufbar. Falls mehrere Clients gleichzeitig diese nutzen und überschreiben funktioniert diese dann in Ihrem Beispiel nicht.
Mit freundlichen Grüßen / Best regards

Dennis Koch
Aagon GmbH
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hallo Sven,

korrekt, globale Variablen würden dich bei soeinem Einsatz direkt in die Race-Conition Hölle bringen;) Dein Ansatz mit der Registry (oder ggf. eine ini-Datei) ist schon wahrscheinlich der flexibelste, ansonsten könnte ich mir in gewissen Fällen auch Umgebungsvariablen vorstellen.
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
Eisi
Beiträge: 49
Registriert: Mo Jan 16, 2017 9:59 pm

Hi Niklas,

ich habe bisher noch keinen Weg gefunden, eine Umgebungsvariable zu setzen. Was habe ich übersehen?

Schöne Grüße aus Hamburg... Sven Biehl
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hi Sven,

nein, hast du nicht, dafür gibt es kein mitgeliefertes Command; Hierfür kann je nach gewünschtem Kontext und Lebensdauer z.B. "set" bzw. "setx" im Shell Execute Command benutzt werden. (aber ich bin mir sicher, dass es auch über PowerShell geht, die nicht so zickig ist, wenn es um Leerzeichen geht).
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
Eisi
Beiträge: 49
Registriert: Mo Jan 16, 2017 9:59 pm

Hi Niklas,

dachte ich mir doch ;-)

Ich gehe dann lieber über die Registry. Ein Powershell-Script aufzurufen, nur um eine Env-Variable zu setzen, kommt mir dann doch etwas Overkill vor.

Ist übrigens für das selbe Projekt mit dem Rollout. So lese ich also den String mit den 0 und 1 aus der INI und schreibe ihn in die Registry. Und hier muss ich ihn dann nach Bedarf wieder auslesen (und brauche nicht immer die INI auf dem Server anzufassen).

Mal schauen, ob das alles so klappt, wie ich mir das vorstelle :-)

Schöne Grüße... Sven
Antworten