Serverseitige Manager

Aus prevero Competence Center
Wechseln zu: Navigation, Suche


Serverseitige Manager laufen lokal auf dem Serverrechner und ermöglichen dadurch einen direkten Zugriff auf die Ressourcen des Servers. Sie laufen auch unabhängig vom Client und können deshalb auch Operationen durchführen während der Client offline ist.

Damit nicht jeder Anwender beliebige Manager auf dem Server starten und ausführen kann wurden entsprechende Sicherheitsüberprüfungen eingeschlossen.

Serverseitige Manager sind in dem Sinn keine "echten Manager" sondern ausführbare Command Line-Programme. professional planner (PP) bildet auf der Serverseite einen Prozess und über diesen Prozess eine Command Line-Anweisung. Dadurch lassen sich sowohl Standard EXE-Programme als auch Batchprogramme (*.bat) aller Art starten. Ist auf dem Server der Internet Explorer oder Script Host installiert, kann man auch Javascript (*.js) oder VB Script (*.vbs) direkt ausführen.


Serverseitige Manager werden über das PP Objekt PPServer aufgerufen.

Dazu gibt es eine Funktion: ExecuteServerMacro(STRING MacroName, STRING MacroParameters)

  • MacroName: enthält entweder einen Namen für einen Manager, den der Server kennt oder eine ausführbare Command Line-Applikation
  • MacroParameter: enthält optionale Parameter für die Command Line-Ausführung

Sollte es bei der Ausführung zu einem Fehler kommen, wird eine Fehlermeldung ins Serverprotokoll eingetragen.


Gibt es am professional planner Server in der Registry unter HKEY_LOCAL_MACHINE/Software/Winterheller/PP bzw. HKEY_LOCAL_MACHINE/Software/prevero/PP einen Schlüssel mit dem Namen MacroAllowed und dem DWORD Eintrag mit dem Namen MacroAllowed welcher auf eins gesetzt ist, dann können am Server beliebige Command Line-Manager ausgeführt werden. Ist dieser Eintrag nicht gesetzt, werden Command Line-Manager nicht ausgeführt. Wird der Server über das Berechtigungssystem geschützt, erfolgt der Zugriff auf die Registry zum Auslesen der Werte im Kontext des Anwenders. Dadurch kann man den Eintrag für bestimmte Anwender freigeben und für andere sperren.


Der Managername kann aber auch Namen von vordefinierten Managern enthalten. Vordefinierte Manager sind dadurch gekennzeichnet, dass der Name des Managers mit dem Begriff PPSERVERMACRO beginnt. Die eigentliche Command Line-Anweisung befindet sich in der Registry. Der Name eines derartigen Managers könnte daher auf PPSERVERMACROxxxx lauten, wobei für xxxx eine beliebige vierstellige Zahl steht.

Der Manager wird vor der Ausführung am Server eingerichtet. Dazu muss man einen Schlüssel in der Registry unter HKEY_LOCAL_MACHINE/Software/Winterheller/PP bzw. HKEY_LOCAL_MACHINE/Software/prevero/PP anlegen, der auf den Namen des Managers lautet. Anschließend wird in dem Subschlüssel ein String Value mit dem Namen des Managers angelegt. Dieser Eintrag enthält den Text für die ausführbare Command-Line-Anweisung.

Kann Professional Planenr beim Aufruf von ExecuteServerMacro den Schlüssel mit dem Eintrag finden, führt er diesen Manager aus. Da es sich um einen Registry Subschlüssel handelt und PP bei aktivierten Berechtigungssystem wieder im Kontext des Anwenders zugreift, kann man die Ausführung des Managers auf bestimmte Anwender eingrenzen.

Wird kein Berechtigungssystem auf dem Server aktiviert, werden alle serverseitigen Manager auch im Kontext des Anwenders ausgeführt. Wenn SecureServer deaktiviert ist, erfolgt die Ausführung im selben Kontext unter dem der Serverprozess läuft. Die Applikation wird auch immer im selben Verzeichnis wie der Serverprozess gestartet.