varnik 10 Geschrieben 1. August 2005 Melden Geschrieben 1. August 2005 Hallo zusammen, eigentlich sollte :) der Befehl netsh interface ip show interface einige Informationen über installierte und aktive Netzwerkadapter liefern. So Microsoft. Aber bei Versuchen auf mehreren Rechnern diese Informationen zu kriegen bekomme ich immer nur die Meldung, dass RRAS auf dem lokalen Computer zur Zeit nicht ausgeführt ist, was eigentlich stimmt. Die Empfehlung diesen Dienst über " net start remoteaccess" zu starten bringt mich nicht wieter, da das mit meiner Aufgabe gar nichts zu tun hat. :rolleyes: So meine Frage: Habe ich die Erklärung zu diesem Befehl in diesem netsh-Kontext richtig verstanden :suspect: oder verbirgt was sich hinter der MS-Gedanken? Zitieren
phrator 10 Geschrieben 1. August 2005 Melden Geschrieben 1. August 2005 Welche Informationen willst Du denn genau haben? Schon " netsh interface show interface " probiert? Zitieren
varnik 10 Geschrieben 1. August 2005 Autor Melden Geschrieben 1. August 2005 Es sollte so was ausgegeben werden: MIB-II Interface Information -------------------------------- Index: 65539 User-friendly Name: Local Area Connection GUID Name: {BG333345-F234-4335-25FB-43D3456B4464} Type: Ethernet MTU: 1500 ... und noch ein paar Dutzend Zeilen Mich interessieren die zwei Zeilen: GUID Name und Physical Address Statt dessen kriege ich nur RRAS-Meldung Zitieren
thorgood 10 Geschrieben 1. August 2005 Melden Geschrieben 1. August 2005 Hallo varnik, netsh interface ip show interface geht nur wenn der Routing and Remote Access Service gestartet ist. thorgood Zitieren
varnik 10 Geschrieben 1. August 2005 Autor Melden Geschrieben 1. August 2005 Hallo varnik, netsh interface ip show interface geht nur wenn der Routing and Remote Access Service gestartet ist. thorgood Hallo thorgood, genau das habe ich festgestellt. Mir ist aber wichtig, den GUID Name (den Namen, unter dem in der Registry die aktive Netzwerkkarte eingetragen ist) rauszufinden, da ich manche Einstellungen direkt in der Registry vornehmen möchte, die von jedem Windows-Befehl als ungültige betrachtet werden. Und den RRAS-Dienst kann ich nur auf einem Server installieren und starten. Ich möchte aber WindowsXP-Rechner umkonfigurieren. Ich brauche die IP-Adresse, die Subnetzmaske auf einen ungültigen Wert umzustellen, um einen möglichen IP-Adressen-Konflikt mit 100% zu vermeiden. Da bei uns verschiedene Rechner eingesetzt sind, versteckt sich die jeweilige Netzwerkkarte hinter so einem komischen Namen in der Registry. Bis jetzt musste ich den Eintrag in der Registry manuell suchen und einstellen. Aber der Mensch ist ein faules Tier. :D Zitieren
Das Urmel 10 Geschrieben 1. August 2005 Melden Geschrieben 1. August 2005 Ausgehend von der Üerlegung das eine Workstation in aller Regel nur einen TCP-Adapter installiert hat, suchst du per Script einfach nach DNSRegisteredAdapters in der Reg. Damit hast du deine GUID als Variable die du dann in weiteren Steps benutzen kannst, völlig unabhängig. Sollte dennoch ein weiterer Adapter installiert sein, dann beziehe den Index mit in deine Überlegungen, der kleinere Index sollte der erste aktive Adapter sein. Für die DNSRegisteredAdapters Zitieren
varnik 10 Geschrieben 1. August 2005 Autor Melden Geschrieben 1. August 2005 Hallo Das Urmel, danke für den Link. Die Lösung ist wirklich elegant, passt mir aber nicht, da bei meinen Rechnern dieser Schlüssel leer ist. Zitieren
thorgood 10 Geschrieben 1. August 2005 Melden Geschrieben 1. August 2005 Hast du WMI schon probiert Beispiel (NIC.VBS): On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colNicConfigs = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") For Each objNicConfig In colNicConfigs WScript.Echo VbCrLf & "Index: " & objNicConfig.Index & _ VbCrLf & "Descr: " & objNicConfig.Description & _ VbCrLf & "Mac : " & objNicConfig.MacAddress & _ VbCrLf & "SetID: " & objNicConfig.SettingID & _ VbCrLf & "IpAdr: " & objNicConfig.IPAddress(0) Next thorgood Zitieren
varnik 10 Geschrieben 2. August 2005 Autor Melden Geschrieben 2. August 2005 Allen einen schönen guten Morgen und besten Dank an thorgood. Das Skript habe ich meinen Wünschen angepasst On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colNicConfigs = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") For Each objNicConfig In colNicConfigs WScript.Echo VbCrLf & "SetID: " & objNicConfig.SettingID(0) Next und rufe dies aus meinem Skript auf. @echo off for /f "tokens=2 skip=4 delims=:" %%i in ('cscript nic.vbs') do set adapter=%%i & goto out >nul :out echo %adapter% pause Jetzt kann ich weiter machen. Danke! Zitieren
varnik 10 Geschrieben 2. August 2005 Autor Melden Geschrieben 2. August 2005 "Jetzt kann ich witer machen", habe ich gedacht. :) Leider fügt die Kommandozeile der Variable zusätzliche Leerzeichen vorn und hinten hinzu. Das Vordere habe ich mit einem Leerzeichen als "delim"-Eintrag gelöscht @echo off for /f "tokens=2 skip=4 delims=: " %%i in ('cscript nic.vbs') do set adapter=%%i & goto out >nul :out echo %adapter% pause Das Hintere bleibt aber vorhanden. Der Befehl reg add "hklm\system\currentcontrolset\services\tcpip\parameters\interfaces\%adapter%" /v "test" /t REG_SZ /d 0.0.0.0 erstellt einen neuen Schlüssel mit einem Leerzeichen hinter dem gewünschten Namen statt in einem vorhandenen Schlüssel einen Testwert zu erstellen. Wie kriege ich das Leerzeichen weg? :D Zitieren
Das Urmel 10 Geschrieben 2. August 2005 Melden Geschrieben 2. August 2005 Hier der Rest vom Thread aus dem Thorgood zitiert hat WMI und NIC Du möchtest wohl das vbcrlf rausnehmen? Zitieren
varnik 10 Geschrieben 2. August 2005 Autor Melden Geschrieben 2. August 2005 Hier der Rest vom Thread aus dem Thorgood zitiert hat WMI und NIC Du möchtest wohl das vbcrlf rausnehmen? Ich möchte die Ausgabe vom angepassten .vbs Skript von thorgood als Variable an mein Skript übergeben. Doch erscheinen neben dem ausgegebenen Wert {BG333345-F234-4335-25FB-43D3456B4464} vorn und hinten die Leerzeichen, die ich unten durch Unterstriche ersetzt habe _{BG333345-F234-4335-25FB-43D3456B4464}_ Deswegen landen meine reg-Befehle an eine falsche Stelle. Statt in einem vorhandenen {BG333345-F234-4335-25FB-43D3456B4464} - Schlüssel einen Wert zu ändern erstellt mein Skript einen neuen Schlüssel _{BG333345-F234-4335-25FB-43D3456B4464}_ mit dem gewünschten Wert. (Unterstriche ersetzen die Leerzeichen für bessere Ansicht.) Das erste Leerzeichen kann ich ausfiltern. Das hintere leider nicht. Zitieren
alexstarke 10 Geschrieben 2. August 2005 Melden Geschrieben 2. August 2005 was hälst du von Trim(variable) (vbs befehl) bzw für rechtes leerzeiuchen RTrim(variable) und für linkes LTrim(variable) Zitieren
varnik 10 Geschrieben 2. August 2005 Autor Melden Geschrieben 2. August 2005 was hälst du von Trim(variable) (vbs befehl) bzw für rechtes leerzeiuchen RTrim(variable) und für linkes LTrim(variable) Bin wie gesagt kein Programmierer und erstelle mir nur die einfachsten Skripte, die mir etwas Zeit sparen können. Mit dieser Aufgabe bin ich überfordert. Könntest du evtl. ein bisschen erläutern, was ein Trim ist. Zitieren
thorgood 10 Geschrieben 2. August 2005 Melden Geschrieben 2. August 2005 Entweder @echo off for /f "tokens=2 skip=4 delims=: " %%i in ('cscript nic.vbs') do call :out %%i :out echo _%*_ pause exit oder gleich im VBScript die Registryeinträge vornehmen On Error Resume Next Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colNicConfigs = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") For Each objNicConfig In colNicConfigs WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & objNicConfig.SettingID(0) & "\test", "0.0.0.0", "REG_SZ" Next thorgood Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.