[Astuce] Scripter le démarrage et l'arrêt de Virtual Server 2005 (et un peu plus encore) sous Vista
Sur mon portable (de 4 Go de RAM, je veux) tourne VISTA et mes petites machines virtuelles sous Virtual Server 2005 R2. Pour savoir comment installer Virtual Server 2005 R2, je vous invite à jeter un coup d'oeil à cet article très bien fait du Laboratoire Microsoft : Installer Virtual Server 2005 R2 sous Windows VISTA.
Cependant, je ne suis pas tout le temps "fourré" dans mes machines virtuelles donc j'ai laissé le service Virtual Server en mode manuel pour pouvoir démarrer le service à loisir
Un peu fainéant, je veux scripter l'arrêt et le démarrage du service et tant qu'à faire en profiter pour scripter la désactivation et l'activation de la carte de bouclage, carte que j'utilise pour ma part exclusivement pour simuler un réseau entre mes machines virtuelles et mon PC. Et je ne compte plus le nombre de fois où j'avais ma carte désactivée alors que le service VS2005R2 était démarré et malheur, pas moyen de retrouver le réseau sur mes machines virtuelles : obligation d'arrêter les machines, démarrer la carte et redémarrer le service... J'espère que je ne suis pas le seul à avoir eu ces problèmes :-)
Voici donc les procédures.
1. Tout d'abord, la manipulation des cartes réseaux passent par l'utilitaire DevCon que vous trouverez au travers de la fiche KB de Microsoft intitulée The DevCon command-line utility functions as an alternative to Device Manager (1)
2. Le décompresser et retenir son chemin.
Pour ma part, je place devcon.exe dans system32 pour ne pas avoir à spécifier son chemin et éviter tout désagrément en cas de déplacement de répertoires .
3. A présent, il nous reste plus qu'à créer nos deux .cmd et ajouter les lignes suivantes :
- pour le fichier "Démarrer VirtualServer.cmd" :
devcon enable *msloop*
NET START "Virtual Server"
PAUSE
- pour le fichier "Arrêter VirtualServer.cmd" :
devcon disable *msloop*
NET STOP "Virtual Server"
PAUSE
NB : mettre le chemin vers devcon si besoin
4. Pour utiliser vos scripts, ne pas oublier de les lancer en mode "Administrateur" car faute à l'UAC, vous obtiendriez de beaux access denied
Astuce complémentaire : pour désactiver une autre carte réseau
1. Pour ce faire, il faut connaître tout d'abord l'identifiant de la carte.
En ligne de commande, utiliser DevCon en mode find :
<chemin_vers_dossier_de_devcon.exe>\devcon -m:\\<nom_du_pc> find * > <chemin_du_fichier_texte>
avec :
<chemin_vers_dossier_de_devcon.exe> : le chemin du répertoire contenant l'executable DevCon.exe
<nom_du_pc> : le nom netbios de votre pc
<chemin_du_fichier_texte> : le chemin du fichier dans lequel on va écrire.
2. Ouvrez le fichier texte et repérer l'ID de la carte réseau.
L'ID d'une carte réseau est constituée des éléments suivants : Gestionnaire périphérique/Propriétés de la carte réseau/Détail/Numéro d'identification du matériel. L'ID suit DEV ou _DEV
Pour ma part, cela donne DEV_1500 :
3. Exécuter alors devcon disable *DEV_xxxx*
Dans mon cas : devcon disable *DEV_1500*
Bonne continuation à tous
Pierre VIVIER-MERLE
(1) En passant, vous apprendrez comment installer une carte de bouclage via une ligne de commande. Je cite :
"
devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP
Installe une nouvelle instance de la carte de bouclage Microsoft. Cette commande crée un nouveau nœud pour les périphériques énumérés à la racine, avec lequel vous pouvez installer un « périphérique virtuel », tel qu'une carte de bouclage. Elle redémarre également l'ordinateur en mode silencieux, si nécessaire.
"