Rechnerspezifische Konfigurationsgruppe

Antworten
Heumer
Beiträge: 16
Registriert: 15. Dez 2004, 08:05
Kontaktdaten:

Rechnerspezifische Konfigurationsgruppe

Beitrag von Heumer » 25. Apr 2006, 12:51

Hallo,

ich möchte gerne per SQL-Prozedur eine Konfigurationsgruppe für einen Rechner löschen bzw. auch anlegen. Der Name der Konfigurationsgruppe soll hierbei immer dem Namen des PCs entsprechen. Mit der externen Aktivieren-Schnittstelle könnte ich eine solche Gruppe erzeugen, wenn ich gleichzeitig ein Softwarepaket, eine Betriebssystemtemplate oder ein Bootimage zuweisen würde, was ich jedoch nicht möchte.

Ziel ist, dass im Ergebnis in der Datenbank keine leere Konfigurationsgruppe vorhanden sein soll, weil z.B. der Rechner PCMUELLER gelöscht wurde (Gruppe mit Software PCMUELLER bleibt stehen).

Sieht jemand einen Lösungsansatz?

michi
Beiträge: 22
Registriert: 27. Dez 2004, 23:14
Kontaktdaten:

Beitrag von michi » 26. Apr 2006, 18:01

Hallihallo,

wenn Sie Empirum mit PFP einsetzen gibt es neben der Empactivate.exe zusätzlich die Jobtabellen EmpExtSubscribers, EmpTaskQueue, EmpTaskParam.

Darüber kann man auch einen Task vom Typ "Create Configuration Group" auslösen.

Es ist zwar nicht besonders gut erklärt, aber in \Empirumserver\Empirum$\Addons\External Activation liegt ein excel-Sheet. Dort ist in etwa beschrieben was man machen muss.
(ZU leicht solls ja auch wieder nicht sein, sonst fehlt die Herausforderung ;-))

Zunächst muss man in der Tabelle EmpExtSubscribers einen "User" definieren, mit dem man die Aktion einleitet.
In der Tabelle EmpTaskQueue legt man mit der ID dieses Users einen Task an. Damit steht quasi der Typ Aktion fest in dem Fall:

ActionType: Insert
ActionCode: EmptyCode
TargetObjectType: Group

Mit der ID des Tasks wiederum spezifiziert man in der EmpTaskParam man dann die Parameter:

Object: GroupPath
ParameterName:"group1\undergroup1\Groupname"

Ich finds persönlich nur etwas kompliziert, weil ich dadurch jeweils immer erst noch die automatisch vergebenen IDs rausfinden muss, bevor ich den nächsten Tabelleneintrag machen kann. An sich aber sehr sehr mächtig...

Gruss,

Michi.

Heumer
Beiträge: 16
Registriert: 15. Dez 2004, 08:05
Kontaktdaten:

Beitrag von Heumer » 27. Apr 2006, 08:06

Danke Michi für die gute Anleitung.

Der Lösungsansatz ist für einen manuellen Einsatz nicht schlecht. Ich möchte die Erstellung und das Löschen der Konfigurationsgruppen jedoch komplett automatisieren, ohne zuvor eine Exceltabelle zu füllen. Schön wäre eine SQL-Prozedur oder eine Parametererweiterung der EmpExtActivate.exe.

Hermann

michi
Beiträge: 22
Registriert: 27. Dez 2004, 23:14
Kontaktdaten:

Beitrag von michi » 27. Apr 2006, 17:24

Hallihallo,

also ich hab mich da glaub ich etwas ungenau ausgedrückt...
die in der Excel-Tabelle steht natürlich nur quasi die "Betriebsanleitung" drin.
Die genannten Tabellen sind Tabellen in der Location Database (ab PFP). Ich kenn mich mit SQL nicht so super aus, bei der Erstellung einer Prozedur kann ich Dir deshalb nicht helfen. (Vielleicht bringt mal jemand von den hambrosiusjbeimels ein bisschen Licht ins Dunkel und postet mal ein konkretes Beispiel für ein passendes Script ;-), den Rest kann man sich dann sicher leicht ableiten.


Gruss,

Michi

Heumer
Beiträge: 16
Registriert: 15. Dez 2004, 08:05
Kontaktdaten:

Beitrag von Heumer » 05. Mai 2006, 08:18

Hallo,

ich habe mal versucht, die Zusammenhänge bezüglich einer Konfigurationsgruppe in den einzelnen Datenbanktabellen zu verstehen.

Können mir die "hambrosiusjbeimels" folgendes bestätigen:

Um eine Konfigurationsgruppe via SQL-Statement zu löschen ist zunächst zu prüfen, ob es in den folgenden Tabellen Einträge zu dieser Gruppe gibt:

- CompConfGrSoft (Software, Betriebssystemtemplates)
- CompConfGrProp
- CompConfGrPXE (PXE-Bootimages)
- CompConfGrJob
- CompConfGrPMClasses
- CompConfGrSwClasses
- CompConfGrTask
- CompConfGrUser

Nachdem ich in diesen Tabellen die Einträge zu der Konfigurationsgruppe gelöscht habe, müsste ich doch dann in der Lage sein die Gruppe in der Tabelle TreeDefinition zu löschen?

Ein Umbenennen der Gruppe via SQL-Statement dürfte wesentlich unkomplizierter sein, indem lediglich der Name in der Tabelle TreeDefinition geändert wird.

Könnte eine Lösung zu meinem Problem so aussehen oder habe ich etwas übersehen?

Heumer

Antworten

Zurück zu „DBUtil“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste