J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 9 septembre 2008
-
7 mai 2008 à 10:56
J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 9 septembre 2008
-
7 mai 2008 à 13:02
Bonjour à tous et toutes,
Voici mon problème, actuellement en stage pour ma dernière année en Informatique de Gestion, je dois développer un petit script en VBS qui va me permettre de configurer une imprimante par défaut pour un ordinateur ! Ce script sera lancé automatiquement à l'ouverture de session, ce qui permet d'automatiser une partie d'une parc d'impression de l'école. de plus, je n'ai jamais fais de VBS et mon maître de stage me demande de me lancer la dedans !!!!
Situation :
1 - Il y a plusieurs imprimantes sur le réseau réparties dans plusieurs labo qui on chacun un range d'adresse IP différent !
2 - Chaque labo devra avoir sa propre imprimante par défaut en fonction de l'adresse IP de la machine. (160 ordinateurs répartis sur 8 labo)
A l'heure actuelle, je sais récupérer l'adresse IP de la machine et faire quelques petits tests mais rien de concluant. Comme j'effectue des recherches depuis plus d'une semaine, je commence à perdre courage et me tourne vers vous pour une aide éventuelle.
Je vous remercie d'avance et espère qu'on pourra trouver ensemble la solution !
Gilles
Voici tout de même des parties de mes ptits bouts de code :
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Affectation de l'adresse IP de la mahcine à une variable
'-----------------------------------------------------------------------------------------------------------------------------------------------
For Each objAdapter in colAdapters
If Not IsNull(objAdapter.IPAddress) Then
For i = 0 To UBound(objAdapter.IPAddress)
adresse_ip = objAdapter.IPAddress(i)
Next
End If
Next
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Initialisation des variables objets
'-----------------------------------------------------------------------------------------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")Set colAdapters objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled True")
Set WshNetwork = CreateObject("WScript.Network")
J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 9 septembre 2008 7 mai 2008 à 11:40
Bon voilà je viens de regarder à ce petit projet, mais rien de concluant car j'ai déjà ce style de code et ici on ne gère pas le fait que l'imprimante est sur le réseau et qu'on peut la configurer automatiquement par défaut en fonction de son adresse IP !!!!
J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 9 septembre 2008 7 mai 2008 à 13:02
Re à tous, voici un bout de code qui commence à prendre forme et qui fonctionne...
'###############################################################
'HAUTE ECOLE PROVINCIALE MONS BORINAGE CENTRE (HEPMBC)
'TRAVAIL DANS LE CADRE DU STAGE D'INTREGATION
'ELEVE : CATHERINE GILLES
'3EME BACHELIER EN INFORMATIQUE DE GESTION A L'IEPS DE COLFONTAINE
'ANNEEE SCOLAIRE : 2007-2008
'OBJETIF : ce script sert àconfigurer une imprimante par défaut en fonction de son adresse IP et en fonction
'du local lequel se trouve la machine
'###############################################################
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Déclarations des variables
'-----------------------------------------------------------------------------------------------------------------------------------------------
Dim WshNetwork
Dim objAdapter
Dim adresse_ip
Dim octet
Dim i
Dim longueur_ip
Dim tableau_adresse(5)
Dim adresse
Dim var_test
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Initialisation des variables
'-----------------------------------------------------------------------------------------------------------------------------------------------
adresse_ip = 0
i = 0
strComputer = "."
n = 1
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Initialisation des variables objets
'-----------------------------------------------------------------------------------------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")Set colAdapters objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled True")
Set WshNetwork = CreateObject("WScript.Network")
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Boucle qui va ajouter les ranges d'adresse IP dans un tableau
'-----------------------------------------------------------------------------------------------------------------------------------------------
For j = 0 to 5
tableau_adresse(j) = "169.254.254.25" & j
'MsgBox "Résultat ajout dans tableau : " & tableau_adresse(j)
Next
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Affectation de l'adresse IP de la mahcine à une variable
'-----------------------------------------------------------------------------------------------------------------------------------------------
For Each objAdapter in colAdapters
If Not IsNull(objAdapter.IPAddress) Then
For i = 0 To UBound(objAdapter.IPAddress)
adresse_ip = objAdapter.IPAddress(i)
Next
End If
Next
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Test pour être sur qu'il y a une connexion au serveur car si pas d'IP --> problème
'Ce test peut être facultatif mais autant le mettre
'-----------------------------------------------------------------------------------------------------------------------------------------------If adresse_ip "0.0.0.0" Or adresse_ip " " then
MsgBox "Attention, pas de configuration réseau !", vbInformation, "Pas de configuration réseau"
Wscript.Quit 'Si il y a erreur, il sort du script
End if
MsgBox "Adresse Ip : " & adresse_ip
'-----------------------------------------------------------------------------------------------------------------------------------------------
'Boucle pour lire le tableau et test pour savoir si l'adresse IP est bien dans le tableau
'-----------------------------------------------------------------------------------------------------------------------------------------------
For k = 0 to 5
If adresse_ip <> CStr(tableau_adresse(k)) then
'MsgBox "L'adresse IP n'est pas la même : " & var_test & " " & adresse_ip
Else
'MsgBox "L'addrese IP est la même : " & var_test & " " & adresse_ip
'Définition de l'imprimante par défaut
WshNetwork.SetDefaultPrinter "\\printserver\laser_31a"