Détection d'un reséau et lancement d'un script

Maveric33 Messages postés 4 Statut Membre -  
Maveric33 Messages postés 4 Statut Membre -
Bonjour all,

Voilà depuis quelques jours que je travaille sur un batch de détection de réseaux.

Objectif : Créer un script de détection de réseaux me permettant de mapper les lecteurs réseau selon le site

Ma société a actuellement 2 sites que nous appellerons CAU et CHY. Ces 2 sites utilisent chacun 1 sous-réseau spécifique relié entre eux par un VPN. Les PC contenus sur ces 2 sites sont emmenés à être déplacé de l'un à l'autre.Les comptes utilisateur sont génériques pour les 2 sites. J'ai actuellement déjà créé les 2 scripts de mappage lecteur réseaux.

CAU : 192.168.100.0/24
CHY : 192.168.200.0/24

Contrainte:
- On ne peut pas se servir des comptes utilisateur comme référence
- On ne peut pas différencier les sites avec les contrôleurs de domaine
- Les PC ont souvent plusieurs cartes réseau

Idée schématisée du script
-------------------------
Y a t'il une IP qui correspond a mon réseau CAU => Oui je lance alors le script CAU mappage
Y a t'il une IP qui correspond a mon réseau CHY => Oui je lance alors le script CHY mappage
Sinon je ferme mon script

Batch ou vbs n'a pas d'importance pour moi. J'ai travaillé sur un batch, car ne maitrisant aucun des 2 j'ai alors fait au plus simple.

@echo off

for /F "delims=," %%i in ('ipconfig /all^|find "192.168.100"') do set ADRIP=CAU

for /F "delims=," %%i in ('ipconfig /all^|find "192.168.200"') do set SITE=CHY

echo %SITE%

If SITE=="CAU" \\controleurAD\netlogon\mappageCAU else goto manuel
If SITE=="CHY" \\controleurAD\netlogon\mappageCHY else goto manuel

:manuel
set /p optionMenu="Site CAU ou CHY ? "
if "%optionMenu%"=="cau" goto CAU
if "%optionMenu%"=="chy" goto CHY
goto eof

:CAU
Echo CAU
\\controleurAD\netlgon\mappageCAU
goto eof

:CHY
Echo CHY
\\controleurAD\netlgon\mappageCHY
goto eof

:eof



Je pense qu'il me manque un système de conditions, car il ne vérifie pas le résultat et affecte la valeur de la variable SITE dans l'ordre sur script.

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    la boucle for me semble inutile puisqu'il suffit de détecter 1 adresse
    set SITE=inconnu
    ipconfig /all | find "192.168.100" > NUL
    if %ERRORLEVEL% EQU 0 set SITE=CAU
    ipconfig /all | find "192.168.200" > NUL
    if %ERRORLEVEL% EQU 0 set SITE=CHY
    ...
    If "%SITE%"=="CAU" (\\controleurAD\netlogon\mappageCAU) else (goto manue)l
    If "%SITE%"=="CHY" (\\controleurAD\netlogon\mappageCHY) else (goto manuel)
    ...
    voir help if pour la syntaxe de if ..else sur la même ligne
    1
  2. Maveric33 Messages postés 4 Statut Membre
     
    Super merci beaucoup pour ton aide dubcek

    Ayant des problèmes sur les le sous-réseau j'ai donc choisi d'indiquer ma recherche entrant l'ip de la passerelle

    Script final

    @echo off
    
    set SITE=0
    ipconfig /all | find "192.168.100.1" > NUL
    if %ERRORLEVEL% EQU 0 set SITE=CAU
    ipconfig /all | find "192.168.200.1" > NUL
    if %ERRORLEVEL% EQU 0 set SITE=CHY
    
    If "%SITE%"=="CAU" (\\controleurAD\netlogon\MappageCAU.vbs)
    If "%SITE%"=="CHY" (\\controleurAD\netlogon\MappageCHY.vbs)
    If "%SITE%"=="0" goto manuel
    
    goto eof
    
    :manuel
    set /p optionMenu="Site CAU ou CHY ? "
    if "%optionMenu%"=="cau" goto CAU
    if "%optionMenu%"=="chy" goto CHY
    goto erreur
    
    :CAU
    \\controleurAD\netlogon\MappageCAU.vbs
    goto eof
    
    :CHY
    \\controleurAD\netlogon\MappageCHY.vbs
    goto eof
    
    :erreur
    echo erreur dans la saisie merci d'entrer le site "cau" ou "chy"
    goto manuel
    
    :eof
    


    Dernier problème je dois trouvé le moyen d'appeler mon fichier vbs sans qu'il me demande l'autorisation de l'exécuter. Car actuellement le Windows m'affiche un message d'avertissement.
    0