web-dev-qa-db-fra.com

Exécuter la commande WMIC sur le réseau

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

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

Comment puis-je exécuter cela sur un sous-réseau entier et la sortie sur un document texte? Comme je le fais tous les deux mois pour vérifier notre inventaire d’ordinateurs, je suppose que j’aurais une façon beaucoup plus simple de placer cela dans un script batch au lieu de le faire manuellement.

8
C-dizzle

Vous pouvez mettre une liste après node:node:ip1,ip2,ip3 ou 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.

12
wmz

Une boucle for avec une redirection de fichier fonctionnera, mais vous voudrez peut-être la laisser reposer 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'adresse 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 envisagez de le placer dans un fichier de commandes, remplacez le %s par %%s. C'est tout.

2
Chad Harrison