Page 1 sur 1

Lancement d'un script en mode interactif visible pour l'utilisateur

Posté : 02 oct. 2024 - 16:27
par fobrien
Bonjour,

Etant tout nouveau ici et étant donné qu'il s'agit de mon premier post, je tenais tout d'abord à vous féliciter pour le support technique très réactif et surtout l'interaction assez aisée avec les collaborateurs de Tranquil'IT sur ce forum, d'après ce que j'ai pu constater en parcourant quelques sujets.

J'avais une question concernant les interactions avec les utilisateurs lors du déploiement de paquets.
En effet, je souhaite afficher une popup en utilisant les "toast notifications" de Windows afin que l'utilisateur puisse décider de déclencher une mise à niveau "in place" de Windows 10 vers Windows 11 depuis son ordinateur (en partant le soir par exemple) puis un "splashscreen" en plein écran affichera ensuite l'état d'avancement de l'opération en indiquant de ne pas éteindre l'ordinateur.

Actuellement, je parviens à réaliser cela via une solution de contournement consistant à lancer le script via la méthode d'affichage du "ServiceUI.exe" utilisé par SCCM pour interagir depuis la "Session 0" alors que le paquet est exécuté dans un contexte "SYSTEM" et non "USER".

Cependant, je voulais savoir si une méthode était connue dans WAPT pour réaliser cela via une fonction en Python déjà prévue à cet effet par exemple.

Merci d'avance.

Re: Lancement d'un script en mode interactif visible pour l'utilisateur

Posté : 08 nov. 2024 - 09:17
par fobrien
Bonjour,

Ayant trouvé une solution, je réponds à mon propre post.
Via la commande run du setuphelpers, il suffit de combiner les exécutables psexec, powershell et ServiceUI (utilisé notamment par SCCM) dans l'ordre suivant :

Code : Tout sélectionner

run(r'"PsExec.exe" -s powershell.exe ServiceUI.exe C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Noprofile -WindowStyle Hidden -file Script.ps1')
Cette solution fonctionne à merveille et permet d'interagir avec l'utilisateur en lui affichant une Toast Notification (très utile pour déclencher un gros déploiement en fin de journée tel qu'une mise à niveau "in place" de Windows 11 par exemple).

Fred

Re: Lancement d'un script en mode interactif visible pour l'utilisateur

Posté : 08 nov. 2024 - 10:15
par sfonteneau
oups désolé votre message est passer a la trappe

Vous pouvez faire comme ceci aussi :

Code : Tout sélectionner

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)

Re: Lancement d'un script en mode interactif visible pour l'utilisateur

Posté : 08 nov. 2024 - 10:37
par fobrien
Bonjour Simon,

Pas de soucis, je me suis dit que cette possibilité n'était peut-être pas offerte nativement parmi les fonctions du setuphelpers.
Merci beaucoup pour ce retour, je ne connaissais pas cette fonction que je garde précieusement.

Fred