PowerShell Commands

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[]
The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.
Examples
  1. 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&amp;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.

  2. 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.

  3. Get PnP devices by ID:
    PS C:\> Get-PnpDevice -InstanceId 'USB\VID_8087&amp;PID_0024\5&amp;3541780&amp;0&amp;1'
    Status     Class           FriendlyName 
       InstanceId     
       ------     -----           ------------                                                                     
       ----------     
       OK         USB             Generic USB Hub                                                                  
       USB\VID_8087...

    This command gets the device that has the specified instance ID.

  4. 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.

  5. 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