Bonsoir,
Je souhaite définir ou changer le wins primaire et/ou secondaire à l'aide d'un script.
Mon script fonctionne quand il s'agit de rajouter un wins secondaire quand il y a déjà un wins primaire.
Mais il ne fonctionne pas quand il n'y a pas de wins déjà présent et donc créer un wins primaire, cela me retourne
l'erreur 68, paramètre invalide.
voilà le script
merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 ' VB Script Document Option Explicit Dim i Dim imprimante_port_valide Dim IPdebut Dim IPfin Dim ip_masque Dim ip_point Dim message Dim winsmemoire Dim winsprimaire Dim winssecondaire Dim winsserver Dim objAdapter Dim objAdapters Dim objWMIService '************************************ Attention a l'adresse IP des machines ( 10.xxx.xxx.xxx ou 192.xxx.xxx.xxx ) ************************************ ip_masque = "10." ip_masque = "192." ip_point = "." message = "" winsmemoire = "" winsprimaire = "10.20.30.40" winssecondaire = "10.10.10.10" winsserver = 0 Set objAdapter = Nothing Set objAdapters = Nothing Set objWMIService = Nothing Set objWMIService = GetObject("winmgmts:" & "!\\" & ip_point & "\root\cimv2") Set objAdapters = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True") For Each objAdapter in objAdapters IPdebut = LBound(objAdapter.IPAddress) IPfin = UBound(objAdapter.IPAddress) For i = IPdebut To IPfin imprimante_port_valide = InStr(1 , objAdapter.IPAddress(i) , ip_masque) If imprimante_port_valide > 0 Then WScript.Echo "Primary Server : * " & objAdapter.WINSPrimaryServer & " *" WScript.Echo "Secondary Server : * " & objAdapter.WINSSecondaryServer & " *" If (objAdapter.WINSPrimaryServer) = "" Then winsserver = objAdapter.SetWINSServer(winsprimaire,winssecondaire) Else winsmemoire = objAdapter.WINSPrimaryServer winsserver = objAdapter.SetWINSServer(winsmemoire,winsprimaire) End If ' si la variable winsserver = 0, le changement a été fait, pas la peine de rebooter ' si la variable winsserver = 1, le changement a été fait, mais il faut rebooter ' si la variable winsserver >= 2, le changement n'a pas été fait, voir la documentation de microsoft sur internet ' exemple : la valeur 91 comme erreur indique que l'acces est refusé ( acces denied ) message = message & "utilise l'adresse IP " & objAdapter.IPAddress(i) & vbCrLf & winsserver End If Next Next Wscript.Echo message Set objAdapter = Nothing Set objAdapters = Nothing Set objWMIService = Nothing
EDIT : je suis sur windows 10 pro 64 bits
Partager