New-CMTSStepCaptureUserState

Create a Capture User State step, which you can add to a task sequence.

Syntax

New-CMTSStepCaptureUserState
   [-ConfigFile <String[]>]
   [-ContinueOnLockedFile <Boolean>]
   [-FileAccessOption <FileAccessType>]
   [-ModeOption <ModeType>]
   [-OfflineUserState <Boolean>]
   -Package <IResultObject>
   [-SkipEncryptedFile <Boolean>]
   [-UseHardLinks <Boolean>]
   [-VerboseLogging <Boolean>]
   [-Condition <IResultObject[]>]
   [-ContinueOnError]
   [-Description <String>]
   [-Disable]
   -Name <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

This cmdlet creates a new Capture User State 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: Capture User State.

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 gets a package object for the User State Migration Tool (USMT). The next line creates an object for the Capture User State step, which uses that USMT package and configures several step settings. It then gets a task sequence object, and adds this new step to the task sequence at index 11.

$pkgUsmt = Get-CMPackage -Name "User State Migration Tool for Windows" -Fast

$step = New-CMTSStepCaptureUserState -Name "Capture User State" -Package $pkgUsmt -ModeOption Standard -VerboseLogging $true -FileAccessOption Normal -ContinueOnLockedFile $true -UseHardLinks $true

$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

-ConfigFile

When you specify -ModeOption Customize to customize how user profiles are captured, use this parameter to specify the file names of custom XML configuration files. These files need to be in the USMT package.

Type:String[]
Aliases:ConfigFiles
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

-ContinueOnLockedFile

When you specify -FileAccessOption Normal, set this parameter to $true to allow USMT to continue if some files can't be captured.

Type:Boolean
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

-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

-FileAccessOption

There are two options for how USMT accesses the file system:

  • Normal: USMT uses standard file system access. When you specify this option, you can also enable ContinueOnLockedFile, OfflineUserState, and -.

  • VolumeCopyShadowService: USMT uses the Volume Copy Shadow Services (VSS).

Type:FileAccessType
Accepted values:Normal, VolumeCopyShadowService
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

-ModeOption

There are two modes in which USMT can operate:

  • Standard: Capture all user profiles by using standard options. This option is the default.

  • Customize: Customize how user profiles are captured. If you specify this option, use the ConfigFile parameter to specify the custom XML configuration files.

Type:ModeType
Accepted values:Standard, Customize
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

-OfflineUserState

When you specify -FileAccessOption Normal, set this parameter to $true to capture in offline mode in Windows PE.

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

-Package

Specify an object for the USMT package. To get this object, use the Get-CMPackage cmdlet.

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

-SkipEncryptedFile

Set this parameter to $true to skip files that use the encrypting file system (EFS).

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

When you specify -FileAccessOption Normal, set this parameter to $true to capture locally by using NTFS hard-links.

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

-VerboseLogging

Set this parameter to $true to enable USMT verbose logging.

Type:Boolean
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_CaptureUserStateAction server WMI class.