New-CMTSStepApplyOperatingSystem

Create an Apply OS Image step, which you can add to a task sequence.

Syntax

New-CMTSStepApplyOperatingSystem
   [-ConfigFileName <String>]
   [-ConfigFilePackage <IResultObject>]
   [-Destination <DestinationType>]
   [-DestinationDisk <Int32>]
   [-DestinationDriveLetter <String>]
   [-LayeredDriver <OsdLayeredDriver>]
   [-DestinationPartition <Int32>]
   [-DestinationVariable <String>]
   [-ImagePackage <IResultObject>]
   [-ImagePackageIndex <Int32>]
   [-InstallPackage <IResultObject>]
   [-InstallPackageIndex <Int32>]
   [-RunFromNet <Boolean>]
   [-Condition <IResultObject[]>]
   [-ContinueOnError]
   [-Description <String>]
   [-Disable]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

This cmdlet creates a new Apply OS Image step object. Then use the Add-CMTaskSequenceStep cmdlet to add the step to a task sequence. For more information on this step, see About task sequence steps: Apply OS Image.

Note

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

Examples

Example 1

This example first uses the Get-CMOperatingSystemImage cmdlet to get an object for the OS image package. It saves this object in the $osImgPkg variable. The next step creates an object for the Apply OS Image step, using the $osImgPkg object as the image package.

It then gets a task sequence object, and adds this new step to the task sequence at index 11.

$osImgPkg = Get-CMOperatingSystemImage -Name "OSImagePkg01"
$step = New-CMTSStepApplyOperatingSystem -Name "Apply OS image" -ImagePackage $osImgPkg -ImagePackageIndex 1

$tsNameOsd = "Default OS deployment"
$tsOsd = Get-CMTaskSequence -Name $tsNameOsd -Fast

$tsOsd | Add-CMTaskSequenceStep -Step $step -InsertStepStartIndex 11

Parameters

-Condition

Specify a condition object to use with this step. To get this object, use one of the task sequence condition cmdlets. For example, Get-CMTSStepConditionVariable.

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

-ConfigFileName

Specify the file name of an unattended or Sysprep answer file to use for a custom installation. Use this parameter with the ConfigFilePackage parameter.

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

-ConfigFilePackage

Specify a package object that includes the unattended or Sysprep answer file to use for a custom installation. To get this object, use the Get-CMPackage cmdlet. Use this parameter with the ConfigFileName parameter.

Type:IResultObject
Aliases:AnswerFilePackage
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:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContinueOnError

Add this parameter to enable the step option Continue on error. When you enable this option, if the step fails, the task sequence continues.

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

-Description

Specify an optional description for this task sequence step.

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

-Destination

Specify the location where you want to apply this OS. If you don't specify this parameter, the default is NextAvailableFormattedPartition.

  • NextAvailableFormattedPartition: Use the next sequential partition not already targeted by an Apply Operating System or Apply Data Image step in this task sequence.

  • SpecificDiskAndPartition: Specify the disk number with the DestinationDisk parameter and the partition number with the DestinationPartition parameter.

  • SpecificLogicalDriverLetter: Use the DestinationDriveLetter parameter to specify the logical drive letter assigned to the partition by Windows PE. This drive letter can be different from the drive letter assigned by the newly deployed OS.

  • LogicalDriverLetterInVariable: Use the DestinationVariable parameter to specify the task sequence variable containing the drive letter assigned to the partition by Windows PE. This variable is typically set with the DiskNumberVariable parameter of the Set-CMTSStepPartitionDisk or New-CMTSStepPartitionDisk cmdlets for the Format and Partition Disk task sequence step.

Type:DestinationType
Accepted values:NextAvailableFormattedPartition, SpecificDiskAndPartition, SpecificLogicalDriverLetter, LogicalDriverLetterInVariable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DestinationDisk

When you use -Destination SpecificDiskAndPartition, use this parameter to specify the disk number. Specify an integer from 0 to 99. Also use the DestinationPartition parameter.

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

-DestinationDriveLetter

When you use -Destination SpecificLogicalDriverLetter, use this parameter to specify the logical drive letter. Specify a drive letter from C to Z.

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

-DestinationPartition

When you use -Destination SpecificDiskAndPartition, use this parameter to specify the partition number. Specify an integer from 1 to 99. Also use the DestinationDisk parameter.

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

-DestinationVariable

When you use -Destination LogicalDriverLetterInVariable, use this parameter to specify the task sequence variable with the logical drive letter. The variable name needs to alphanumeric without spaces and fewer than 256 characters.

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

-Disable

Add this parameter to disable this task sequence step.

Type:SwitchParameter
Aliases:DisableThisStep
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

-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

-ImagePackage

Specify an OS image package object. The step applies the OS from this image. Use the ImagePackageIndex parameter to set the image index.

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

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

-ImagePackageIndex

Specify an integer value of the image index. Use this parameter with the ImagePackage parameter.

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

-InstallPackage

Specify an OS upgrade package object. The step applies the OS from this original installation source. Use the InstallPackageIndex parameter to set the edition.

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

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

-InstallPackageIndex

Specify an integer value of the OS upgrade package edition. Use this parameter with the InstallPackage parameter.

Type:Int32
Aliases:UpgradePackageIndex
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LayeredDriver

Starting in version 2107, use this parameter to select other types of keyboards that are common with Japanese and Korean languages. Specify an integer value for the layered driver to install with Windows. Use the same values as the OsdLayeredDriver task sequence variable.

Type:OsdLayeredDriver
Aliases:KeyboardDriver
Accepted values:DoNotSpecify, Driver1, Driver2, Driver3, Driver4, Driver5, Driver6
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specify a name for this step to identify it in the task sequence.

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

-RunFromNet

Set this parameter to $true to allow the task sequence to apply the OS image directly from the distribution point.

For greatest security, it's recommended to not enable this setting. This option is designed for use on devices with limited storage capacity. For more information, see Access content directly from the distribution point.

Type:Boolean
Aliases:AllowAccessFromDistributionPoint
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:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Outputs

IResultObject

Notes

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