Connexion automatique a 2 pc de productions
Neo_
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
bonjour,
je suis actuellement en stage de premiere année de BTS SIO et j'ai un petit projet a réaliser. Celui-ci est de tester la connexion entre un PC utilisateur (ou n'importe quel user peut se connecter) et deux autre PC de prod (virtuels). Dans le cas ou la connexion n'est pas établie le script doit forcer la connexion a ceux-ci sinon laisser comme c'est, après je met le script dans le gestionnaire de taches windows pour qu'il se lance a chaque démarrage du pc.
voici le script que j'ai réalisé en .bat , le problème est que je n'ais jamais fait ce genre de script... quelqu'un pourrait il m'aider a le faire fonctionner.
merci d'avance.
EDIT : Ajout des balises de code
je suis actuellement en stage de premiere année de BTS SIO et j'ai un petit projet a réaliser. Celui-ci est de tester la connexion entre un PC utilisateur (ou n'importe quel user peut se connecter) et deux autre PC de prod (virtuels). Dans le cas ou la connexion n'est pas établie le script doit forcer la connexion a ceux-ci sinon laisser comme c'est, après je met le script dans le gestionnaire de taches windows pour qu'il se lance a chaque démarrage du pc.
voici le script que j'ai réalisé en .bat , le problème est que je n'ais jamais fait ce genre de script... quelqu'un pourrait il m'aider a le faire fonctionner.
merci d'avance.
@ECHO OFF TITLE Test la connexion Rem ----------------------------------- :: On Ping ardis PING PC_ARDIS Rem ----------------------------------- :: Si errorlevel vaut 0 alors on ne touche rien IF %ERRORLEVEL% == 0 ( ECHO Informations : [connexion avec Ardis déjà établie]) Rem ----------------------------------- :: Si errorlevel vaut 1 alors tout et NUL Else IF %ERRORLEVEL% == 1 ( NET USE E: \\Nom_PC_ARDIS\ardis/PERSISTENT:yes) ECHO Informations : [vous êtes maintenant connecté avec Ardis]) Rem ----------------------------------- :: On Ping Holzma PING Nom_PC_holzma Rem ----------------------------------- :: Si errorlevel vaut 0 alors on ne touche rien IF %ERRORLEVEL% == 0 ( ECHO Informations : [connection avec Holzma déjà établie]) Rem ----------------------------------- :: Si errorlevel vaut 1 alors tout et NUL else IF %ERRORLEVEL% == 1 ( NET USE G: \\Nom_PC_Holzma\ardis/PERSISTENT:yes ECHO Informations : [vous êtes maintenant connecté avec Holzma])
EDIT : Ajout des balises de code
A voir également:
- Connexion automatique a 2 pc de productions
- Gmail connexion - Guide
- Reinitialiser pc - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Test performance pc - Guide
- Pc lent - Guide
3 réponses
Bonjour,
Ben si... vu que tu nous postes le script... c'est que tu l'as fait....... :-)
Quoi qu'il en soit, il faudra que tu sois plus précis dans ta question.
Quel est le souci rencontré ?
L'as tu testé via une invite de commande msdos ?
As tu des messages d'erreur ?
Perso, pour faire du mappage, j'utilise du vbscript.
Un truc du genre
voici le script que j'ai réalisé en .bat , le problème est que je n'ais jamais fait ce genre de script...
Ben si... vu que tu nous postes le script... c'est que tu l'as fait....... :-)
Quoi qu'il en soit, il faudra que tu sois plus précis dans ta question.
Quel est le souci rencontré ?
L'as tu testé via une invite de commande msdos ?
As tu des messages d'erreur ?
Perso, pour faire du mappage, j'utilise du vbscript.
Un truc du genre
Option Explicit Dim strDriveLetter, strRemotePath Dim objNetwork, objShell Dim CheckDrive, AlreadyConnected, intDrive ' The section sets the variables. strDriveLetter = "W:" strRemotePath = "\\serveur\www" ' This sections creates two objects: ' objShell and objNetwork and counts the drives Set objShell = CreateObject("WScript.Shell") Set objNetwork = CreateObject("WScript.Network") Set CheckDrive = objNetwork.EnumNetworkDrives() ' This section deals with a For ... Next loop ' See how it compares the enumerated drive letters ' with strDriveLetter On Error Resume Next AlreadyConnected = False For intDrive = 0 To CheckDrive.Count - 1 Step 2 If CheckDrive.Item(intDrive) =strDriveLetter _ Then AlreadyConnected =True Next ' This section uses the If = then, else logic ' This tests to see if the Drive is already mapped. ' If yes then disconnects If AlreadyConnected = True then objNetwork.RemoveNetworkDrive strDriveLetter objNetwork.MapNetworkDrive strDriveLetter, strRemotePath ' The first message box objShell.PopUp "Drive " & strDriveLetter & _ "Disconnected, then connected successfully." Else objNetwork.MapNetworkDrive strDriveLetter, strRemotePath objShell.PopUp "Drive " & strDriveLetter & _ " connected successfully." End if WScript.Quit
Neo_
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
Premièrement merci de ta réponse. le truc est que j'ai pour obligation d’écrire le script en .bat (c'est la contrainte). voici un screen de ce que j'obtiens en exécutant le programme https://i.imgur.com/G1mmriA.png
Il me semble qu'il te faut utiliser, pour les comparaisons, les EQ ou NEQ ....
Exemple :
Exemple :
if %errorlevel% eq 0 ( echo Informations : connexion avec Ardis déjà établie )
Bonsoir,
Au lieu de tester ERRORLEVEL tu peux aussi utiliser && et ||
Tes morceaux de code qui se répètent peuvent se remplacer par une fonction (:test)
Voilà ton code revu et optimisé :
Au lieu de tester ERRORLEVEL tu peux aussi utiliser && et ||
Tes morceaux de code qui se répètent peuvent se remplacer par une fonction (:test)
Voilà ton code revu et optimisé :
@ECHO OFF
TITLE Teste la connexion
Rem -----------------------------------
:: On Ping ardis
call :test "Nom_PC_ARDIS" "E:"
Rem -----------------------------------
:: On Ping Holzma
call :test "Nom_PC_Holzma" "G:"
pause
exit /b 0
:test
PING %~1 && ECHO Informations : [connexion avec %~1 déjà établie] || (
NET USE %~2 \\%~1\ardis /PERSISTENT:yes
ECHO Informations : [vous êtes maintenant connecté avec %~1]
)
goto :eof