Ma question est similaire à Running a CMD or BAT in silent mode, mais avec une contrainte supplémentaire.Masquage de la console sans perdre les flux std err/out
Si vous utilisez WshScript.Run dans vbscript, vous perdez l'accès aux flux standard in/error/out du processus. WshScript.Exec vous donne accès aux flux standards, mais vous ne pouvez pas masquer vos fenêtres. Comment pouvez-vous avoir votre gâteau (cacher les fenêtres) et le manger aussi (avoir un accès direct aux flux de la console)?
Je suis actuellement en train de penser à un exécutable C++ qui crée une nouvelle station Windows et un bureau (voir MSDN) et exécute un script spécifié dans ce nouveau bureau (je ne suis pas encore expert sur les stations Windows et les ordinateurs de bureau). cette idée peut être retardée).
Cette idée repose sur la fonctionnalité CondorUSE_VISIBLE_DESKTOP
qui, si elle est désactivée, exécute des tâches Condor dans un bureau non visible. Je n'ai pas tout à fait compris si cela nécessite un privilège élevé. Le compromis de cette approche est que votre script peut disparaître dans les limbes s'il bloque sur l'entrée de l'utilisateur.
Quelqu'un a-t-il des idées supplémentaires? Ou des commentaires sur l'approche décrite ci-dessus?
Edit:
En outre, le but de notre script est de configurer l'environnement utilisateur, donc en cours d'exécution d'un autre utilisateur, ou une tâche système prévu est pas vraiment une option (à moins que des intelligents trucs que je ne connais pas).