New-CMTaskSequenceDeployment

创建任务序列部署。

语法

New-CMTaskSequenceDeployment
   [-AlertDateTime <DateTime>]
   [-AllowFallback <Boolean>]
   [-AllowSharedContent <Boolean>]
   [-Availability <MakeAvailableToType>]
   [-DeadlineDateTime <DateTime>]
   [-DeploymentOption <DeploymentOptionType>]
   [-DeployPurpose <DeployPurposeType>]
   [-InputObject] <IResultObject>
   [-InternetOption <Boolean>]
   [-PercentFailure <Int32>]
   [-PercentSuccess <Int32>]
   [-RerunBehavior <RerunBehaviorType>]
   [-RunFromSoftwareCenter <Boolean>]
   [-Schedule <IResultObject[]>]
   [-ScheduleEvent <ScheduleEventType[]>]
   [-ShowTaskSequenceProgress <Boolean>]
   [-SoftwareInstallation <Boolean>]
   [-SystemRestart <Boolean>]
   [-UseUtcForAvailableSchedule <Boolean>]
   [-UseUtcForExpireSchedule <Boolean>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-Comment <String>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTaskSequenceDeployment
   [-AlertDateTime <DateTime>]
   [-AllowFallback <Boolean>]
   [-AllowSharedContent <Boolean>]
   [-Availability <MakeAvailableToType>]
   [-DeadlineDateTime <DateTime>]
   [-DeploymentOption <DeploymentOptionType>]
   [-DeployPurpose <DeployPurposeType>]
   [-InternetOption <Boolean>]
   [-PercentFailure <Int32>]
   [-PercentSuccess <Int32>]
   [-RerunBehavior <RerunBehaviorType>]
   [-RunFromSoftwareCenter <Boolean>]
   [-Schedule <IResultObject[]>]
   [-ScheduleEvent <ScheduleEventType[]>]
   [-ShowTaskSequenceProgress <Boolean>]
   [-SoftwareInstallation <Boolean>]
   [-SystemRestart <Boolean>]
   [-TaskSequencePackageId] <String>
   [-UseUtcForAvailableSchedule <Boolean>]
   [-UseUtcForExpireSchedule <Boolean>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-Comment <String>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

New-CMTaskSequenceDeployment cmdlet 创建任务序列部署。 任务序列部署将任务序列分配给计算机的集合。

注意

从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>。 有关详细信息,请参阅 入门

示例

示例 1:部署具有许多常见参数的任务序列

此示例执行以下操作:

  • 使用 Get-CMTaskSequence cmdlet 获取要部署的任务序列对象,并将其保存在 $DeployTS 变量中
  • 在变量中将集合定义为部署的目标 $DeployCollection
  • 在变量中定义 2025 年 11 月 25 日晚上 8:00 的部署可用 时间$DeployAvailableTime
  • 在变量中定义 2026 年 1 月 25 日晚上 8:00 的部署过期时间 $DeployExpireTime
  • 在变量中定义 2025 年 12 月 25 日晚上 8:00 的部署 截止时间$ScheduleDateTime
  • 使用 New-CMSchedule cmdlet 创建具有每日重复计划的截止时间的计划对象。
  • 部署任务序列
$DeployTS = Get-CMTaskSequence -TaskSequencePackageId 'PS104823'
$DeployCollection = 'PS11B7C4'
$DeployAvailableTime = [datetime]::ParseExact("20251125-200000", "yyyyMMdd-HHmmss", $null)
$DeployExpireTime = [datetime]::ParseExact("20260125-200000", "yyyyMMdd-HHmmss", $null)
$ScheduleDateTime = [datetime]::ParseExact("20251225-200000", "yyyyMMdd-HHmmss", $null)
$DeploySchedule = New-CMSchedule -DurationInterval Days -RecurInterval Days -RecurCount 1 -DurationCount 0 -Start $ScheduleDateTime
New-CMTaskSequenceDeployment -InputObject $DeployTS -DeployPurpose Required -AvailableDateTime $DeployAvailableTime -Availability Clients -RerunBehavior AlwaysRerunProgram -Schedule $DeploySchedule -CollectionId $DeployCollection -ShowTaskSequenceProgress $true -DeploymentOption DownloadAllContentLocallyBeforeStartingTaskSequence -RunFromSoftwareCenter $true -DeadlineDateTime $DeployExpireTime

参数

-AlertDateTime

如果启用部署警报,请使用此参数指定警报的时间。

类型:DateTime
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AllowFallback

允许客户端使用默认站点边界组中的分发点。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AllowSharedContent

允许客户端使用相邻边界组中的分发点。

类型:Boolean
别名:AllowUseRemoteDistributionPoint
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Availability

指定是否使此任务序列可供 Configuration Manager 客户端使用,以及它是否可以在使用启动媒体、预留媒体或 PXE 部署 OS 时运行。

类型:MakeAvailableToType
别名:MakeAvailableTo
接受的值:Clients, ClientsMediaAndPxe, MediaAndPxe, MediaAndPxeHidden
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AvailableDateTime

指定此部署 何时可用

使用 -DeadlineDateTime 指定部署 过期时间,使用 -Schedule 指定部署分配或 截止时间

类型:DateTime
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Collection

指定集合对象作为此任务序列部署的目标。 若要获取此对象,请使用 Get-CMCollection cmdlet。

类型:IResultObject
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CollectionId

指定集合 ID 作为此任务序列部署的目标。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CollectionName

指定集合名称作为此任务序列部署的目标。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Comment

为任务序列部署指定可选注释。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DeadlineDateTime

使用此参数可指定部署 何时过期

使用 -AvailableDateTime 指定部署 何时可用,使用 -Schedule 指定部署分配或 截止时间

类型:DateTime
别名:DeploymentExpireDateTime
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DeploymentOption

指定客户端如何与分发点交互以获取任务序列的内容。 并非所有选项都在特定方案中可用。 有关详细信息,请参阅 部署任务序列 - 部署选项

类型:DeploymentOptionType
接受的值:DownloadContentLocallyWhenNeededByRunningTaskSequence, DownloadAllContentLocallyBeforeStartingTaskSequence, RunFromDistributionPoint
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DeployPurpose

指定此部署是可供用户安装,还是需要在截止时间安装。

类型:DeployPurposeType
接受的值:Available, Required
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisableWildcardHandling

此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DistributeCollectionName

站点将内容分发到与此集合名称关联的分发点组。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DistributeContent

添加此参数以在创建此部署时分发任务序列内容。 在将内容分发到客户端可以访问的分发点之前,客户端无法安装任务序列。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DistributionPointGroupName

站点将内容分发到此分发点组。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DistributionPointName

站点将内容分发到此分发点。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceWildcardHandling

此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

指定要部署的任务序列对象。 若要获取任务序列对象,请使用 Get-CMTaskSequence cmdlet。

类型:IResultObject
别名:TaskSequence
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-InternetOption

允许任务序列为 Internet 上的客户端运行。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PercentFailure

如果为失败的部署创建警报,则当失败的部署百分比高于此数字时,站点将生成警报。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PercentSuccess

如果为成功的部署创建警报,则当成功部署的百分比低于此数字时,站点将生成警报。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PersistOnWriteFilterDevice

配置客户端在 Windows Embedded 设备上处理写入筛选器的方式。

  • $true:在截止时间或维护时段内提交更改。 需要重启。
  • $false:在覆盖层上应用内容,稍后提交。
类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RerunBehavior

指定如果任务序列以前在计划的强制时间之前运行,则是否在计算机上重新运行。 默认情况下,任务序列始终重新运行。

类型:RerunBehaviorType
接受的值:NeverRerunDeployedProgram, AlwaysRerunProgram, RerunIfFailedPreviousAttempt, RerunIfSucceededOnPreviousAttempt
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunFromSoftwareCenter

允许用户独立于分配运行程序。

类型:Boolean
别名:AllowUsersRunIndependently
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Schedule

使用此参数可以指定部署分配或 截止时间

使用 -AvailableDateTime 指定部署 何时可用,使用 -DeadlineDateTime 指定部署 到期时间

指定计划对象的数组。 计划对象定义部署的强制分配计划。 若要创建计划对象,请使用 New-CMSchedule cmdlet。

类型:IResultObject[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ScheduleEvent

指定确定任务序列部署何时运行的事件数组。

类型:ScheduleEventType[]
接受的值:AsSoonAsPossible, LogOn, LogOff
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SendWakeupPacket

指示是否在部署开始前将唤醒数据包发送到计算机。 如果此值为 $True,则 Configuration Manager 将计算机从睡眠状态唤醒。 如果此值为 $False,则不会将计算机从睡眠状态唤醒。 对于要唤醒的计算机,请先配置 LAN 唤醒。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ShowTaskSequenceProgress

指示是否显示任务序列的进程对话框。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SoftwareInstallation

达到安装截止时间时,将此参数设置为 $true 以允许任务序列在维护时段外安装。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SystemRestart

达到安装截止时间时,将此参数设置为 以 $true 允许系统在维护时段外重新启动(如有必要)。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TaskSequencePackageId

指定要部署的任务序列的 ID。

类型:String
别名:PackageId, TaskSequenceId
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-UseMeteredNetwork

指示是否允许使用按流量计费的 Internet 连接的客户端在安装截止时间之后下载内容,这可能会产生额外的成本。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UseUtcForAvailableSchedule

指示客户端计算机是否使用 UTC 时间来确定程序的可用性。 UTC 时间使任务序列同时可用于所有计算机。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UseUtcForExpireSchedule

指示客户端计算机是否使用 UTC 时间来确定程序的过期时间。 UTC 时间使任务序列同时可用于所有计算机。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

输出

IResultObject

备注

请确保正确使用计划参数:

  • -AvailableDateTime:指定此部署 何时可用

  • -DeadlineDateTime:指定部署 过期的时间

  • -Schedule:指定部署分配或 截止时间