Obtenir le nom de l'Interface, de l'IP et MAC en ligne de Commande de Windows
Je veux obtenir une liste de toutes les interfaces IP et l'adresse MAC sur une machine. J'ai assez peu de machines pour obtenir cette information à partir de (autour de 600) et je ne peux pas utiliser un fichier de commandes sur les appareils. Je voudrais envoyer la commande et obtenir un écho de sortie.
Toutes les infos dont j'ai besoin est dans ipconfig /all
mais je ne suis pas sûr de la façon d'aller sur l'analyse qu'avec une boucle for. Je suis tout nouveau complexe d'une boucle. En fait, j'ai besoin d'obtenir en une seule ligne de sortie si possible. Des suggestions?
hostname, interface1 name, IP, Mac, interface2 name, ip mac,...
etc.
EDIT:
J'ai eu un peu de chance avec le WMIC
des résultats, mais je vais avoir des problèmes à obtenir pour afficher correctement dans un fichier. Si j'exécute ces.
wmic computersystem get name
wmic nic where netenabled=true get netconnectionID
wmic /output:C:\wmictest.csv nicconfig where IPEnabled=True get ipaddress, macaddress /format:csv
Ma sortie ne montre pas la netconnectionID
. Aussi le fichier de sortie comme une ligne vide avant le texte. pas une grosse affaire, mais est impair. Toutes les suggestions sur la façon d'obtenir toutes les infos dans le fichier correctement? voici mon exemple de sortie.
Node,IPAddress,MACAddress
U8001674-TPL-A,{10.91.35.84;fe80::52b:9817:6bbf:dca4},F0:1F:AF:2A:5E:B5
- Commencez avec
for /F "tokens=1* delims=:" %G in ('ipconfig /all') do @echo %G %H
pour voir un exemple. en Savoir plus .... Ensuite, vous pouvez remplacer ce trop simple@echo %G %H
avec plusieurs commandes dans votre boucle FOR. Hésitez pas à mise à jour de votre question avec des réalisations concrètes et de poser de plus en plus dans le cas où vous grue à quelque chose. - Regarder dans
wmic nicconfig /?
de faire quelque chose comme ceci:wmic /node:remotePCnetname_or_IP /user:domain\admin /password:domainAdminPass nicconfig where 'DNSDomain like "%.%" get MACAddress, IPAddress, DNSHostName /format:csv
(mais le sel au goût). Ce n'est pas la réponse ultime, mais c'est votre chemin pour trouver votre propre réponse. Donnez à un homme un poisson et il mangera un jour; apprends-lui à utiliser l'Internet, et il ne vous dérange pas pendant des semaines. --Steven Wright - Mon problème avec une boucle sur la commande ipconfig /all est de savoir comment obtenir des jeux de données différents pour chaque ligne. le wmic est plus proche, mais je ne suis pas sûr de la façon de combiner les deux requêtes. 'wmic nic obtenir netconnectionID" cela va me faire de l'interface noms, mais cela me met l'IP et Mac que j'ai besoin et ne me montre le permis interfaces afin qu'elle se débarrasse de l'server 2008 tunnel indésirable. 'wmic nicconfig où IPEnabled=True obtenir ipaddress, macaddress" Si je peux obtenir ces combiné ça me prend beaucoup plus proche d'une sortie que je peux les jeter dans excel et de déposer une macro sur.
- Une autre mise à jour. Donc, ces trois commandes sont ce que j'ai besoin de comprendre comment les mettre ensemble. Je ne me dérangerait pas si le nom d'hôte est sur chaque ligne. wmic computersystem obtenir le nom wmic nic où netenabled=true obtenir netconnectionID wmic nicconfig où IPEnabled=True obtenir ipaddress, macaddress
Vous devez vous connecter pour publier un commentaire.
Ici est un
wmic
solution obtenue avececho =!HostName!,!NetConID!,!IP_Addrs!,!MAC_Addr!
avec une ligne pour chaque carte de l'ordinateur local (ne peut pas essayer les adaptations nécessaires à l'exécution sur une machine distante):Une autre solution d'analyse semi-linéaire de sortie de
ipconfig /ALL
et donne des résultats plus proches des précédenteswmic
comme suit:Je voudrais utiliser:
wmic nicconfig where "IPEnabled = True" get ipaddress
... et les choses que vous souhaitez obtenir. Il n'y a pas besoin d'analyser de sortie.