Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
I was playing around with Windows PowerShell today and wanted to demonstrate a way to disable a network connection by the name or any other property for that matter. This entry will be limited to filtering on the name. First the network connections I care about I have below on my local machine.
To get this listing we need to use the WMI class called Win32_NetworkAdapter. Without going into too much detail, that class represents a network adapter of a computer. The link gives more detail if you want to show IPv6 data. This is currently limited to IPv4 information.
Anyhow, to get a listing, I run this command:
Get-WmiObject -Class Win32_NetworkAdapter `
-Filter "NetConnectionID IS NOT NULL" |
Format-Table -Property NetConnectionID, NetEnabled, InterfaceIndex `
–AutoSize
After running that command I will get the following output for my box.
NetConnectionID NetEnabled InterfaceIndex
--------------- ---------- --------------
Local Area Connection False 10
Wireless Network Connection 6 True 25
Wireless Network Connection 7 False 26
Your output probably differs. We are closer to achieving our goal. That WMI class gives us a few method to play with:
Get-WmiObject -Class Win32_NetworkAdapter |
Get-Member -MemberType Method |
Format-Table -Property Name
TypeName: System.Management.ManagementObject#root\cimv2\Win32_NetworkAdapter
Name
----
Disable
Enable
Reset
SetPowerState
The WMI Class provides us with 4 methods that are usable if we run this script elevated. Remember, the act of modifying a network adapter requires elevated privileges.
To ENABLE a network adapter
$networkAdapterName = "Wireless Network Connection 7"
Get-WmiObject -Class Win32_NetworkAdapter `
-Filter "NetConnectionID = '$($networkAdapterName)'" |
ForEach-Object { $_.Enable() }
To DISABLE a network adapter
$networkAdapterName = "Wireless Network Connection 7"
Get-WmiObject -Class Win32_NetworkAdapter `
-Filter "NetConnectionID = '$($networkAdapterName)'" |
ForEach-Object { $_.Disable() }
Comments
- Anonymous
November 12, 2015
Great post from your hands again. I loved the complete article.
By the way nice writing style you have. I never felt like boring while reading this article.
I will come back & read all your posts soon. Regards, Lucy.