Get-CMDriver

Get a device driver.

Syntax

Get-CMDriver
   [-Fast]
   [-Name <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDriver
   [-Fast]
   -DriverPackageId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDriver
   [-Fast]
   -DriverPackageName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDriver
   [-Fast]
   -Id <Int32>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDriver
   [-Fast]
   -InputObject <IResultObject>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDriver
   [-Fast]
   [-AdministrativeCategory <IResultObject[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

Description

Use this cmdlet to get a device driver. Configuration Manager provides a driver catalog that you can use to manage the Windows device drivers in your environment. For more information, see Manage drivers in Configuration Manager.

Note

Run Configuration Manager cmdlets from the Configuration Manager site drive, for example PS XYZ:\>. For more information, see getting started.

Examples

Example 1: Get a device driver by name

This command gets the driver named Surface Serial Hub Driver.

Get-CMDriver -Name "Surface Serial Hub Driver"

Example 2: Get specific information about drivers from a specific manufacturer

This command gets all drivers whose name starts with Surface and only display three attributes.

Get-CMDriver -Fast -Name "Surface*" | Select-Object LocalizedDisplayName,DriverVersion,DriverDate

Example 3: Get all drivers for a specific category

This command gets all drivers in the Surface driver category.

$category = Get-CMCategory -Name "Surface"

Get-CMDriver -Fast -AdministrativeCategory $category

Parameters

-AdministrativeCategory

Specify an array of driver category objects. You can assign a driver to a category for filtering purposes. For example, "Surface" or "Boot image".

To get this object, use the Get-CMCategory cmdlet.

Type:IResultObject[]
Aliases:AdministrativeCategories
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

This parameter treats wildcard characters as literal character values. You can't combine it with ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DriverPackageId

Specify the ID of a driver package to get all drivers in it. This value is a standard package ID format, for example, XYZ00204.

Type:String
Aliases:PackageId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DriverPackageName

Specify the name of a driver package to get all drivers in it.

Type:String
Aliases:PackageName
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Fast

Add this parameter to not automatically refresh lazy properties. Lazy properties contain values that are relatively inefficient to retrieve. Getting these properties can cause additional network traffic and decrease cmdlet performance.

If you don't use this parameter, the cmdlet displays a warning. To disable this warning, set $CMPSSuppressFastNotUsedCheck = $true.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

This parameter processes wildcard characters and may lead to unexpected behavior (not recommended). You can't combine it with DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Specify the ID of a specific device driver. This value is the same as the CI_ID attribute, for example 66383.

Type:Int32
Aliases:CIId, DriverId, CI_ID
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Specify a driver package object to get all drivers in it. To get this object, use the Get-CMDriverPackage cmdlet.

Type:IResultObject
Aliases:DriverPackage
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specify the name of a specific device driver to get.

You can use wildcard characters:

  • *: Multiple characters
  • ?: Single character
Type:String
Aliases:LocalizedDisplayName, DriverName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Inputs

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Outputs

IResultObject[]

IResultObject

Notes

For more information on this return object and its properties, see SMS_Driver server WMI class.