New-HwCertProjectDefinitionFile

New-HwCertProjectDefinitionFile

Creates an HCK project definition file.

Syntax

Parameter Set: MachineList
New-HwCertProjectDefinitionFile -MachineList <String[]> [-ClassIdList <String[]> ] [-ContainerIdList <String[]> ] [-ControllerName <String> ] [-CrashDumpCollection <String> ] [-DriverList <String[]> ] [-EnableIsolateTargets] [-EnableMultiDeviceTest] [-HwIdList <String[]> ] [-OutputAutomatedPdef] [-PdefFilePath <String> ] [-ProjectName <String> ] [-RunSystemTest] [-SkipTestStatus <String> ] [-TestAllDevices] [-TestCollectionFilePath <String> ] [ <CommonParameters>]

Parameter Set: MachinePool
New-HwCertProjectDefinitionFile -MachinePool <String> [-ClassIdList <String[]> ] [-ContainerIdList <String[]> ] [-ControllerName <String> ] [-CrashDumpCollection <String> ] [-DriverList <String[]> ] [-EnableIsolateTargets] [-EnableMultiDeviceTest] [-HwIdList <String[]> ] [-OutputAutomatedPdef] [-PdefFilePath <String> ] [-ProjectName <String> ] [-RunSystemTest] [-SkipTestStatus <String> ] [-TestAllDevices] [-TestCollectionFilePath <String> ] [ <CommonParameters>]

Parameter Set: PdefOverrides
New-HwCertProjectDefinitionFile [-ClassIdList <String[]> ] [-ContainerIdList <String[]> ] [-ControllerName <String> ] [-CrashDumpCollection <String> ] [-EnableIsolateTargets] [-EnableMultiDeviceTest] [-HwIdList <String[]> ] [-MachineList <String[]> ] [-MachinePool <String> ] [-OutputAutomatedPdef] [-PdefFilePath <String> ] [-ProjectName <String> ] [-RunSystemTest] [-SkipTestStatus <String> ] [-TestAllDevices] [-TestCollectionFilePath <String> ] [ <CommonParameters>]

Detailed Description

The New-HwCertProjectDefinitionFile cmdlet creates a Windows Hardware Certification Kit (HCK) project definition file. The project definition file includes the targets, such as devices and systems, for certification tests. The HCK automation tool uses the settings in this file to determine which targets to test. For more information, see Windows Hardware Certification Kit (HCK) (https://msdn.microsoft.com/en-us/library/windows/hardware/hh833788.aspx) in the Microsoft Developer Network (MSDN) Library.

You can update this generated file by adding any changes that are valid with respect to the project definition file schema.

Parameters

-ClassIdList<String[]>

Specifies an array of class GUIDs as strings. For more information, see {Class-GUID} (https://technet.microsoft.com/en-us/library/cc957340.aspx) in the TechNet library. You can use a comma-separated list.

Aliases

ClassList

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ContainerIdList<String[]>

Specifies an array of container IDs, in GUID format. You can use a comma-separated list.

Aliases

ContainerList

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ControllerName<String>

Specifies the name of the controller or test server. The project definition file stores the controller name in the Controller attribute of the <ProjectDefinitionData> element. If you do not provide a controller name and do not specify the OutputAutomatedPdef parameter, the cmdlet uses the current computer.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CrashDumpCollection<String>

Specifies the type of Windows crash dump file to generate and collect for the project. The acceptable values for this parameter are:
     -- Mini
     -- Kernel
     -- Full
     -- Disable

Default value is Disable.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DriverList<String[]>

Specifies an array of names of target drivers. You can use a comma-separated list.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableIsolateTargets

Indicates that the cmdlet creates an individual device family for each discovered target. If you do not specify this parameter, the cmdlet groups targets into families based on device class.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableMultiDeviceTest

Indicates that multiple-device scheduling is enabled. The project definition file stores the Boolean setting for multiple-device scheduling in the <MultiDeviceTestGroup> element.

Aliases

EMDT

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HwIdList<String[]>

Specifies an array of hardware IDs for target devices. You can use a comma-separated list.

You can specify partial hardware IDs. The cmdlet matches a partial value as a substring of the hardware ID format. The comparison uses ASCII characters and is not case sensitive. If the ID contains an ampersand character (&), enclose the ID in double quotes (""). In Windows PowerShell®, the ampersand is a reserved character.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MachineList<String[]>

Specifies an array of test computer names. You can use a comma-separated list. If you specify more than one computer, all of them must be in the same pool.

Aliases

Machine

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MachinePool<String>

Specifies the name of an existing machine pool, which contains test computers.

Aliases

Pool

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-OutputAutomatedPdef

Indicates that the cmdlet generates the following attributes in the project definition file:
     -- Controller = "[MACHINE]"
     -- TestCollectionReadLocation = "[FILTERED_TEST_COLLECTION]"
     -- Path = "[PACKAGES]"

Aliases

automate

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PdefFilePath<String>

Specifies the name of the project definition file. If you do not specify a name, the cmdlet creates a name in the following format: %UserProfile%\Desktop\PDEF_Files\PDEF_TimeDate\PDEF_OSPlatformName_TimeDate.xml.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ProjectName<String>

Specifies the friendly name of the project. The project definition file stores the project name in the Name attribute of the <Project> element. If you do not specify a name, the cmdlet generates a name that contains a time stamp.

Aliases

PROJ

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RunSystemTest

Indicates that the cmdlet specifies a single TargetType attribute, which equals System. Specify this parameter for testing a whole system. You cannot run a System test with any other query types.

A System tests treats the target as a single device. This differs from TestAllDevices, which tests every target on a system, but treats them individually. Specify the TestAllDevices parameter to test all devices.

Aliases

System

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SkipTestStatus<String>

Specifies the skipping mode for scheduling tests. The project definition file stores this value in the <TestStatusToSkip> element. The acceptable values for this parameter are:
     -- Pass
     -- Fail
     -- NoData

The default value is Pass.

Aliases

SkipStatus

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TestAllDevices

Indicates that the controller tests all target devices that it discovers. The controller discovers devices on the computers specified by the MachineList or the MachinePool parameter.

Aliases

AllDevices

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TestCollectionFilePath<String>

Specifies the full path for a test collection .xml file. The project definition file stores the path in the TestCollectionReadLocation attribute of the <Project> element. If you do not specify a path, the cmdlet uses an empty string.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Examples

Example 1: Create a project definition file for a driver

This command creates a project definition file. The command populates the project file with HCK target values for which disk.sys is a device driver, and from all machines available in the Test07 pool.

PS C:\> New-HwCertProjectDefinitionFile -MachinePool "Test07" -DriverList "disk.sys"

New-HwCertTestCollection