Ich versuche .Exec
zu verwenden, um die IP-Konfiguration einer Maschine zurückzuziehen. Von der gegebenen Ausgabe des Befehls möchte ich dann alle WLAN- und Ethernet-LAN-IPv4-Adressen oder "Medien getrennt" zurückgeben, falls sie nicht vorhanden sind. Ich bin ziemlich fest, wie man das anwendet, da Benutzer oft mehrere NICs haben können. Ich kann die Ausgabe bekommen, aber ich bin mir nicht sicher, wie ich die Ergebnisse der ipconfig
durchlaufen soll, um die Informationen zu speichern, die ich brauche.Verwenden von VBScript, um IPV4-Adressen als Variablen zurückzugeben
Set objShell = CreateObject("WScript.Shell")
StrIPConfig = "ipconfig /all"
Set IPConfig = objShell.Exec(StrIPConfig)
strText = ""
Do While Not IPConfig.StdOut.AtEndOfStream
strText = IPConfig.StdOut.Readline
If InStr(strText, "Wireless Network Connection") Then
strWLAN = IPConfig.StdOut.Readline +2
WScript.Echo strWLAN
End If
Loop
Do While Not IPConfig.StdOut.AtEndOfStream
strText = IPConfig.StdOut.Readline
If InStr(strText, "Local Area Connection") Then
strLAN = IPConfig.StdOut.Readline +2
WScript.Echo strWLAN
End If
Loop
Hat über WMI Windows-Batch-Datei oder WMI VBscript oder VBScript mit Exec
wie oben durchgeführt werden. PowerShell ist leider keine Option.
Mit 'wmic' einer WMI-Abfrage auszuführen nur die Informationen der Rückkehr Sie brauchen, ist wahrscheinlich einfacher zu sein als die Ausgabe von Parsen 'ipconfig'. Siehe http://serverfault.com/a/55437/1440 – Richard