Seite 1 von 1

Starten eines Skripts im interaktiven Modus, der für den Benutzer sichtbar ist

Veröffentlicht: 2. Oktober 2024 – 16:27 Uhr
von Fobrien
Hallo,

da ich neu hier bin und dies mein erster Beitrag ist, möchte ich Ihnen zunächst zu Ihrem sehr reaktionsschnellen technischen Support und insbesondere zur unkomplizierten Kommunikation mit dem Tranquil'IT-Team in diesem Forum gratulieren, wie ich beim Durchstöbern einiger Themen festgestellt habe.

Ich habe eine Frage zur Benutzerinteraktion während der Paketbereitstellung.
Konkret möchte ich ein Popup mit Windows-Benachrichtigungen anzeigen, damit der Benutzer entscheiden kann, ob er ein direktes Upgrade von Windows 10 auf Windows 11 von seinem Computer aus starten möchte (zum Beispiel abends). Ein Vollbild-Startbildschirm soll dann den Fortschritt des Vorgangs anzeigen und den Benutzer darauf hinweisen, den Computer nicht herunterzufahren.

Derzeit erreiche ich dies mit einem Workaround: Ich starte das Skript über die Anzeigemethode von „ServiceUI.exe“, die SCCM für die Interaktion aus „Sitzung 0“ verwendet, obwohl das Paket im „SYSTEM“-Kontext und nicht im „BENUTZER“-Kontext ausgeführt wird.

Ich würde jedoch gerne wissen, ob es in WAPT eine bekannte Methode gibt, dies zu erreichen, vielleicht mithilfe einer bereits existierenden Python-Funktion.

Vielen Dank im Voraus.

Betreff: Starten eines Skripts im interaktiven Modus, der für den Benutzer sichtbar ist

Veröffentlicht: 8. November 2024 - 9:17 Uhr
von Fobrien
Guten Morgen,

Nachdem ich eine Lösung gefunden habe, antworte ich auf meinen eigenen Beitrag.
Über den Befehl laufen Von setuphelpers aus müssen Sie lediglich die ausführbaren Dateien kombinieren psexec, PowerShell Und ServiceUI (wird insbesondere von SCCM verwendet) in folgender Reihenfolge:

Code: Alle auswählen

run(r'"PsExec.exe" -s powershell.exe ServiceUI.exe C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Noprofile -WindowStyle Hidden -file Script.ps1')
Diese Lösung funktioniert einwandfrei und ermöglicht die Interaktion mit dem Benutzer durch die Anzeige einer Toast-Benachrichtigung (sehr nützlich, um am Ende des Tages eine große Bereitstellung auszulösen, wie beispielsweise ein „In-Place“-Upgrade von Windows 11).

Fred

Betreff: Starten eines Skripts im interaktiven Modus, der für den Benutzer sichtbar ist

Veröffentlicht: 8. November 2024 - 10:15 Uhr
von Sfonteneau
Oh je, Entschuldigung, Ihre Nachricht scheint verloren gegangen zu sein

Man kann es auch so machen:

Code: Alle auswählen

from waptservice.enterprise import get_active_sessions,start_interactive_process
for session_id in get_active_sessions():
    start_interactive_process(makepath(install_location('WAPT_is1'), 'waptmessage.exe'), 'message', session_id=session_id,minimize=True)

Betreff: Starten eines Skripts im interaktiven Modus, der für den Benutzer sichtbar ist

Veröffentlicht: 8. November 2024 - 10:37 Uhr
von Fobrien
Hallo Simon,

kein Problem, ich hatte schon vermutet, dass diese Funktion in den Setup-Helferfunktionen nicht standardmäßig enthalten ist.
Vielen Dank für den Hinweis, ich kannte diese Funktion noch nicht und werde sie auf jeden Fall berücksichtigen.

Fred