Command Line Argumente
Allgemeine Definitionen:
Ein Command Line Argument beginn immer mit einem Schrägstrich (/). Danach wird der Name der Option angegeben. Die Grossschreibung ist dabei nicht relevant.
Wird im Anschluss nichts mehr angegeben, dann wird die entsprechende Option auf 1 gesetzt. Um die Option auszuschalten kann auch /Option=0 angegeben werden.
Wird im Anschluss ein Gleichzeichen (=) angegeben, dann können entsprechende Optionsdefinitionen angegeben werden. Der Text darf keine "/" enthalten. Muss dieses Zeichen angegeben werden, dann muss der Text zwischen { und } angegeben werden. Werden Anführungszeichen (") angegeben, dann werden diese am Anfang und am Ende des Textes entfernt. Anführungszeichen sind also erlaubt, wenn diese zur Klarheit dienen. Sobald ein "/" ausserhalb von { und } gefunden (also auch zwischen zwei Anführungszeichen), wird angenommen, dass eine neue Option beginnt.
Manche Optionen können mehrfach angegeben werden, dann gelten alle Einträge in der angegebenen Reihenfolge. Andere sind nur einmal anzugeben, wobei bei Mehrfachnennungen einfach der letzte angegebene Eintrag gilt.
Ist eine Datei "command.smt" vorhanden, dann werden die dort auf einer Zeile angegebenen Optionen am Ende angefügt. Sind in dieser Datei mehrere Zeilen vorhanden, dann wird der Benutzer für die Auswahl einer der Zeilen gefragt. Die Argumente werden an die direkt angegebenen Argumente angefügt.
In der Registry können unter Computer\HKEY_CURRENT_USER\Software\Swiss Mains\{AppKey}\Application\Commands (String Value) ebenfalls Argumente definiert werden. Diese werden allen anderen Argumenten vorangestellt.
Es ergibt sich folgende Reihenfolge:
(Registry Argumente) + (Mit dem Programmaufruf angegebene Argumente) + (im command.smt angegebene Argumente)
Für die Erkennung der command.smt Datei, muss der "Start in" Ordner auf das Programmverzeichnis gesetzt sein.
Die Registry Argumente müssen im AppKey
Argumente für Auswertungsmodul (SSD)
Switch | Mehrfach | Beschreibung |
---|---|---|
/Execute=Name | Ja | Führt beim Start der Software ein Makro mit dem angegebenen Namen aus. Wird eine reine Zahl übergeben und entspricht dies nicht dem Namen eines Makros, dann wird dies als ID des Makros interpretiert und dieses ausgeführt. Wird diese Option mehrfach angegeben, dann werden die Makros hintereinander in der angegebenen Reihenfolge ausgeführt. |
/StopAfterMacro | Nein | Beendet die Software nach Abschluss aller angegebenen Makros |
/OpusServer | Nein | Startet den Server zur Behandlung von Remote Procedures in Opus |
/InterfaceServer | Nein | Startet den Server zur Behandlung von Schnittstellen per Datenbank (Tabellen SSD_InterfaceRequest und SSD_InterfaceResult). |
/InterfaceCheckRepetitionTime=Seconds | Nein | Zeit in Sekunden, die zwischen den Abfragen, ob neue Anfragen vorhanden sind. Wird dies nicht angegeben, ist die Zeit auf 1 Sekunde eingestellt. Es ist möglich, einen Fliesskommawert anzugeben, z.B. 0.5. |
/InterfaceProcessGroup | Ja | Makros mit dieser ProcessGroup werden ausgeführt. Damit lässt sich einschränken, welche Makros überhaupt ausgeführt werden sollen und auch eine Verteilung auf mehrere Server für unterschiedliche Makros erreichen. |
/InterfaceProcessWebRequests | Nein | Gibt an, ob HTTP Requests ausgeführt werden sollen. |
/FileSystemWatcher_Directory | Nein | Überwacht beim Starten den angegebenen Ordner inklusive Unterordner und startet nach FSW Event ein Makro. |
/FileSystemWatcher_Execute=Name | Ja | Name oder ID des/der auszuführenden Opus Makros. |
/FileSystemWatcher_NotifyOn=Name | Nein | Zu überwachenden Event Typ im Ordner. Auswahl von:
|
/FileSystemWatcher_Filter=Name | Nein | Dateifilter der zu berwachenden Objekte. Standartwert (alle Dateien): "*.*". |
Argumente für Login (SSE)
Switch | Mehrfach | Beschreibung |
---|---|---|
/User=Username | Nein | Benutzername |
/Password=Password | Nein | Passwort |
/PwHash | Nein | Passwort Hash SHA-256 verschlüsselt. Ab Version 2.2.155 |
/Domain=Domain | Nein | Domäne |
/DBUser=Username | Nein | Benutzername für Datenbanklogin |
/DBPassword=Password | Nein | Passwort für Datenbanklogin |
/DBIntegratedSecurity | Nein | Wird dies gesetzt, dann wird der eingeloggte Windows Benutzer für das Datenbanklogin verwendet |
/PropagateDBUser | Nein | Wird dieses Argument angegeben, dann wird direkt versucht, mit dem DB User und DB Password auch in die Software einzuloggen. |
/Token=MyToken | Nein | Access Token für die Versionsverwaltung (höhere Gewichtung als Wert aus der Datenbank). Read Berechtigung auf Update Berechtigung wird benütigt. |
/InstallerPath=Pfad | Nein | Pfad der Installationsdatei *.exe, welche beim Update Check gelöscht wird. |
/AutoUpdateTime=dd.MM.yyyy hh:mm default: /AutoUpdateTime="01.01.2021 03:00" | Nein | Start Zeitpunkt des periodischen Update Checks, dieses Argument ativiert die automaitsche Update Funktion. Ab Version 2.2.51 Damit die Funktion unterbruchsfrei ausgeführt werden kann muss in Windows unter "Control Panel" → "System And Security" → "Security and Maintainance" → "Security" → "User Account Control" → "Change Settings" den Balken auf "Never Notify" gestellt werden! |
/AutoUpdateInterval=hh | Nein | Optional: Interval in Stunden für Update Check, Standartwert ist 24. |
/AutoUpdateIntervalUnit=ss | Nein | Ergibt Multipliziert mit AutoUpdateInterval die Zeitdifferenz in Sekunden. Standwartwert ist 3600 (also 1h). |
/RestartOnUpdateCheck | Nein | Startet SMT School neu bei jedem automatischen Update check. Ab Version 2.2.53. |
/AutoUpdateAndClose | Nein | Beim Ausführen wird nur der automatische Update Prozess angestossen, ansonsten schliesst sich die Software wieder. |
/MonitoringName=xyz | Nein | Name für Erkennung des SMT School Monitoring Checks |
/Priority=xyz | Nein | Prozess Priorität in Windows. Mögliche Werte: "Low", "BelowNormal", "Normal", "AboveNormal", "High", "Realtime". Ab Version 2.2.157. |
/SingleInstanceID=xyz | Nein | Identifikator für einzigartige Instanz. Werden mehrere SMT Instanzen mit demselben SingleInstanceID Wert gestartet, werden alle neuen Instanzen direkt wieder beendet. Angabe ohne Wert verwendet den AppKey als Identifikator. Ab Version 2.2.209. |
/ShowArchiveData | Nein | Datensätze, die als archiviert gekennzeichnet sind, sollen ebenfalls geladen werden. Das Archivierungs-Flag ist jeweils das Feld i_Archive auf jeder Tabelle. Wird dieses Argument nicht angegeben, dann werden nur Datensätze geladen, welche i_Archive gleich NULL haben. |
Argumente für CRM Modul (SSR)
Switch | Mehrfach | Beschreibung |
---|---|---|
/SurveyServer | Nein | Wird dies gesetzt, dann wird die Software so gestartet, dass jeweils aktuelle Umfragen versendet werden. |
/SurveyCheckRepetitionTime=Seconds | Nein | Zeit in Sekunden, die zwischen den Abfragen, ob Umfragen versendet werden sollen. Wird dies nicht angegeben, ist die Zeit auf 10 Sekunden eingestellt. |
Argumente für Signage Modul (SSG)
Switch | Mehrfach | Beschreibung |
---|---|---|
/SignageScreen=Name | Nein | Wird dies gesetzt, dann wird die Software so gestartet, dass die angegebene Bildschirminformation angezeigt wird. |
Argumente für Fakturierungs-Modul und Kassensystem (SSF)
Switch | Mehrfach | Beschreibung |
---|---|---|
/StartCheckout | Nein | Die Software soll im Kassenmodus gestartet werden. |
/LockCheckout | Nein | Die Kasse soll geschlossen werden. Es muss sich also zuerst ein Kassier anmelden. |
Argumente für Terminal Modul (SST)
Switch | Mehrfach | Beschreibung |
---|---|---|
/Terminal | Nein | Terminaldienst starten. |
/TerminalPort=Port | Nein | Netzwerkport für den Netzwerkdienst für die Anbindung von Terminals. |
Argumente für allgemeine Einstellungen (SSX)
Switch | Mehrfach | Beschreibung |
---|---|---|
/StopOnError | Nein | Beendet die Software ohne Rückfrage bei einem schweren Fehler |
/RestartOnError | Nein | Startet die Software automatisch neu bei einem schweren Fehler |
/NoSplash | Nein | Keine Anzeige des Splash-Fensters während dem Aufstarten |
/ConnectionString={connection string} | Nein | Zu verwendender Connection String (anstatt aus der Registry) |
/CsHash=hash | Nein | Connection String Hash. Erstellbar im SMT unter Help, Verschlüsseln/Entschlüsseln. Ab Version 2.2.157 |
/AppKey=Key | Nein | Registry Key, der für die Einstellungen verwendet werden soll. Dies übersteuert einen eventuellen Eintrag in "config.smt". |
/Language=Language | Nein | Spracheinstellung |
/SortCode=sortcode | Nein | Sortierdefinition |
/IniFile=Filename | Nein | Einstellungen sollen in dem angegebenen INI File gespeichert werden |
/SilentSQL | Nein | Keine SQL Fehlermeldungen anzeigen. Diese werden einfach übergangen und die Software weiter ausgeführt. Diese Option neutralisiert die Optionen /StopOnError und /RestartOnError, welche für den Fall eines Datenbankfehlers keinen Effekt mehr haben. |
/PlanningPeriodID=ID | Nein | ID der ausgewählten Planungsperiode |
/SeminarCenterID=ID | Nein | ID des ausgewählten Standortes |
/CompanyID=ID | Nein | ID des ausgewählten Unternehmens |
/LanguageID=ID | Nein | ID der ausgewählten Sprache |
/HiddenID=ID | Nein | 0 = Verborgene Elemente zeigen, 1 = Verborgene Elemente nicht zeigen |
/OrgUnitID=ID | Nein | ID der ausgewählten Organisationseinheit |
/NoOpusDebugger | Nein | Es soll auch im Fehlerfall kein Opus Debugger gestartet werden. Ein Fehlerhafter Opus Code wird dann einfach abgebrochen. |
/CommandLineOptions=filename | Ja | Hier kann ein Dateiname angegeben werden, aus welchem weitere Command Line Optionen gelesen werden sollen. Die Optionen können dort auf einer oder mehreren Zeilen angegeben werden. Die aus der Datei gelesenen Optionen werden an diesem Ort eingefügt. So kann, falls die Reihenfolge relevant ist, auch dies berücksichtigt werden. Falls nur diese angegebene Konfiguration verwendet werden soll, muss der "Start in" Parameter auf den typischerweise übergeordneten Order gesetzt werden. |
/StartupDelay | Nein | Eine Zeit in Millisekunden, die gewartet werden soll, bevor die Software effektiv startet. Dies kann z.B. benutzt werden, wenn die Datenbank auf dem selben Computer installiert ist und der entsprechende Dienst eine gewisse Zeit zum Aufstarten benötigt. |
/LogAtOpusError | Nein | Schreibt ein Logfile bei jedem Opus Fehler. |
/LogOnClose | Nein | Schreibt ein Logfile sobald die Applikation ordnungsgemäss beendet wird. |
/FastStartup | Nein | 1 = (Default) Es wird eine schnellere Startvariante gewählt, indem die Toolwindows nicht sofort geladen werden. Geeignet für Services. 0 = Es wird die Startvariante ausgeführt, mit welcher alle Toolwindows am Anfang geladen werden. Gleiche Funktion wie /NoFastStartup |
/NoFastStartup | Nein | /FastStartup wird aufgehoben. |
/InstallerOptions=options | Nein | Zusätzliche Command Line Argumente für den Aufruf des Installers. Siehe auch die Argumente SSI SMT School Installer. |
/WaitCriticalThreadTimeout | Nein | Eine Zeit in Sekunden welche angibt wie lange beim Schliessen von SMT School auf kritische Threads maximal gewartet wird. Dieses Argument wird nur berücksichtig wenn SMT School nicht Interactive ist, also z.B. als Dienst gestartet wurde. Der Standartwert ist 5 Sekunden. |
Argumente Web Server (SSX)
Switch | Mehrfach | Beschreibung |
---|---|---|
/SSLCreateCSR | Nein | Es soll ein self signed Certificate (CRT) generiert werden. Dazu müssen auch SSLCountry, SSLProvince, SSLCity, SSLOrganization, SSLHost und SSLCSRFilename angegeben werden |
/SSLCountry=country | Nein | Land für das SSL Zertifikat |
/SSLProvince=province | Nein | Provinz für das SSL Zertifikat |
/SSLCity=city | Nein | Stadt für das SSL Zertifikat |
/SSLOrganization=organization | Nein | Organisation für das SSL Zertifikat |
/SSLHost=host | Nein | Host Name für das SSL Zertifikat |
/SSLCSRFilename=filename | Nein | Filename des CSR (Certificate Signing Request) -----BEGIN CERTIFICATE REQUEST----- |
/SSLCRTFilename=filename | Nein | Filename der Zertifikatsdatei, typischerweise *.pem. Der Inhalt sieht etwa so aus: -----BEGIN CERTIFICATE----- |
/SSLCRTChainFilename=filename | Nein | Filename der Chain Zertifikatsdatei, Dies wird dann benötigt, wenn entsprechende Root-Zertifikate mitverwendet werden sollen. Eine solche Datei enthält mehrere Zertifikatsdatensätze (siehe /SSLCRTFilename) nacheinander. Die Reihenfolge muss so sein, dass das höhergestellte (Root-)Zertifikat nach dem tiefergestellten Zertifikat aufgeführt wird. Eine solche Datei kann auch als bundle bezeichnet werden. Filename der Datei für die Chain, typischerweise *.pem. Eine solche Datei sieht etwa so aus: -----BEGIN CERTIFICATE----- |
/SSLRSAFilename=filename | Nein | Filename der Datei für den privaten Schlüssel, typischerweise *.pem. Eine solche Datei sieht etwa so aus: -----BEGIN PRIVATE KEY----- |
/WebServer | Nein | Wird dies angegeben, startet die Software als Web Server und kann damit Web Service Requests über HTTP beantworten. Dazu muss mindestens auch WebPort angegeben werden. |
/SSL | Nein | Ser Web Server soll mit SSL (Secure Sockets Layer) gestartet werden. SSLCRTFilename und SSLRSAFilename können angegeben werden, sonst wird ein Zertifikat über Letsencrypt automatisch ausgestellt. |
/WebPort=port | Nein | Port, auf welchem der Web Server hören soll |
/SSLNoCertCheck | Nein | Automatische SSL Zertifikatserneuerung beim Programmstart deaktivieren. |
/DoWebServiceLogging | Nein | Standardmässig werden keine Webservices geloggt. Mit dieser Option werden Abfragen und Antworten in der Tabelle SSD_WebServiceLog gespeichert (mit /SSD/. Das Logging verlangsamt die Abfragen, weshalb dies nicht grundsätzlich gemacht werden sollte. Alternativ können Service-Abfragen anstatt mit /SSD/ mit /SSDN/ oder /SSDL/ aufgerufen werden. Die Abfragen mit SSDN werden nie geloggt, Abfragen mit /SSDL/ werden immer geloggt. So kann selektiv beim Aufruf entschieden werden, ob ein Logging notwendig ist oder nicht. |
Argumente für Source Verwaltung
Switch | Mehrfach | Beschreibung |
---|---|---|
/Repository=R | Nein | Basisverzeichnis für das Repository von Opus Code und Reports. Typischerweise wird dies innerhalb eines git-Reositorys sein. Wird dieses Argument angegeben, dann werden Änderungen in einer Verzeichnisstruktur abgelegt und nicht in der Datenbank. Beim Ausführen von Reports wird ebenfalls auf die Verzeichnisstruktur zugegriffen. So ist es möglich, dass pro User (typischerweise für technisches Personal) unterschiedliche Versionen ausgeführt werden. Dies betrifft die Module SSD (Reporting) und SSN (Qualifikation) Es ist darauf zu achten, dass zum gegebenen Zeitpunkt die Live Version wieder in die Datenbank übernommen wird. |
Argumente für SMT School Online Syncher (SPO)
Switch | Mehrfach | Beschreibung |
---|---|---|
/AutoStartTime=nn | Nein | Startet die erste Synchronisation automatisch nach dieser Anzahl Sekunden |
/RepeatTime=nn | Nein | Wiederholt die Synchronisation nach dieser Anzahl Minuten |
/SynchDocsHour=nn | Nein | Die Synchronisatino von Dokumenten wird zu dieser Stunde gemacht |
/DoRepeat | Nein | Die Synchronisation soll nicht einmalig sondern wiederholt gemacht werden |
/SynchDocs | Nein | Synchronisation von Dokumenten soll gemacht werden |
/DoSingle | Nein | Die Synchronisation soll nur einmal gemacht werden, danach stoppt das Programm |
/SourceConnectionString=tt | Nein | Connection String der Source Datenbank |
/DestinationConnectionString=tt | Nein | Connection String der Zieldatenbank |
/SynchName=tt | Nein | Name im Titel des Synchronisationsfensters |
/SOA | Nein | Daten für Absenzen werden synchronisiert |
/SOK | Nein | Daten für Kompetenzen werden synchronisiert |
/SOF | Nein | Daten für Lohnfreigaben werden synchronisiert |
/SOD | Nein | Datensatzdokumente werde synchronisiert |
/RSOA | Nein | Absenzendaten werden zurückgelesen |
/OldDB | Nein | Die Source-Datenbank ist eine ältere Version (wird in einem zukünftigen Release nicht mehr unterstützt) |
/FTPUrl | Nein | FTP Server für Dokumente |
/FTPUserName | Nein | Benutzername für FTP |
/FTPPassword | Nein | Passwort für FTP |
/FTPFolder | Nein | Verzeichnis für FTP |
/SynchStringField={Table,IDField,Field} | Ja | Die angegebenen Felder in den angegebenen Tabellen werden synchronisiert (es muss immer jeweils drei Komma-getrennte Werte geben):
|
/SynchIntField={Table,IDField,Field} | Ja | Die angegebenen Felder in den angegebenen Tabellen werden synchronisiert (es muss immer jeweils drei Komma-getrennte Werte geben):
|
Benutzerdefinierte Optionen
Es ist möglich, weitere Optionen anzugeben, welche oben nicht definiert sind. Alle Optionen können mit den Funktionen GetCommandLineArgument (Opus Funktion) und GetCommandLineArgumentList (Opus Funktion) abgerufen werden.
Automatisch definierte Werte
Es sind folgende Standardwerte verfügbar, welche mt Opus abgefragt werden können:
Switch | Mehrfach | Beschreibung |
---|---|---|
ApplicationFileName | Nein | Name der Applikationsdatei |
ApplicationPath | Nein | Pfad der Applikationsdatei |
ApplicationArguments | Nein | Vollständiger String der beim Aufruf der Applikation angegebenen Argumente. Allfällige weitere Argumente, welche von Dateien oder anderen Quellen geholt wurden, sind hier nicht dabei. |
ExecutionDirectory | Nein | Standardpfad für die Ausführung der Applikation. Dies wird typischerweise mit der Angabe von "Ausführen in..." in Links angegeben. |
SSI SMT School Installer
Command Line Argumente welche dem SSI_Installer mitgegeben werden können, diese sind mit ' -' voneinander getrennt damit sie sich von den SMT School Argumenten unterscheiden:
Switch | Mehrfach | Beschreibung |
---|---|---|
-Token=token | Nein | Access Token für die Versionsverwaltung. Wenn dieser ungültig oder nicht vorhanden ist, öffnet sich ein Fenster zur manuellen Eingabe des Tokens. |
-DownloadDirectory=filename | Nein | Vollständiger Pfad wohin die Software heruntergeladen werden soll. |
-InstallationDirectory=filename | Nein | Vollständiger Pfad wohin die Software installiert werden soll. Backups werden dabei in Zip Dateien im Installationsordner abgelegt. Existiert parallel ein Ordner mit dem Namen <InstallationsOrdnerName>_Backups, werden die Backups dort hin geschrieben. Dies soll beispielsweise bei Softwareverteilungen gemacht werden, wo Instalaltionsordner möglichst kompakt gehalten werden müssen. |
-SMTSchoolArguments=arguments | Nein | Alle SMT School Command line Argumente welche beim anschiessenden Programmstart von SMT School übergeben werden. |
-Autostart=1 | Nein | Automatischer Start des Installers beim Ausführen. Es wird 10 Sekunden gewartet um ein manuelles Abbrechen zu ermöglichen. |
-Startmenu=1 | Nein | Startmenu Verknüpfung aktivieren. |
-Desktop=1 | Nein | Desktop Verknüpfung erstellen. |
-RunAfterInstall=0 | Nein | Software nach erfolgreicher Installation nicht ausführen. |
-ConfirmInstall=1 | Nein | Software Installation nach dem Herunterladen manuell bestätigen. |
-Uninstall=1 | Nein | Programm deinstallieren |
-SkipRedist=1 | Nein | Die Überprüfung der C++ Redistributable Version nicht durchführen. (nicht empfohlen). |
-DisableUAC=1 | Nein | Windows UAC Warnung deaktivieren. |
-Close=1 | Nein | Installer nach nach Abschluss schliessen. |
-Silent=1 | Nein | Installation im Hintergrund, ohne Fenster durchführen. Die Parameter Autostart, Close, SkipDelay werden dabei aktiviert. |
-SkipDelay=1 | Nein | Verzögerung bei automatischer Installation deaktivieren. |
-SkipSymbols=1 | Nein | Das Laden von Microsoft pdb Symbolen für Error Handling überspringen. |
-InstallWacs=1 | Nein | SSL win-acme client installieren. |
-Failsafe=1 | Nein | Scheduled Task für Automatischer Start falls gecrashed einrichten. Setzt voraus, dass command.smt angezogen wird und crash-autostart.ps1 im Installationsverzeichnis liegt. |