Je souhaite activer/désactiver les connexions WLAN à l'aide d'un script de lot. Le problème est que je ne veux pas nécessiter des privilèges d'administration.
Il est possible de changer cela en utilisant l'interface graphique:
mais je n'ai trouvé aucun moyen de faire la chose exacte avec cmd. Je n'ai trouvé que des moyens qui ont activé/désactivé l'adaptateur réseau ou similaire qui nécessitent des privilèges d'administration.
Merci pour toute aide.
Actuellement, la meilleure solution est la suivante (voir le commentaire de @somebadhat):
La version Windows 7 de Ce site Web montre un .vbs
script active/désactive l'adaptateur réseau. Malheureusement, cela nécessite des autorisations d'administration à la fin et vous avez une invite de l'UAC. S'il y a une meilleure solution, veuillez éditer ce wiki communautaire avec cela.
Parce que j'ai un PC allemand, je devais changer En&able
à &Aktivieren
et Disa&ble
à &Deaktivieren
. Vous pouvez le changer.
En outre, j'ai changé le nom de l'adaptateur en WLAN
.
Mon script adoptif:
'~ Toggle a SPECIFIED NIC on or off
Option Explicit
Const NETWORK_CONNECTIONS = &H31&
Dim objShell, objFolder, objFolderItem, objEnable, objDisable, wshShell
Dim folder_Object, target_NIC
Dim NIC, clsVerb
Dim str_NIC_Name, strEnable, strDisable
Dim bEnabled, bDisabled
' ========================================================
' ===== place the name of your network adapter here ======
' examples:
' str_NIC_Name = "Local Area Connection 2"
' str_NIC_Name = "Wireless Connection 1"
' ========================================================
str_NIC_Name = "WLAN"
' ========================================================
strEnable = "&Aktivieren"
strDisable = "&Deaktivieren"
' create objects and get items
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
Set objFolderItem = objFolder.Self
Set folder_Object = objFolderItem.GetFolder
' see if the namespace exists
If folder_Object Is Nothing Then
Wscript.Echo "Could not find Network Connections"
WScript.Quit
End If
Set target_NIC = Nothing
' look at each NIC and match to the chosen name
For Each NIC In folder_Object.Items
If LCase(NIC.Name) = LCase(str_NIC_Name) Then
' proper NIC is found, get it
Set target_NIC = NIC
End If
Next
If target_NIC Is Nothing Then
WScript.Echo "Unable to locate proper NIC"
WScript.Quit
End If
bEnabled = True
Set objEnable = Nothing
Set objDisable = Nothing
For Each clsVerb In target_NIC.Verbs
'~ Wscript.Echo clsVerb
If clsVerb.Name = strEnable Then
Set objEnable = clsVerb
bEnabled = False
'~ WScript.Echo "enable"
End If
If clsVerb.Name = strDisable Then
Set objDisable = clsVerb
'~ WScript.Echo "disable"
End If
Next
Set wshShell = CreateObject( "WScript.Shell" )
If bEnabled Then
WScript.Echo "disable"
objDisable.DoIt
Else
WScript.Echo "enable"
objEnable.DoIt
End If
wshShell.Run "ms-settings:network-proxy"
'~ Give the connection time to stop/start, Prompt after UAC Prompt
WScript.Sleep 1000
WScript.Echo "end"
WScript.Quit