Bonjour,

j'ai un petit souci avec un script en bat, celui-ci s’exécute mal sur les postes clients.
Enfin il s’exécute de manière aléatoire sans raison vraiment apparente, il fonctionne avec un clic droit et exécuter en tant qu'administrateur, alors qu'avec une ouverture de session, les il me semblait que les scripte s’exécutaient déjà en tant qu'admin.....
Je voudrais le mettre en vb pour voir si ça passerait mieux, mais je n'en n'ai pas les compétences.
j’aimerais donc savoir si il existe un convertisseur qui prendrait le codage de fichier bat vers un vbs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
:CheckOS
IF (%PROCESSOR_ARCHITECTURE%)==(AMD64) (GOTO 64-Bit) ELSE (GOTO 32-Bit)

:64-Bit
set reg_path=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources
set reg_key=toto
set reg_type=REG_SZ
set reg_value=SQL Server
FOR /f "tokens=3" %%i IN ('reg query "%reg_path%" ^| find "%reg_key%"') DO FOR /f %%j IN ('echo "%%i" ^| find /c "%reg_value%"') DO (IF %%j == 0 (GOTO FILE))

regedit /s "\\serveur\partage\toto64.reg"

GOTO FILE

:32-Bit
set reg_path=HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources
set reg_key=toto
set reg_type=REG_SZ
set reg_value=SQL Server
FOR /f "tokens=3" %%i IN ('reg query "%reg_path%" ^| find "%reg_key%"') DO FOR /f %%j IN ('echo "%%i" ^| find /c "%reg_value%"') DO (IF %%j == 0 (GOTO FILE))

regedit /s "\\serveur\partage\toto32.reg"

GOTO FILE

:FILE
IF EXIST "C:\appli\toto.exe" (GOTO ICO) ELSE (GOTO 1)
:1
xcopy /e /s /v "\\serveur\partage\*.*" "c:\appl\*.*" /y

:ICO

IF EXIST "%USERPROFILE%\Bureau" (GOTO PRF1) ELSE (GOTO PRF2)
:PRF1
IF EXIST "%USERPROFILE%\Bureau\toto.lnk" GOTO END
copy "\\serveur\partage\toto.lnk" "%USERPROFILE%\Bureau\"
GOTO END

:PRF2
IF EXIST "%USERPROFILE%\Desktop\toto.lnk" GOTO END
copy "\\serveur\partage\toto.lnk" "%USERPROFILE%\Desktop\"
GOTO END

:END
EXIT /B
Si quelqu'un connait l'astuce....

:)