Ein AutoIt-Skript als lokaler Administrator ausführen?

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

13. Juni 2018 - 16:55 Uhr

Hallo,

ich komme mit WAPT gut voran und erstelle und modifiziere bestehende Pakete.

Für Schulungszwecke muss ich eine Anwendung installieren, die beim ersten Start (und nur dann) die Eingabe von Name, Organisation und Seriennummer erfordert.

Ich habe bereits verschiedene Ansätze erfolglos versucht:
- Erstellung eines RegShots vor und nach der Eingabe der Seriennummer und anschließender Export in eine .reg-Datei
- Stille Ausführung der .reg-Datei nach der Installation (über die Funktion `def install()` im WAPT-Paket): Die Software wird nicht aktiviert... Möglicherweise wurden nach der Lizenzeingabe weitere Dateien geändert oder erstellt.

Ein weiterer Test:
Installation der Anwendung über WAPT mit AutoIt - Ausführung
eines AutoIt-Skripts in der WAPT-Funktion `def install()`, um die Anwendung zu starten und die Tastatureingabe zu simulieren...
Das Programm wird erfolgreich installiert, aber das Problem ist, dass das AutoIt-Skript unter dem Systemkonto ausgeführt wird... und das Programm scheint das Skript nicht zu erkennen, wenn es unter dem Systemkonto gestartet wird.

In meinem AutoIt-Skript habe ich den Start des Programms als lokaler Administrator erzwungen.
Es wird korrekt in den Prozessen angezeigt, aber mein AutoIt-Skript (ausgeführt als Systemkonto) wird nicht ausgeführt.
Im Endeffekt läuft ein Programm als lokaler Administrator und ein Skript in der Warteschlange als Systemkonto.
Beide als Systemkonto auszuführen, behebt das Problem nicht.

Ich habe im Python-Skript keine Option gefunden, um die Ausführung als Administrator zu erzwingen.

Gibt es vielleicht eine einfachere Methode?

PS: Wenn ich die Software normal installiere und mein AutoIt-Skript anschließend manuell als Administrator ausführe, funktioniert die Aktivierung.

Vielen Dank für alle Vorschläge. ;)
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

14. Juni 2018 – 13:45 Uhr

Hallo,
ich konnte den Softwarehersteller kontaktieren, der mir soeben eine an meine Lizenz und meine Institution angepasste Lizenzdatei zur Verfügung gestellt hat.
Das Kopieren und Einfügen der Lizenzdatei an den richtigen Ort (über `def install()`) sollte also funktionieren.

Ich teste es gerade und melde mich wieder. ;)
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

14. Juni 2018 – 15:56 Uhr

Immer noch nichts... Der Herausgeber hat mir zwar eine Lizenzdatei zur Verfügung gestellt... aber sie muss einmal gestartet werden, um sie zu aktivieren... schlimmer noch, es öffnet sich ein Dialogfeld... das ich erst schließen muss, bevor ich endlich sehe, dass die Software aktiviert ist... Ich suche weiter, aber mir gehen langsam die Ideen aus :rollen:
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

14. Juni 2018 – 18:13 Uhr

Zwei mögliche Lösungen? 1.

Einen interaktiven geplanten Task erstellen, der die Installation startet; meiner Meinung nach funktioniert die Tastaturemulation darin.
Eine weitere Möglichkeit:

Einen interaktiven Windows-Dienst erstellen, der die Installation startet, und diesen dann ausführen.

Beide Lösungen sind unschön…

Ich kann weder `runas` noch `psexec` als Systemkonto verwenden.

Eine weitere Lösung:

Ich habe gesehen, wie ein Freund das gemacht hat.

Administrator-Benutzername und -Passwort in AutoIt integrieren (ich weiß, dass es möglich ist).
Die AutoIt-Installation in einer `session_setup` starten; AutoIt wird dann automatisch als Administrator gestartet.

Allerdings… ist es einfach, das Passwort aus AutoIt auszulesen…

Simon
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

15. Juni 2018 - 08:49 Uhr

Danke für die Vorschläge.

Ich habe eine Idee, bin mir aber nicht sicher, ob sie mit WAPT umsetzbar ist:
– Stille Installation des Programms über WAPT (SYS-Konto)
– im WAPT-Paket: `def install()`: Erstellung eines interaktiven geplanten Tasks beim Anmelden des Administratorkontos
– in diesem Task: Öffnen der AutoIt-Datei, Starten des Programms + Tastatursimulation
– anschließend in AutoIt: Löschen des geplanten Administrator-Tasks + Löschen der AutoIt-Datei selbst … + Neustart.

Wäre eine Sitzungseinrichtung vielleicht einfacher? (Ich habe die Sitzungseinrichtung noch nicht getestet.)

Was meinst du?
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

15. Juni 2018 - 09:41 Uhr

Ich habe gerade session_setup ausprobiert: Für meinen lokalen Administrator funktioniert es einwandfrei... aber das Problem ist, dass es auch für meine Domänenbenutzer ausgeführt wird.

Im Idealfall muss die Sitzungseinrichtung nur einmal vom Administrator gestartet werden, und das war's.

Das Dokument stellt eindeutig fest, dass "Die Sitzungseinrichtung für jedes Paket wird nur einmal pro Paket bzw. Paketversion und pro Benutzerprofil ausgeführt"...Ich muss einen Weg finden, session_setup zu deaktivieren, nachdem es vom Administrator gestartet wurde...".

Aktuell in meiner session_setup():

Code: Alle auswählen

run(r'....\fichier_autoIT_activation_logiciel)
Endziel: session_setup():

Code: Alle auswählen

run(r'....\fichier_autoIT_activation_logiciel)
"desactiver le session_setup"
"suppression du fichier fichier_autoIT_activation_logiciel"
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

15. Juni 2018 - 11:13 Uhr

Am einfachsten ist es, eine Bedingung in der Sitzungseinrichtung hinzuzufügen.

Code: Alle auswählen

if get_current_user() == u'Administrateur':
         run(r'....\fichier_autoIT_activation_logiciel)
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

15. Juni 2018 – 16:51 Uhr

Puh! Ich hab's endlich geschafft!

Danke für den Tipp zu session_setup und get_current_user() ;)

In meiner def install() installiere ich die Software.

In session_setup():

Code: Alle auswählen

if get_current_user() == u'Administrateur':
         run(r'....\fichier_autoIT_activation_logiciel)
         delete_ay_next_reboot("C:\xxxxx\fichier_autoIT_activation_logiciel")
Ich habe aus all dem eine ganze Menge gelernt :)
Ich habe ein zweites Softwareprogramm vom gleichen Typ, ich werde es damit noch einmal versuchen und sehen, was dabei herauskommt.

Gelöst!
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Gesperrt