Win32_1394Controller powershell sample code | ActiveXperts Network Monitor
The foundations for Manageability in Windows is Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).
ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself. The Win32_1394Controller WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_1394Controller WMI class represents the capabilities and management of a 1394 controller. IEEE 1394 is a specification for a high speed serial bus.
Sample Code
# wmi-win32_1394Controller.ps1
# Demonstrates use of Win32_1394Controller WMI class
# Thomas Lee - tfl@psp.co.uk
function Get-Availability {
param ([uint16] $char)
# Helper function to return characterics of the 1394 Controller
# parse and return values
If ($char -ge 1 -and $char -le 17) {
switch ($char) {
1 {"01-Other"}
2 {"02-Unkown"}
3 {"03-Running/Full Power"}
4 {"04-Warning"}
5 {"05-In Test"}
6 {"06-Not Applicable"}
7 {"07-POwer Off"}
8 {"08-Off Line"}
9 {"09-Off Duty"}
10 {"10-Degraded"}
11 {"11-Not Installed"}
12 {"12-InstallError"}
13 {"13-Power Save - Unknown"}
14 {"14-Power Save - Low Power Mode"}
15 {"15-Power Save - Standby"}
16 {"16-Power Cycle"}
17 {"17-Power Save - Warning"}
}
}
Else
{"{0} - invalid code" -f $char}
Return
}
# Get Controller information from WMI
$controllers = Get-WMIObject Win32_1394Controller
# Display Details
"Win32_1394 WMI Information"
"--------------------------"
$count=$controllers.count
if (!$count) {$count++}
"{0} 1394 controller(s) found" -f $count
""
"Controller {0} - Characteristics" -f ++$i
"--------------------------------"
foreach ($cont in $controllers) {
$avail=Get-Availability($cont.availability)
"Availability : {0}" -f $avail
"Caption : {0}" -f $cont.caption
"Config Manager Error Code : {0}" -f $cont.ConfigManagerErrorCode
"Config Manager User Config : {0}" -f $cont.ConfigManagerUserConfig
"Creation Class Name : {0}" -f $cont.CreationClassName
"Description : {0}" -f $cont.Description
"Device ID : {0}" -f $cont.DeviceID
"Error Cleared : {0}" -f $cont.ErrorCleared
"Error Description : {0}" -f $cont.ErrorDescription
"InstallDate : {0}" -f $cont.InstallDate
"Last Error Code : {0}" -f $cont.LastErrorCode
"Manufacturer : {0}" -f $cont.Manufacturer
"MaxNumberControlled : {0}" -f $cont.MaxNumberControlled
"Name : {0}" -f $cont.Name
"PNPDeviceID : {0}" -f $cont.PNPDeviceId
"PowerManagementCapabilities : {0}" -f $cont.PowerManagementCapabilities
"PowerManagementSupported : {0}" -f $cont.PowerManagementSupported
"Protocols Supported : {0}" -f $cont.ProtocolsSupported
"Status : {0}" -f $cont.Status
"Status Information : {0}" -f $cont.StatusInfo
"System Creation Class Name : {0}" -f $cont.SystemCreationClassName
"System Name : {0}" -f $cont.SystemName
"Time of Last Reset : {0}" -f $cont.TimeOfLastReset
""
}
