LAN-Verbindung per Batch aktivieren-deaktivieren funktioniert nicht
Guten Morgen,
ich habe folgendes Phänomen, vielleicht kann ja da mal ein Batch-Guru drüber schauen.
ich verwende in einer Batch-Datei folgende Zeile:
netsh interface set interface name ="LAN3" admin=disabled
oder
netsh interface set interface LAN3 DISABLED
Führe ich diese Batch-Datei auf einem Windows 7 oder Windows Server 2003 aus,
wird die entsprechende Netzwerkverbindung deaktiviert. Führe ich dies aber auf einem OS
mit Windows XP aus kommt folgender Fehler:
C:\Public>netsh interface set interface LAN DISABLED
Mindestens ein erforderlicher Parameter wurde nicht angegeben.
Ungültige Syntax. Weitere Informationen finden Sie in der Hilfe des Befehls.
Syntax: set interface [name = ] Schnittstelle
[ [admin = ] ENABLED|DISABLED
[connect = ] CONNECTED|DISCONNECTED ]
[newname = ] Neuer Name ]
Legt Schnittstellenparameter fest.
Schnittstelle - Name der Schnittstelle
admin - Legt fest, ob die Schnittstelle aktiviert
werden soll (nur WAN).
connect - Legt fest, ob die Schnittstelle angeschlossen
werden soll (nur WAN).
newname - Neuer Name der Schnittstelle (nur LAN).
Hinweise:
- Zusätzlich zum Namen muss mindestens eine Option angegeben werden.
- Ist connect = CONNECTED wird die Schnittstelle automatisch
aktiviert, auch wenn admin = DISABLED angegeben wurde.
So ist da jetzt nun was an der Syntax falsch, ist etwas bei XP anders als bei Win 2003 oder Win 7?
Über eine Antwort freue ich mich schon.
Gruß
AzubiLE
ich habe folgendes Phänomen, vielleicht kann ja da mal ein Batch-Guru drüber schauen.
ich verwende in einer Batch-Datei folgende Zeile:
netsh interface set interface name ="LAN3" admin=disabled
oder
netsh interface set interface LAN3 DISABLED
Führe ich diese Batch-Datei auf einem Windows 7 oder Windows Server 2003 aus,
wird die entsprechende Netzwerkverbindung deaktiviert. Führe ich dies aber auf einem OS
mit Windows XP aus kommt folgender Fehler:
C:\Public>netsh interface set interface LAN DISABLED
Mindestens ein erforderlicher Parameter wurde nicht angegeben.
Ungültige Syntax. Weitere Informationen finden Sie in der Hilfe des Befehls.
Syntax: set interface [name = ] Schnittstelle
[ [admin = ] ENABLED|DISABLED
[connect = ] CONNECTED|DISCONNECTED ]
[newname = ] Neuer Name ]
Legt Schnittstellenparameter fest.
Schnittstelle - Name der Schnittstelle
admin - Legt fest, ob die Schnittstelle aktiviert
werden soll (nur WAN).
connect - Legt fest, ob die Schnittstelle angeschlossen
werden soll (nur WAN).
newname - Neuer Name der Schnittstelle (nur LAN).
Hinweise:
- Zusätzlich zum Namen muss mindestens eine Option angegeben werden.
- Ist connect = CONNECTED wird die Schnittstelle automatisch
aktiviert, auch wenn admin = DISABLED angegeben wurde.
So ist da jetzt nun was an der Syntax falsch, ist etwas bei XP anders als bei Win 2003 oder Win 7?
Über eine Antwort freue ich mich schon.
Gruß
AzubiLE
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 149754
Url: https://administrator.de/contentid/149754
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
10 Kommentare
Neuester Kommentar
Es gäbe auch ein passendes Tool von Microsoft (devcon.exe), siehe
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q311272
Du benötigst aber die Hardware-ID des Gerätes (die genaue Bezeichnung der Karte im System).
Diese findest Du heraus mit: devcon.exe hwids * | more
Das Aktivieren machst Du hiermit... devcon.exe enable HARDWAREID
Deaktivieren: devcon.exe disable HARDWAREID
Alternativ hätte ich noch ein VBS-Skript ( wenns nicht unbedingt bat sein muss):
einfach nur den "sConnectionName" anpassen
EDIT: das mit netsh funktioniert unter XP nicht ( nur bei Vista und 7) siehe hier:
http://www.pcwelt.de/start/software_os/tipps_tricks/netzwerk/2104884/ne ...
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q311272
Du benötigst aber die Hardware-ID des Gerätes (die genaue Bezeichnung der Karte im System).
Diese findest Du heraus mit: devcon.exe hwids * | more
Das Aktivieren machst Du hiermit... devcon.exe enable HARDWAREID
Deaktivieren: devcon.exe disable HARDWAREID
Alternativ hätte ich noch ein VBS-Skript ( wenns nicht unbedingt bat sein muss):
Const ssfCONTROLS = 3
sConnectionName = "LAN-Verbindung"
sEnableVerb = "&Aktivieren"
sDisableVerb = "&Deaktivieren"
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name = "Netzwerkverbindungen" then
set oNetConnections = folderitem.getfolder: exit for
end if
next
if oNetConnections is nothing then
msgbox "Couldn't find 'Netzwerkverbindungen' folder"
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing then
msgbox "Couldn't find '" & sConnectionName & "' item"
wscript.quit
end if
bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
s = "Verbs: " & vbcrlf
for each verb in oLanConnection.verbs
s = s & vbcrlf & verb.name
if verb.name = sEnableVerb then
set oEnableVerb = verb
bEnabled = false
end if
if verb.name = sDisableVerb then
set oDisableVerb = verb
end if
next
'debugging displays left just in case...
'
'msgbox s ': wscript.quit
'msgbox "Enabled: " & bEnabled ': wscript.quit
'not sure why, but invokeverb always seemed to work
'for enable but not disable.
'
'saving a reference to the appropriate verb object
'and calling the DoIt method always seems to work.
'
if bEnabled then
' oLanConnection.invokeverb sDisableVerb
oDisableVerb.DoIt
else
' oLanConnection.invokeverb sEnableVerb
oEnableVerb.DoIt
end if
'adjust the sleep duration below as needed...
'
'if you let the oLanConnection go out of scope
'and be destroyed too soon, the action of the verb
'may not take...
'
wscript.sleep 1000
einfach nur den "sConnectionName" anpassen
EDIT: das mit netsh funktioniert unter XP nicht ( nur bei Vista und 7) siehe hier:
http://www.pcwelt.de/start/software_os/tipps_tricks/netzwerk/2104884/ne ...
Zitat von @AzubiLE:
Unter Win 7 erscheint der im VB-Script angegebene Hinweis :Couldn't find 'Netzwerkverbindungen'
Wenn ich den Gesamten Pfad angeben, in dem die Netzwerkverbindungen unter Win7 sind , ändert sich nichts.
Unter Win 7 erscheint der im VB-Script angegebene Hinweis :Couldn't find 'Netzwerkverbindungen'
Wenn ich den Gesamten Pfad angeben, in dem die Netzwerkverbindungen unter Win7 sind , ändert sich nichts.
Hallo,
ich versuche auch gerade einmal den VB-Script und bekomme natürlich die gleiche Meldung unter Win7 Ultimate.
@jalba93: Gibt es für Win7 schon eine alternative Eingabe?