2 votes

Exécution silencieuse d'un fichier batch, exécuté lors de la connexion au bureau distant

Dans notre bureau, nous utilisons des machines clientes légères Linux, qui fonctionnent très bien, à l'exception de l'absence d'IE, ce qui est pénible parce que les entreprises avec lesquelles nous travaillons sont trop stupides pour mettre à jour leurs applications Web (pas de guerre de mots, s'il vous plaît).

Pour résoudre ce problème, nous avons une machine dans notre salle informatique dans laquelle les utilisateurs se connectent à distance pour accéder à Internet Explorer, ceci est réalisé en exécutant un lot script qui ouvre IE et quand il se ferme les déconnecte, cette configuration fonctionne bien pour nous.

Même si j'ai @echo off et la fenêtre cmd n'affiche rien, je voudrais vraiment que ce fichier batch soit exécuté silencieusement, de sorte que la fenêtre cmd n'apparaisse pas du tout.

Est-ce possible ?

Le client du serveur terminal Ubuntu a une option pour lancer un fichier/application à l'ouverture de session. Existe-t-il une commande que je peux utiliser pour exécuter ce lot en silence ?

Je les ai essayés :

C:\my_batch.bat /NOCONSOLE
C:\my_batch.bat /NOWINDOW
C:\my_batch.bat /B
C:\my_batch.bat /Q

...sans succès, peut-être est-ce la façon dont je m'y prends ?

A la vôtre :-)

Modifier

La plate-forme de bureau à distance est une machine Windows XP, rien de très spécial mais pas une installation Windows Server.

3voto

smoak Points 646

Essayez peut-être

start /b my_batch.bat

le paramètre /b est utilisé pour

Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application

3voto

jammus Points 1796

Au lieu d'utiliser un fichier batch, pourquoi ne pas créer une stratégie de groupe qui force l'utilisateur Shell à être Internet Explorer. Cela devrait permettre d'obtenir le comportement que vous souhaitez sans aucun Shell du tout.

configuration de l'utilisateur -> modèles administratifs-> système -> interface utilisateur personnalisée

Une autre alternative serait de créer un vbscript et de l'utiliser via l'hôte de script de Windows au lieu d'un fichier batch. Les scripts lancés avec wscript ne génèrent pas de nouvelle fenêtre. Que fait votre fichier batch ? Il devrait être assez facile de le convertir simplement en WSH.

0voto

D.Spetz Points 2214

Si cela ne vous dérange pas que le fichier batch s'exécute à chaque fois qu'un utilisateur se connecte (c'est-à-dire via des services de terminal ou localement), alors.. :

  1. Enregistrez votre fichier .cmd à un endroit où tous les utilisateurs ont un accès en lecture seule. (par exemple, %WINDIR%)
  2. Lancez gpedit.msc à partir d'une invite de commande
  3. Naviguez vers Utilisateur > Sécurité > scripts > Connexion
  4. Ajoutez un nouveau script, et faites-le pointer vers l'endroit où vous avez enregistré votre fichier .cmd.

Le script doit s'exécuter silencieusement sans afficher une fenêtre d'invite de commande.

Si vous ne voulez pas qu'il s'exécute lorsqu'un utilisateur se connecte localement, il est probablement possible de le détecter dans votre fichier batch et d'interrompre silencieusement le script.

0voto

Reya276 Points 469

Vous ne pouvez pas exécuter un lot script caché si vous l'exécutez comme ceci. Mais c'est possible avec un peu de VBS.

Il suffit d'exécuter le fichier VBS pour que le script caché soit exécuté.

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd /C C:\my_batch.bat",0,false
Set oShell = Nothing

Voir cet article de msdn : http://msdn.microsoft.com/en-us/library/d5fk67ky%28VS.85%29.aspx

0voto

TheCentaur Points 241

L'application de bureau à distance utilise en fait ledit fichier batch comme un Shell alternatif, et je ne pense pas que des paramètres puissent être passés en utilisant cette méthode.

Je vais donc devoir vivre avec ma fenêtre de console.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X