Exécutez la commande WMIC sur le réseau

7

Au lieu de taper ceci dans une invite de commande une à la fois:

wmic / node: ipaddress / user: administrateur / mot de passe: le mot de passe bios obtient le numéro de série

Comment puis-je exécuter cela sur un sous-réseau entier et sortir vers un document texte? Étant donné que je le fais tous les deux mois pour vérifier notre inventaire d'ordinateurs, je suppose qu'il y aurait un moyen beaucoup plus simple de mettre cela dans un script de commandes au lieu de le faire manuellement.

C-dizzle
la source

Réponses:

13

Vous pouvez mettre une liste après node: node:ip1,ip2,ip3ou utiliser un fichier node:@file- il vous suffit donc de mettre toutes vos adresses IP dans un fichier, puis d'exécuter:

wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv

Cela suppose que l'utilisateur / mot de passe est le même sur toutes les machines.

wmz
la source
Existe-t-il un moyen de répertorier les consoles du fichier de sortie qui ont échoué? La réponse que j'obtiens de certains est "RPC indisponible" ou quelque chose comme ça, je veux savoir lesquels je dois revenir en arrière et vérifier à cause de cela.
C-dizzle du
@ C-dizzle Vous pouvez rediriger stderr vers un fichier par exemple. avec `2> log.txt` (vous pouvez l'ajouter avant wmicou ajouter à la toute fin de cmdline puis analyser cela. Vous pouvez également ajouter/failfast:on
wmz
Je ne dois pas faire cette partie correctement, pouvez-vous me donner un exemple sur la façon d'ajouter cela à ma commande?
C-dizzle
2>log.txt wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csvou wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv 2>log.txt(les deux devraient être des lignes simples)
wmz
2

Une boucle for avec une redirection de fichier fonctionnera, bien que vous souhaitiez peut-être la laisser reposer et fonctionner pendant un certain temps si vous avez plus de trous dans votre ensemble de nœuds (en d'autres termes, vous ne pouvez pas résoudre l'IP dans la boucle)

(FOR /L %s IN (1,1,254) DO wmic /node:192.96.1.%s /user:administrator /password:pass bios get serialnumber) >> c:\results.txt

Si vous prévoyez de le mettre dans un fichier de commandes, remplacez le %spar %%s. C'est tout.

Chad Harrison
la source