Win32_NetworkAdapter is one of 7 Windows Management Instrumentation (WMI)
classes that provides access to your network card. PowerShell can
not only provide command-line access to the settings, but also show
properties such as NetConnectionStatus which are not visible in the Control Panel, or to IpConfig.
While you could interrogate
Win32_NetworkAdapter with VBScript, it is much easier and quicker to
manipulate WMI classes with PowerShell. A reminder that the master cmdlet is Get-WmiObject,
indeed it's worth researching parameters and examples with Get-help
Get-WmiObject.
# Simple PowerShell script to display properties of your NICs. # Author: Guy Thomas # Version
3.2
February 2010 tested on PowerShell v 1.0 and 2.0
Note 1: As usual, you can view all a PowerShell cmdlets
parameters with Get-Help, for example: Get-Help Get-WmiObject.
Note 2: You could use the alias PowerShell gwmi instead
of Get-WmiObject
Guy
Recommends: WMI Monitor and It's Free!
Windows Management Instrumentation (WMI) is one of the hidden
treasures of Microsoft operating systems. Fortunately, Solarwinds
have created a
Free WMI Monitor so that you can discover these gems of performance
information, and thus improve your PowerShell scripts. Take the guess work out of which WMI counters to use when scripting the
operating system, Active Directory or Exchange Server.
I could tell you which properties to script, but it's much better if you
learn how to view the master list, then make selections to suit your
particular needs or project.
# Script to research properties of Win32_NetworkAdapter # Author: Guy Thomas # Version 2.2
February 2010 tested on PowerShell v 1.0 and 2.0
Get-WmiObject
Win32_NetworkAdapter | Get-Member
Note 1: Above is a one-line command. Below is a
refinement to filter the properties that you are likely to be interested
in.
Note 2: A
reminder that even this command accepts Get-Help, thus you could try:
Get-Help Get-Member -full. My point is that help will reveal other
options, for example -MemberType Method.
# Script to research properties of Win32_NetworkAdapter # Author: Guy Thomas # Version 2.5
February 2010 tested on PowerShell v 1.0 and 2.0
PowerShell Script To Test Which Network Connections are Active
# PowerShell script to check NetConnectionStatus of your active NICs # Author: Guy Thomas # Version 1.5
February 2010 tested on PowerShell v 1.0 and 2.0
Note 1: The key property is NetEnabled. In
the output we are looking for values of 'True'. For your
information the NetConnectionStatus of active NICs will be 2 and not 7.
Note 2: PowerShell has no word-wrap, thus we use
the
backtick ` to tell the command to continue on the next line.
Trap: With the backtick there should
be no space after the `.
Note 3: Observe PowerShell's trademark the (|) pipe
symbol, this means that the output of the main command is pumped into
Format-Table. I chose, NetEnabled, NetConnectionStatus, DeviceId
from the dozens of possible
Win32_NetworkAdapter properties of to display.
Note 1: The filtering is achieved through this
clause: -filter "NetConnectionStatus = 2" Actually, you
could substitute a 'Where' clause thus: Where-Object {$_.NetConnectionStatus -eq '2'}
Note 2: PowerShell has no word-wrap, thus the
backtick ` means continue on the next line. Beware, there should
be no space after the `.
Challenge: Change -computerName LocalHost to the value
of a machine on your network.
Guy Recommends: A Free Trial of the Network Performance Monitor
(NPM)
Solarwinds'
Orion performance monitor
will help you discover what's happening on your network. This
utility will also guide you through troubleshooting; the dashboard will
indicate whether the root cause is a broken link, faulty equipment or
resource overload.
Perhaps the NPM's best feature is the way it suggests solutions to network
problems. Its
second best feature is the ability to monitor the health of individual VMWare
virtual machines. If you are interested in troubleshooting, and creating network maps, then I recommend that you take advantage of Solarwinds' offer.
Preliminaries - Vital for Success. Decide which machine
you are configuring, this script is set for
LocalHost. Important: Your DeviceId is unlikely to be 17, so
please research and amend for your computer.
# Script using Win32_Networkadapter to disable a NIC. # Author: Guy Thomas ## Version
2.3
February 2010 tested on PowerShell v 1.0 and 2.0
The additional feature of this script is that refines the search
from the broad 'Win32', to the narrower 'Win32_Network'. The
result is a list of network WMI classes.
# PowerShell example to list every WMI class matching Win32_network # Author: Guy Thomas # Version 1.5
February 2010 tested on PowerShell v 1.0 and 2.0
Note 1: In practical terms, most of the 7
network classes are disappointing. However, the class
Win32_NetworkAdapterConfiguration has the useful property of
DefaultIPGateway and IpAddress.
Encouraging computers to sleep when not in use is a great idea -
until you are away from your desk and need a file on that remote sleeping machine!
Wake-On-LAN really will save you that long walk to awaken a hibernating
machine; however my reason for encouraging you to download this utility is
just because it's so much fun sending those 'Magic Packets'. As Wake-On-LAN (WOL) is free, see
if I am right, and you get a kick from arousing those sleeping machines.
WOL also has business uses for example, wakening machines so that they can have
their patches applied.
The key point is that PowerShell's Get-WmiObject needs is a WMI class.
These Win32_NetworkAdapter examples will help you to research
properties for your task such as NetConnectionStatus.
For pure PowerShell research remember this combination: Get-Help and Get-Member.
If you like this page then please share it with your friends
Please email me if you have any example scripts. Also please report any factual mistakes, grammatical errors or broken links, I will be happy to correct the fault.
Windows Management Instrumentation (WMI) is one of the hidden
treasures of Microsoft operating systems.
Fortunately, Solarwinds
have created the
Free WMI Monitor so that you can actually see and understand these gems of
performance information. Take the guess work out of which
WMI counters to use for applications like Microsoft Active Directory,
SQL or Exchange Server.