Import-CMDriver
Import a device driver into the driver catalog.
Syntax
Import-CMDriver
[-AdministrativeCategory <IResultObject[]>]
[-AdministrativeCategoryName <String[]>]
[-BootImagePackage <IResultObject[]>]
[-DriverPackage <IResultObject[]>]
[-EnableAndAllowInstall <Boolean>]
[-ImportDuplicateDriverOption <ImportDuplicateDriverOption>]
[-ImportFolder]
-Path <String>
[-SupportedPlatform <IResultObject[]>]
[-SupportedPlatformName <String[]>]
[-UpdateBootImageDistributionPoint <Boolean>]
[-UpdateDriverPackageDistributionPoint <Boolean>]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Import-CMDriver cmdlet imports one or more device drivers into the driver catalog in Configuration Manager. When you import device drivers into the catalog, you can add the device drivers to driver packages or to boot image packages.
As part of the import process for the device driver, Configuration Manager reads the following information associated with the device:
- Provider
- Class
- Version
- Signature
- Supported hardware
- Supported platform
By default, the driver is named after the first hardware device that it supports. To rename the device driver, use the -NewName parameter of the Set-CMDriver cmdlet. The supported platforms list is based on the information in the INF file of the driver. Because the accuracy of this information can vary, manually verify that the device driver is supported after you import it into the driver catalog.
Note
Run Configuration Manager cmdlets from the Configuration Manager site drive, for example PS XYZ:\>
. For more information, see getting started.
Examples
Example 1: Import all device drivers in a path
This command imports all device drivers located in the network path \\Server1\Driver
.
Import-CMDriver -Path "\\Server1\Driver" -ImportFolder
Example 2: Import a device driver by name
This command imports the driver named driver.inf from the network path \\Server1\Driver
.
Import-CMDriver -Path "\\Server1\Driver\driver.inf"
Parameters
-AdministrativeCategory
Specify an array of category objects. To get this object, use the Get-CMCategory cmdlet.
Assign the device drivers to a category for filtering purposes, such as Desktops or Notebooks.
Type: | IResultObject[] |
Aliases: | AdministrativeCategories |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AdministrativeCategoryName
Instead of getting and specifying an object for a category with the AdministrativeCategory parameter, use this parameter to simply specify the name of a category. You can also use an array of category names.
Type: | String[] |
Aliases: | AdministrativeCategoryNames |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BootImagePackage
Specify an array of boot image objects. To get this object, use the Get-CMBootImage cmdlet.
Use this parameter to add the imported drivers to the specified boot images.
Only add drivers that Windows PE (WinPE) requires to boot:
Make sure that the drivers that you add to the boot image match the architecture of the boot image.
WinPE already comes with many drivers built-in. Add only network and storage drivers that aren't included in WinPE.
Add only network and storage drivers to the boot image, unless there are requirements for other drivers in WinPE.
It's best to use drivers that have a valid digital signature.
Type: | IResultObject[] |
Aliases: | BootImagePackages |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
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 |
-DriverPackage
Specify an array of driver package objects. To get this object, use the Get-CMDriverPackage cmdlet.
Use this parameter to add the imported drivers to the specified driver packages.
Type: | IResultObject[] |
Aliases: | DriverPackages |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableAndAllowInstall
Enable the driver and allow clients to install it during the Auto Apply Driver task sequence step.
Drivers added to the driver package aren't affected.
Type: | Boolean |
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 |
-ImportDuplicateDriverOption
Specify how Configuration Manager manages duplicate device drivers.
AppendCategory
: Import the driver and append a new category to the existing categories- KeepExistingCategory
: Import the driver and keep the existing categoriesNotImport
: Don't import the driverOverwriteCategory
: Import the driver and overwrite the existing categories
Type: | ImportDuplicateDriverOption |
Accepted values: | NotImport, AppendCategory, KeepExistingCategory, OverwriteCategory |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ImportFolder
Add this parameter to import all the device drivers in the target folder.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specify a path to the driver files to import.
Type: | String |
Aliases: | FileName, FilePath, ImportFilePath, Location, UncFileLocation |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SupportedPlatform
Specify a supported platform object to which the device driver is applicable and can run. To get this object, use the Get-CMSupportedPlatform cmdlet.
Type: | IResultObject[] |
Aliases: | SupportedPlatforms |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SupportedPlatformName
Specifies an array of supported platforms name on which the device driver can run. For example, "All Windows 10 (64-bit)"
.
Type: | String[] |
Aliases: | SupportedPlatformNames |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UpdateBootImageDistributionPoint
Indicates whether Configuration Manager updates boot images on their distribution points to add the new drivers.
Type: | Boolean |
Aliases: | UpdateDistributionPointsForBootImagePackage, UpdateBootImageDistributionPoints |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UpdateDriverPackageDistributionPoint
If you use the -DriverPackage parameter, set this parameter to $true
to update the driver package on assigned distribution points.
Type: | Boolean |
Aliases: | UpdateDistributionPointsforDriverPackage |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet doesn't run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
Outputs
IResultObject