:: ConfigLanTo-xxxxx.cmd - Créer par Tlem le 26/02/2016 :: ConfigLanTo-xxxxx est un Batch qui permet de configurer l'emplacement :: du réseau désignée par son identifiant en Private/Public/Home. :: Batch testé sous Windows Vista, 7, 8.x et 10 :: :: LanIdx correspond à l'index de la carte réseau et permet d'automatiser :: la configuration sans demander à l'utilisateur. :: Place correspond au type d'emplacement : Private / Public / Home :: FullAuto (1 ou 0) rend le batch tout automatique si tout est renseigné. @Echo Off Cls ::======================================== :: Paramètres ::======================================== Set LanIdx= Set Place=Private Set FullAuto=1 ::======================================== ::======================================== :: Demande des droits administrateur :--------------------------------------------------------------------------------------------------------------- :GetAdminRight :--------------------------------------------------------------------------------------------------------------- REM --> Contrôle des permissions (Version 29/02/2016). >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" REM --> Si erreur, pas de droits Admin ... If '%errorlevel%' NEQ '0' ( Echo Demande des privileges administratifs ... Ping -n 2 127.0.0.1>NUL Goto UACPrompt ) Else ( Goto GotAdmin ) :UACPrompt Rem CHCP 1250 est utilisé pour les machines dont le 8.3 est désactivé et pour copier les accents. CHCP 1250>NUL Echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\Getadmin.vbs" Echo UAC.ShellExecute "cmd.exe","^/c" ^& """%~s0 %~s1""", "", "runas", 1 >> "%temp%\GetAdmin.vbs" Cscript //Nologo "%temp%\GetAdmin.vbs" Exit ::Exit /B 1 :GotAdmin If Exist "%temp%\GetAdmin.vbs" (Del "%temp%\GetAdmin.vbs") Pushd "%CD%" CD /D "%~dp0" :--------------------------------------------------------------------------------------------------------------- :--------------------------------------------------------------------------------------------------------------- :: Si l'interface est connue on passe l'écran du choix de l'interface If Not "%LanIdx%"=="" Goto :GetInterfaceName :: Affichage de la liste des interfaces reseau. netsh interface ipv4 show interface Echo. :: Choix de l'index de l'interface. Set /p LanIdx="Veuillez entrer le numero d'index de la carte a modifier : " Echo. :CheckInsterface :: Vérifie les parametres de l'interface. netsh interface ipv4 show interface %LanIdx% >NUL If errorlevel 1 ( Color 0C Echo L'index "%LanIdx%" ne correspond pas a une interface reseau valide ! Echo Appuyez sur une touche pour quitter Pause>NUL Exit ) :: Traitement des paramètres. :Go Powershell Set-NetConnectionProfile -InterfaceIndex %LanIdx% -NetworkCategory %Place% :: Ecran de temporisation, le temps que les paramètres soient appliqués. :End Cls Echo. Echo. Echo ******************************************* Echo * Mise en place des parametres en cours * Echo ******************************************* Ping -n 3 127.0.0.1>NUL Powershell Get-NetConnectionProfile :: Si on est en mode FullAuto, on ferme automatiquement la fenêtre. If /I "%FullAuto%"=="1" ( Echo Fermeture automatique dans 5 secondes. Ping -n 5 127.0.0.1>NUL Goto Quit ) Echo Appuyez sur une touche pour quitter Pause>NUL :Quit :: Fermeture du batch Exit