Comment faire une recherche de plusieurs DNS et les remplacer par un script VBS

kenseiden - 30 mai 2013 à 11:11
 kenseiden - 30 mai 2013 à 11:12
Bonjour à tous, et d'avance merci d'avance à tout le monde ...

Le but du jeu si on peut dire ainsi et de :
Créer un script VBS qui
-check d'abord si c'est une IP fixe
-Si au moins l'un des DNS suivant est renseignés 10.10.10.10 / 10.10.10.11
> si ok un message apparait "DNS AD trouvé"
et continue
afin de remplacer les DNS par les nouveaux 11.11.11.11, 11.11.11.12, 11.11.11.13
Et aussi les WINS 12.12.12.12 / 12.12.12.13

> si no ok le script s'arrête en affichant un message "ERREUR : impossible de mettre à jour les DNS"

Voila le script que j'ai fait mais il y a une erreur de check. Il remplace quoi qu'il arrive.

Et si possible je voudrais un résultat centraliser dans un fichier qui me donnes le nom du poste "nomdelamachine : Ok" ou "nomdelamachine : NOk"


Et encore merci

 

strComputer = "." 
Set objWMI = GetObject("winmgmts:\" & strComputer & "\root\CIMV2") 
set colNAConfig = objWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled=true") 

Function GetMultiString_FromArray( ArrayString, Seprator)
    If IsNull ( ArrayString ) Then
        StrMultiArray = ArrayString
    else
        StrMultiArray = Join( ArrayString, Seprator )
   end if
   GetMultiString_FromArray = StrMultiArray
End Function




for each objNAConfig in colNAConfig

' On Vérifie que la carte est bien en IP Fixe
If (objNAConfig.DHCPEnabled=false) Then
WScript.Echo "Carte trouvée en IP Fixe : " & objNAConfig.Caption
' On recherche si des DNS AD Fnac y sont bien configurés
If InStr("10.10.10.10, 10.10.10.11", GetMultiString_FromArray(objNAConfig.DNSServerSearchOrder, ", ")) Then
WScript.Echo  "DNS AD trouvé"
' On modifie les DNS
'  intSetDNSServers = objNAConfig.SetDNSServerSearchOrder(null)	
  intSetDNSServers = objNAConfig.SetDNSServerSearchOrder(Array("11.11.11.11", "11.11.11.12", "11.11.11.13"))
  If intSetDNSServers = 0 Then
WScript.Echo " => Serveurs DNS mis à jour: "11.11.11.11, 11.11.11.12, 11.11.11.13"
  Else
WScript.Echo "ERREUR : impossible de mettre à jour les DNS"
  End If
End If
End If
next
'WINS	

strPrimaryServer = "12.12.12.12"
strSecondaryServer = "12.12.12.13"

 
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colActiveNic objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled True")
 
For Each objItem in colActiveNic
SetWins = objItem.SetWINSServer(strPrimaryServer, strSecondaryServer)
Next
 
Set colItems objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled True")
For Each objItem in colItems
 
MsgBox "serveur WINS mis à jour : " & UCase(strComputer) & VBCr _
& objItem.Description & VBCr & VBCr _
& "WINS serveur primaire: " & objItem.WINSPrimaryServer & VBCr _
& "WINS serveur secondaire: " & objItem.WINSSecondaryServer
 
Next

1 réponse

J'ai peut être omis de dire que ce sont des postes sous XP SP3
0
Rejoignez-nous