Netzwerkverbindungen aktivieren/deaktivieren - DOS-Befehl? Batch?

hier bitte nur *nach* Benutzen der Boardsuche (siehe oben) posten

Moderatoren: |Gordon|, Jean, Moderatoren

GreenRover
Einsteiger
Beiträge: 4
Registriert: 22.02.06, 10:32

Ich wärm den Thread mal wieder auf

Beitrag von GreenRover » 22.02.06, 10:36

Guten Morgen Leute, ich wärm den Thread mal wieder auf, habe das selbe problem.

Ich muss meien eine Netzwerk karte jeden morgen einmal deaktivieren und wieder aktiveren, damit die verbindung geht. Das nervt auf dauer und deshalb wird ich das gerne per batch im autostart machen.

Leider kommt bei mir folgendes:

Code: Alles auswählen

C:\>netsh interface set interface "N-Force" DISABLED
Mindestens ein erforderlicher Parameter wurde nicht angegeben.
Ungültige Syntax. Weitere Informationen finden Sie in der Hilfe des B

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 we
      - Ist connect = CONNECTED wird die Schnittstelle automatisch
        aktiviert, auch wenn admin = DISABLED angegeben wurde.
Es handelt sich um XP pro sp2

Oder kennt jemand dieses leidige Problem, das spiel mit dem aktivieen / deaktivieren jeden morgen überhaupt benötigt ?!

Benutzeravatar
lubot
Beiträge: 331
Registriert: 04.06.02, 9:53

Beitrag von lubot » 22.02.06, 11:18

Also mit Windows XP SP2 gehts nicht mehr. Mit SP1 gings aber noch. Mit Windows 2003 ohne und mit SP1 gehts auch. Die ticken nicht ganz richtig bei MS.

Das Problem gekenne ich nicht. Was hats du denn für Hardware? Ist der Dienst Netzwerkverbindungen auf Automatisch?

Gruß
lubot

GreenRover
Einsteiger
Beiträge: 4
Registriert: 22.02.06, 10:32

Beitrag von GreenRover » 22.02.06, 11:22

Ein hoch auf M$ :-p

Das sit eine Nvorce gigabit karte.. onboard.

Aber der Dienst war komischer weise auf manuell.

Frag mich aber nicht wiso...

Habe ihn jetzt mal auf automatisch gesetzt und gucke dann morgen mal.

Thx für dne Hinweis.

Crassus
Einsteiger
Beiträge: 5
Registriert: 23.01.06, 14:07

Beitrag von Crassus » 22.02.06, 11:24

Hier ist ein VB Script welches eine Netzwerkverbindung deaktivieren und aktivieren kann, es muss nur der "sConnectionName" angepasst werden auf die entsprechende Bezeichnung der Netzwerkverbindung:

Code: Alles auswählen

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 
Da ganze muss in eine Datei mit der Endung *.vbs gespeichert werden. Zu beachten ist das es wohl nur mit Admin Rechten funktionieren wird.

Bei jedem Aufruf ändert das Script den Zustand des Adapters!

Benutzeravatar
lubot
Beiträge: 331
Registriert: 04.06.02, 9:53

Beitrag von lubot » 22.02.06, 11:31

Du kannst anstelle von netsh DevCon nehmen. Das gibts hier.
Mit devcon find * die Netzwerkkarten ID suchen, dann mit devcon disable ID bzw devcon enable ID die Karte aktivieren oder deaktivieren.

P-Velo
Einsteiger
Beiträge: 3
Registriert: 07.06.06, 8:45

Netzwerkverbindungen aktivieren/deaktivieren - DOS-Befehl? Batch?

Beitrag von P-Velo » 07.06.06, 8:58

Hallo,
also ich habe rumgesucht und rumprobier, und es hat geklappt mit dem kleinen Tool devcon.exe (bei Microsoft unentgeldlich erhältlich)
Erstmal mit dem Befel:
devcon -r hwids pci\*
die ID der Netzwerkkarte herausfinden, dann mit dem Befehl:
devcon -r status pci\*ID der netzwerkarte*
den status nachgucken, und dann entlich
devcon -r disable pci\*ID der netzwerkkarte*
deaktivieren und mit enable aktivieren.
KLAPPT WUNDERBAR;-)

<So aber jetzt meine Frage.....
Ich habe mir 2 Batch auf dem Desktop gebaut mit dem Namen NETZWERKKARTE AN und AUS, ich will diese Befehle aber nur mit einem Batch machen;
also doppelklick: Netzwerkarte aktiv; Doppelklick Netzwerkarte deaktiv. Wie mach ich das??
MFG P-Velo
Wenn man in einer Sache Meister geworden ist, solle man bei einer anderen Sache wieder Schüler werden.

Benutzeravatar
TengriLethos
Beiträge: 276
Registriert: 15.06.02, 18:15

Beitrag von TengriLethos » 07.06.06, 9:30

Vielleicht hilft dir dieses VBScript. Es ist nicht 100%, ich muß manchmal 2-mal klicken um die Verbindung wieder zu aktivieren. Hatte noch keine Zeit, dem genauer nachzugehen und für meine Zwecke hat's gereicht. Es trennt bzw. reaktiviert die unter sConnectionName angegebene LAN-Verbindung:

Code: Alles auswählen

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
Glauben ist eine relativ einfach vermeidbare Denkweise mit hohem Potential zur Fehleinschätzung der Wirklichkeit (2w'18)

GreenRover
Einsteiger
Beiträge: 4
Registriert: 22.02.06, 10:32

Beitrag von GreenRover » 07.06.06, 10:14

naja, das script ist geil aber es ist eindeutig, das es nur einen aufruft macht..

das sucht sucht ja nur im ersten absatz die netzvwerkverbindung raus, guckt ob sie an oder aus ist und macht sie denn entweder aus oder an...

Soviel sehe ich zwar, aber kann leider kein vb um es zu erweitern...

aber als kleines workaround ne bach datei vor:

Code: Alles auswählen

lan_switch.vbs
sleep -m 1500
lan_switch.vbs

P-Velo
Einsteiger
Beiträge: 3
Registriert: 07.06.06, 8:45

Beitrag von P-Velo » 07.06.06, 11:49

das ist nicht das was ich suche......
der aktualiesiert ja nur!
Wenn man in einer Sache Meister geworden ist, solle man bei einer anderen Sache wieder Schüler werden.

GreenRover
Einsteiger
Beiträge: 4
Registriert: 22.02.06, 10:32

Beitrag von GreenRover » 07.06.06, 11:54

ähmm wer bist du ?!

steht doch alles im thread was das bringt....

es deaktiviert und aktiviert eine LAN verbindng...

P-Velo
Einsteiger
Beiträge: 3
Registriert: 07.06.06, 8:45

Beitrag von P-Velo » 07.06.06, 22:21

oh sorry leute das geht ja wohl.....
hatte vergessen "lanverbinung" in lanverbindung 3 zu ändern!
SORRY
cooles script
Wenn man in einer Sache Meister geworden ist, solle man bei einer anderen Sache wieder Schüler werden.

taurin
Einsteiger
Beiträge: 1
Registriert: 22.05.09, 9:47

Lan Deaktivieren

Beitrag von taurin » 22.05.09, 9:54

Moin, sehe gerade, dass diese Beiträge schon etwas älter sind. Vielleicht kann man mir aber trotzdem weiterhelfen.

Das Script von TengriLethos ausprobiert und funktioniert einwandfrei. Merin Problem, habe auf dem anderen Rechner eine Englische Version von Windows drauf.

Muss wohl in der 3. Zeile Enable statt Aktivieren eingeben. Funktioniert aber trozdem nicht.

Was tun ?

Jean
Beiträge: 11579
Registriert: 30.10.01, 12:41

Beitrag von Jean » 22.05.09, 11:30

>Was tun ?

ich denke, du musst das ganze Skript lokalisieren - ich glaube nicht, daß dein englisches OS Sachen wie "Netzwerkverbindungen" kennt

Antworten