Problème batch simple [Résolu/Fermé]

Signaler
-
 vigoo -
Bonjour,

J'ai un batch qui fonctionne uniquement sur mes postes XP 32 bits et pas ceux sous 7 64Bits.
Sous 7 si je l'exécute de son emplacement réseau, aucun soucis, en local également, mais dans une GPO (qui fonctionne) ça ne passe plus.

Le voici:

if %SESSIONNAME%==Console (goto :debut) else ( goto :fin)
:debut
echo debut > \\192.168.0.1\test\test.txt
:fin
echo fin > \\192.168.0.1\test\test.txt

Par contre, la GPO est bien appliqué, si je retire la ligne IF, le script fonctionne...

J'ai essayer avec:

if %SESSIONNAME%==Console goto :debut
goto :fin

Et d'autre syntaxe, bref... Need help ^_^
Merci.


2 réponses

Messages postés
3003
Date d'inscription
vendredi 18 juin 2004
Statut
Contributeur
Dernière intervention
7 mars 2018
367
Bonjour,

La réponse est quelque part par là :

https://social.technet.microsoft.com/Forums/scriptcenter/en-US/29d4caf3-2b3f-4cba-8fe0-14972cdfcb99/sessionname-variable-issue-with-windows-server-2008?forum=ITCG

%SessionName% sous XP/2003 et Win7/2008 : comportement différent.

En bref, sous XP/2003 , la variable est hardcodée.
Sous 2008 (et donc win7) c'est différent, il faut la chercher dans la registry.

Using a registry "compactor" on top of a registry "cleaner" would be equivalent to rinsing your throat with a swig of Jack Daniels after swallowing a pint of snake oil....
Merci, je regarde ça.
J'ai pu résoudre mon problème en le contournant avec ceci:

tasklist | findstr /I RDP-Tcp >NUL
if %errorlevel% EQU 0 goto :fin

car dès que la variable %sessionname% est lancé, la GPO foire.