USBF_PermissionEntry (Industry 8.1)
7/8/2014
Review the syntax, members. and examples of the USBF_PermissionEntry WMI provider class for Windows Embedded 8.1 Industry (Industry 8.1).
This class contains current information about the USB Filter permission entry list on a device.
Syntax
class USBF_PermissionEntry {
[Key, Read] UInt32 PermissionLevel;
[Key, Read] string PortLocationPath;
[Key, Read] UInt32 DeviceClassID;
[Key, Read] UInt32 DeviceVendorID;
[Key, Read] UInt32 DeviceProductID;
};
Members
The following table lists the properties that belong to this class.
Properties
Property |
Data type |
Qualifiers |
Description |
---|---|---|---|
PermissionLevel |
UInt32 |
[key, read] |
Indicates the port permission level.
ValueDescription
0Port is enabled for all USB devices.
1Port is enabled only for USB devices where their device class ID equals DeviceClassID.
2Port is enabled only for USB devices where their device class ID equals DeviceClassID, device vendor ID equals DeviceVendorID, and device product ID equals DeviceProductID.
|
PortLocationPath |
string |
[key, read] |
Specifies the path of the USB port to be enabled. This property is required. |
DeviceClassID |
UInt32 |
[key, read] |
Specifies the device class ID to be enabled. |
DeviceVendorID |
UInt32 |
[key, read] |
Specifies the device vendor ID to be enabled. PortLocationPath, DeviceClassID, and DeviceProductID are required if this property is set. |
DeviceProductID |
UInt32 |
[key, read] |
Specify the device product ID to be enabled. PortLocationPath, DeviceClassID, and DeviceVendorID are required if this property is set. |
Remarks
You must create USBF_PermissionEntry entries before any USB device can connect while USB Filter is enabled.
Example
The following examples demonstrate how to use the USBF_PermissionEntry class in a Windows PowerShell script.
Get permission list
This example Windows PowerShell script displays all existing permission entries for USB Filter.
#Get permission list
cls
$WmiNS = "root\standardcimv2\embedded"
$permissions = Get-WmiObject -namespace $wmiNS -class USBF_PermissionEntry
Echo "Total " $permissions.Count "USB Permission Entries"
#Display all permission entries
$permissions | format-table Port*, Device*, Permission*
Add a permission entry
This example Windows PowerShell script adds a permission entry for USB Filter for a specific USB device on a specific port. The USB device must have a class ID of 3, a vendor ID of 123, and a product ID of 12345 in order to connect by using this permission entry.
#Add a class-level permission entry
cls
$wmiNS = "root\standardcimv2\embedded"
#Get and display permission list
$permissions = Get-WmiObject -namespace $wmiNS -class USBF_PermissionEntry
Echo "Total " $permissions.Count "USB Permission Entries"
$permissions | format-table Port*, Device*, Permission*
#Add new permission
$PermissionEntryClass = [WMIClass] "root\standardcimv2\embedded:USBF_PermissionEntry"
$PermissionEntry = $PermissionEntryClass.CreateInstance();
$PermissionEntry.PortLocationPath = "PCIROOT(0)#PCI(1D07)#USB(2)"
$PermissionEntry.PermissionLevel = 2 # Device Level
$PermissionEntry.DeviceClassID = 3 # Class ID = 3
$PermissionEntry.DeviceProductID = 12345
$PermissionEntry.DeviceVendorID = 123
$PermissionEntry.Put()
#Get and display permission list
$permissions = Get-WmiObject -namespace $wmiNS -class USBF_PermissionEntry
Echo "Total " $permissions.Count "USB Permission Entries"
$permissions | format-table Port*, Device*, Permission*
Remove permission entry
This example Windows PowerShell script displays all permission entries for USB Filter, removes the first permission entry in the list, and then displays the list of all permission entries again to verify that the entry was removed.
#Remove first permission entry
cls
$WmiNS = "root\standardcimv2\embedded"
$permissions = Get-WmiObject -namespace $wmiNS -class USBF_PermissionEntry
Echo "Total " $permissions.Count "USB PermissionEntries"
#Display all permission entries
$permissions | format-table Port*, Device*, Permission*
#Remove first permission entry
$permissions[0].Delete();
$permissions = Get-WmiObject -namespace $wmiNS -class USBF_PermissionEntry
Echo "Total " $permissions.Count "USB Permission Entries"
#Display all permission entries
$permissions | format-table Port*, Device*, Permission*