Get-PnpDevice
Get-PnpDevice [[-InstanceId] <String[]>] [-CimSession <CimSession[]>] [-Class <String[]>] [-InformationAction{SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend}] [-InformationVariable <System.String]>][-PresentOnly] [-Status {OK | ERROR | DEGRADED | UNKNOWN}] [-ThrottleLimit <Int32>] [<CommonParameters>]
Get-PnpDevice [-CimSession <CimSession[]>] [-Class <String[]>] [-FriendlyName <String[]>] [-InformationAction{SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend}] [-InformationVariable <System.String]>][-PresentOnly] [-Status {OK | ERROR | DEGRADED | UNKNOWN}] [-ThrottleLimit <Int32>] [<CommonParameters>]
Get-PnpDevice [-CimSession <CimSession[]>] [-Class <String[]>] [-InformationAction {SilentlyContinue | Stop |Continue | Inquire | Ignore | Suspend}] [-InformationVariable <System.String]>] [-PresentOnly] [-Status {OK |ERROR | DEGRADED | UNKNOWN}] [-ThrottleLimit <Int32>] [<CommonParameters>]
Get-PnpDevice [-CimSession <CimSession[]>] [-Class <String[]>] [-InformationAction {SilentlyContinue | Stop |Continue | Inquire | Ignore | Suspend}] [-InformationVariable <System.String]>] [-PresentOnly] [-ThrottleLimit<Int32>] [<CommonParameters>]
Get-PnpDevice [-CimSession <CimSession[]>] [-InformationAction {SilentlyContinue | Stop | Continue | Inquire |Ignore | Suspend}] [-InformationVariable <System.String]>] [-Status {OK | ERROR | DEGRADED | UNKNOWN}][-ThrottleLimit <Int32>] [<CommonParameters>]
The Get-PnpDevice cmdlet returns basic information about Plug and Play (PnP) devices. The values returned are common to all devices.
Parameters
-CimSession [<CimSession[]>]
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
-Class [<String[]>]
Specifies an array of PnP classes for devices. Some example values for this parameter are Monitor, DiskDrive, and Processor.
-FriendlyName [<String[]>]
- Accepts pipeline input ByPropertyName
Specifies an array of friendly names for devices.
-InformationAction
[<System.Management.Automation.ActionPreference]>]
Specifies how this cmdlet responds to an information event. The acceptable values for this parameter are:�
-- SilentlyContinue-- Stop-- Continue-- Inquire-- Ignore-- Suspend
-InformationVariable [<System.String]>]
Specifies a variable in which to store an information event message.
-InstanceId [<String[]>]
- Accepts pipeline input ByPropertyName
Specifies an array of unique instance ID of devices.
-PresentOnly [<SwitchParameter>]
Indicates that this cmdlet gets only those devices that are present when you issue the command. Present devices are physically in the system or attached to it.
-Status [<String[]>]
Specifies an array of current status values of devices. The acceptable values for this parameter are:�
-- OK-- ERROR-- UNKNOWN-- DEGRADED
-ThrottleLimit [<Int32>]
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShellr calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.
Outputs
Microsoft.Management.Infrastructure.CimInstance#ROOT/Cimv2/Win32_PnPEntity[]Examples
-
Get all PnP devices:
PS C:\> Get-PnpDevice Status Class FriendlyName InstanceId ------ ----- ------------ ---------- OK System High precision event timer ACPI\PNP0103... OK AudioEndpoint Remote Audio SWD\MMDEVAPI... OK System System board ACPI\PNP0C01\1 OK System System board ACPI\PNP0C01\A OK System Motherboard resources ACPI\PNP0C02\4 Unknown MEDIA Microsoft Streaming Service Proxy SW\{96E080C7... OK System UMBus Enumerator UMB\UMB\1&84... OK Printer \\prn-corp3\stug-2633-clr SWD\PRINTENU... OK PrintQueue stug-2633-clr on prn-tsqa.contoso.com (redirected 1) SWD\PRINTENU...
This command gets all devices known to PnP, whether they are present or not.
-
Get PnP devices by name:
PS C:\> Get-PnpDevice -FriendlyName 'Generic USB Hub' Status Class FriendlyName InstanceId ------ ----- ------------ ---------- OK USB Generic USB Hub USB\VID_0557... OK USB Generic USB Hub USB\VID_0409... OK USB Generic USB Hub USB\VID_8087... OK USB Generic USB Hub USB\VID_8087... OK USB Generic USB Hub USB\VID_0424... OK USB Generic USB Hub USB\VID_0424...
This command gets all the devices named Generic USB Hub.
-
Get PnP devices by ID:
PS C:\> Get-PnpDevice -InstanceId 'USB\VID_8087&PID_0024\5&3541780&0&1' Status Class FriendlyName InstanceId ------ ----- ------------ ---------- OK USB Generic USB Hub USB\VID_8087...
This command gets the device that has the specified instance ID.
-
Get present PnP devices in specified states:
PS C:\> Get-PnpDevice -PresentOnly -Status ERROR,DEGRADED,UNKNOWN Status Class FriendlyName InstanceId ------ ----- ------------ ---------- Error PCI Serial Port PCI\VEN_8086... Error Mouse Microsoft PS/2 Mouse ACPI\PNP0F03... Error PCI Simple Communications Controller PCI\VEN_8086... Error SAS Controller PCI\VEN_8086... Error Keyboard Standard PS/2 Keyboard ACPI\PNP0303...
This command gets all present devices that report a status of error, degraded, or unknown.
-
Get PnP devices of a class:
PS C:\> Get-PnpDevice -Class 'Mouse' Status Class FriendlyName InstanceId ------ ----- ------------ ---------- OK Mouse HID-compliant mouse HID\VID_0557... Error Mouse Microsoft PS/2 Mouse ACPI\PNP0F03... OK Mouse Remote Desktop Mouse Device TERMINPUT_BU... OK Mouse HID-compliant mouse HID\VID_045E...
This command gets all the devices that belong to the specified PnP class.
This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.
PowerShell Commands