Fakt, to jest odpowiednik tych poleceń (zapomniałem o nich). Tam w linku, który podałem wyżej jest napisane, że one służą do zwalniania i odnawiania dzierżawy DHCP (dodam tutaj w odpowiedzi na Twoje pytanie, że nie wiem, czy jest jakaś polska dokumentacja WMI).
Czy da się wyłączyć dany interfejs sieciowy przez rejestr? Nie wiem (na 99% nie). Wczoraj szukałem jak zmieniać nazwę interfejsu sieciowego i trafiłem na ten link
Click. Podejrzewałem, że to polskie znaki diaktryczne w poleceniu netsh mogą powodować, że nie działa ono poprawnie, ale to nie to. Argumenty polecenia netsh (admin i connect) w XP działają tylko dla interfejsów sieciowych połączeń Wi-Fi (przynajmniej tak wskazuje dokumentacja tego polecenia) i właśnie dlatego nie działa Ci to polecenie (Jesteś pewien, że w anglojęzycznej wersji XP to działa? To by było dość dziwne). Niemniej w powyższym linku są informacje o kluczach rejestru używanych przez poszczególne interfejsy sieciowe. Możesz je sobie przejrzeć, ale ja tam nie widziałem, żeby było coś w stylu Włącz/Wyłącz.
Sprawdzałem jak działa komenda Włącz/Wyłącz w Menu Start -> Ustawienia -> Połączenia sieciowe -> ppm na nazwie interfejsu sieciowego -> Włącz/Wyłącz. Działa ona na takiej samej zasadzie jak powyższe polecenie netsh, czyli po prostu wyłącza dany adapter interfejsu sieciowego (patrz lista karty sieciowe w menedżerze urządzeń). Przy uzyciu skryptu WMI w Windows Vista/7 mozna wykonać tą samą czynność stosunkowo prosto, niestety tak łatwo nie ma już w Windows XP. Tak, czy siak trochę pogooglowałem i udało mi się natrafić na ciekawy skrypt. Musiałem go przerobić (bo nie działał do końca poprawnie) i ostateczna wersja wygląda następująco (skrypt ten ma na celu wykonywać powyższe kroki tyle, że robi to poprzez panel sterowania):
Option Explicit
Dim strNetworkConnectionsFolder, strNetworkConnectionName, strEnable, strDisable
Dim objShell, objNamespace, objItem, objNetworkConnectionsFolder, objNetworkConnection, objVerb
Dim bEnable
strNetworkConnectionsFolder = "Połączenia sieciowe"
strNetworkConnectionName = "Połączenie lokalne"
strEnable = "&Włącz"
strDisable = "&Wyłącz"
Set objShell = CreateObject("Shell.Application")
Set objNamespace = objShell.Namespace(3) ' (ShellSpecialFolderConstants Enumeration - http://msdn.microsoft.com/en-us/library/bb774096%28v=vs.85%29.aspx)
Set objNetworkConnectionsFolder = Nothing
' Find Network Connections Folder
For Each objItem in objNamespace.Items
If objItem.Name = strNetworkConnectionsFolder Then
Set objNetworkConnectionsFolder = objItem.GetFolder
Exit For
End If
Next
If objNetworkConnectionsFolder is Nothing Then
WScript.Echo "Network connections folder not found."
WScript.Quit
End If
Set objNetworkConnection = Nothing
' Find the Network Connection
For Each objItem in objNetworkConnectionsFolder.Items
If LCase(objItem.name) = LCase(strNetworkConnectionName) Then
Set objNetworkConnection = objItem
Exit For
End If
Next
If objNetworkConnection is Nothing Then
WScript.Echo "Network connection not found."
WScript.Quit
End If
bEnable = False
' Disable/Enable Network Connection
For Each objItem in objNetworkConnection.Verbs
If (objItem.Name = strDisable) Or (objItem.Name = strEnable) Then
Set objVerb = objItem
If objItem.Name = strEnable Then bEnable = True
End If
Next
objVerb.DoIt
'Give the connection time to stop/start
WScript.Sleep 1000
If bEnable Then
WScript.Echo "Network connection enabled."
Else
WScript.Echo "Network connection disabled."
End If
Daj znać, czy zadziała i czy takie rozwiązanie może być (w sumie innego nie widzę).