j'ai créé un script qui va chercher les eventlogs sur mon poste et les placent dans une base de données. Je souhaite étendre ce script et balayer tous les postes clients qui sont sur mon réseau pour pouvoir récupérer les fichiers évènements de chacun d'eux. Comment faire pour connaitre le nom des postes et quelle est la boucle à rajouter .
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Barathon [MS]
Il existe mille et une manières de recenser les noms des postes d'un réseau, selon l'organisation de ce réseau: interrogation de la base WINS, DNS, DHCP, de l'AD, etc... Si tous les postes sur ton réseau sont des stations Windows, tu peux te passer de connaître leurs noms et simplement balayer les adresses IP sur la ou les plages IP de ton réseau. Par exemple, si tous tes postes ont des adresses comprises entre 192.168.0.1 et 192.168.0.254, tu peux faire ceci:
--- couper ici --- For node = 1 to 254 strComputer = "192.168.0." & CStr(node)
response = ping(strComputer) ' la réponse à la commande ping est analysée en recherchant une chaîne précise ' adapter la recherche selon la langue de l'OS (ici en anglais, "received = 0") intNoAnswer = instr(response," Received = 0") If intNoAnswer = 0 Then Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
' ajouter ici les actions à réaliser sur l'ordinateur distant
End If Next
Function ping(strTarget) Set objShell = WScript.CreateObject("WScript.Shell") cmdline = "ping -w 50 -n 2 " & strTarget Set objExCmd = objShell.Exec(cmdline) ping = objExCmd.StdOut.ReadAll End Function --- couper ici ---
A partir de ce canevas, tu peux facilement imbriquer des boucles pour parcourir un réseau plus vaste. Ce n'est qu'un exemple, à toi de l'adapter!
Jacques
"momo66" wrote in message news:
j'ai créé un script qui va chercher les eventlogs sur mon poste et les placent dans une base de données. Je souhaite étendre ce script et balayer tous les postes clients qui sont sur mon réseau pour pouvoir récupérer les fichiers évènements de chacun d'eux. Comment faire pour connaitre le nom des postes et quelle est la boucle à rajouter . Merci
Il existe mille et une manières de recenser les noms des postes d'un réseau,
selon l'organisation de ce réseau: interrogation de la base WINS, DNS, DHCP,
de l'AD, etc...
Si tous les postes sur ton réseau sont des stations Windows, tu peux te
passer de connaître leurs noms et simplement balayer les adresses IP sur la
ou les plages IP de ton réseau. Par exemple, si tous tes postes ont des
adresses comprises entre 192.168.0.1 et 192.168.0.254, tu peux faire ceci:
--- couper ici ---
For node = 1 to 254
strComputer = "192.168.0." & CStr(node)
response = ping(strComputer)
' la réponse à la commande ping est analysée en recherchant une chaîne
précise
' adapter la recherche selon la langue de l'OS (ici en anglais,
"received = 0")
intNoAnswer = instr(response," Received = 0")
If intNoAnswer = 0 Then
Set objWMIService = GetObject("winmgmts:\" & strComputer &
"rootcimv2")
' ajouter ici les actions à réaliser sur l'ordinateur distant
End If
Next
Function ping(strTarget)
Set objShell = WScript.CreateObject("WScript.Shell")
cmdline = "ping -w 50 -n 2 " & strTarget
Set objExCmd = objShell.Exec(cmdline)
ping = objExCmd.StdOut.ReadAll
End Function
--- couper ici ---
A partir de ce canevas, tu peux facilement imbriquer des boucles pour
parcourir un réseau plus vaste. Ce n'est qu'un exemple, à toi de l'adapter!
Jacques
"momo66" <momo66@discussions.microsoft.com> wrote in message
news:6F61328A-2273-41EE-B1FF-87FA6448B717@microsoft.com...
j'ai créé un script qui va chercher les eventlogs sur mon poste et les
placent dans une base de données. Je souhaite étendre ce script et balayer
tous les postes clients qui sont sur mon réseau pour pouvoir récupérer les
fichiers évènements de chacun d'eux. Comment faire pour connaitre le nom
des postes et quelle est la boucle à rajouter .
Merci
Il existe mille et une manières de recenser les noms des postes d'un réseau, selon l'organisation de ce réseau: interrogation de la base WINS, DNS, DHCP, de l'AD, etc... Si tous les postes sur ton réseau sont des stations Windows, tu peux te passer de connaître leurs noms et simplement balayer les adresses IP sur la ou les plages IP de ton réseau. Par exemple, si tous tes postes ont des adresses comprises entre 192.168.0.1 et 192.168.0.254, tu peux faire ceci:
--- couper ici --- For node = 1 to 254 strComputer = "192.168.0." & CStr(node)
response = ping(strComputer) ' la réponse à la commande ping est analysée en recherchant une chaîne précise ' adapter la recherche selon la langue de l'OS (ici en anglais, "received = 0") intNoAnswer = instr(response," Received = 0") If intNoAnswer = 0 Then Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
' ajouter ici les actions à réaliser sur l'ordinateur distant
End If Next
Function ping(strTarget) Set objShell = WScript.CreateObject("WScript.Shell") cmdline = "ping -w 50 -n 2 " & strTarget Set objExCmd = objShell.Exec(cmdline) ping = objExCmd.StdOut.ReadAll End Function --- couper ici ---
A partir de ce canevas, tu peux facilement imbriquer des boucles pour parcourir un réseau plus vaste. Ce n'est qu'un exemple, à toi de l'adapter!
Jacques
"momo66" wrote in message news:
j'ai créé un script qui va chercher les eventlogs sur mon poste et les placent dans une base de données. Je souhaite étendre ce script et balayer tous les postes clients qui sont sur mon réseau pour pouvoir récupérer les fichiers évènements de chacun d'eux. Comment faire pour connaitre le nom des postes et quelle est la boucle à rajouter . Merci