Die Gruppenrichtlinien sind letztendlich auch nichts anderes als Werte in der Registry. Musst also nur rausfinden, welcher Richtlinie sich in welchem Wert verewigt und diesen dann direkt ändern.
2.
Habe gerade festgestellt, dass er die ersten Gänsefüßchen als Fenster-Titel annimmt.
Daher sollte start "nix" /wait <<programm>> <<parameter>> es eigentlich tun.
1.
Sind denn in der Verbindung Benutzername und Kennwort richtig eingetragen? Wenn es beim Doppelklick auf das Symbol in Netzwerkverbindungen funktioniert, sollte rasdial eigentlich auch funktionieren.
EDIT:
3.
Schau dir doch einfach die Ping-Zeiten an. Alle unter 200ms kann nicht UMTS sein...
Diese stellt die Verbindung her, startet das Programm und schließt die Verbindung nach dem Ende wieder. Eigentlich müsste Windows dann als Default-Route diese Verbindung nutzen. Falls das nicht der Fall ist, kannst du noch extra Routen über diese Schnittstelle festlegen. Meld dich einfach noch mal.
EDIT: Am besten sieht das aus, wenn du die Batch (Extension .cmd) in den Ordner des Programms packst und dann im Startmenü (bzw. auf dem Desktop) eine Verknüpfung auf die Batch erzeugst. Dann in den Eigenschaften der Verknüpfung als Symbol das Spiel auswählen (bzw. das Symbol des Spiels) und bei Ausführen "minimiert" auswählen.
Wenn die Listen sortiert sind, kannst du mit linearen Aufwand das doppelte Element finden.
Die doppelte Schleife hat den Aufwand O(n*k). Bei so wenigen Elementen würde sich das extra Sortieren also nicht lohnen.
Das einzige Problem, dass bei mehreren Threads auftritt, ist der Schreibzugriff auf gemeinsam genutzte Objekte (in dem Fall also statische Klassenmember). Lokale Variablen sind unproblematisch.
Suche => Synchronisation
Nun, dann brauchst du wohl eine neue Tabelle Arbeitszeit (Datum [PK], Arbeitsbeginn, Arbeitsende).
In dieser schlägst du für jeden involvierten Tag nach und bestimmst die Differenzen.
Berechne die Datumsdifferenz in Tagen, multipliziere sie mit der täglichen Arbeitspause (8h) und subtrahiere dies von der Zeitdifferenz in Stunden.
Um allerdings Feiertage und Wochenende auszuschließen, musst du die Tage zwischen Anfang und Ende des Auftrags daraufhin untersuchen.
Es würde sich daher anbieten, die Zeit beim Beenden eines Auftrags einmalig zu beenden und mit im Auftrag zu speichern.
In Reaktion auf das Öffenen eines Programms, aber wie? steht, wie es prinzipiell geht.
Wenn du die Benutzeranmeldung mitbekommen möchtest, musst du die Überwachung für erfolgreiche Anmeldeereignisse aktivieren. Die Ereigniscodes sollten mit einem Blick ins Log schnell zu ermitteln sein.