New-CMSoftwareUpdateDeployment

Create a software update deployment.

Syntax

New-CMSoftwareUpdateDeployment
   [-AcceptEula]
   [-AllowRestart <Boolean>]
   [-DeploymentName <String>]
   [-DeploymentType <DeploymentType>]
   [-Comment <String>]
   [-DisableOperationsManagerAlert <Boolean>]
   [-DownloadFromMicrosoftUpdate <Boolean>]
   [-GenerateOperationsManagerAlert <Boolean>]
   [-GenerateSuccessAlert <Boolean>]
   -InputObject <IResultObject>
   [-PercentSuccess <Int32>]
   [-ProtectedType <ProtectedType>]
   [-DeployWithNoPackage <Boolean>]
   [-RequirePostRebootFullScan <Boolean>]
   [-RestartServer <Boolean>]
   [-RestartWorkstation <Boolean>]
   [-SavedPackageId <String>]
   [-SoftDeadlineEnabled <Boolean>]
   [-SoftwareInstallation <Boolean>]
   [-TimeBasedOn <TimeType>]
   [-TimeUnit <TimeUnitType>]
   [-TimeValue <Int32>]
   [-UnprotectedType <UnprotectedType>]
   [-UseBranchCache <Boolean>]
   [-UserNotification <UserNotificationType>]
   [-VerbosityLevel <VerbosityLevelType>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-DeadlineDateTime <DateTime>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateDeployment
   [-AcceptEula]
   [-AllowRestart <Boolean>]
   [-DeploymentName <String>]
   [-DeploymentType <DeploymentType>]
   [-Comment <String>]
   [-DisableOperationsManagerAlert <Boolean>]
   [-DownloadFromMicrosoftUpdate <Boolean>]
   [-GenerateOperationsManagerAlert <Boolean>]
   [-GenerateSuccessAlert <Boolean>]
   [-PercentSuccess <Int32>]
   [-ProtectedType <ProtectedType>]
   [-DeployWithNoPackage <Boolean>]
   [-RequirePostRebootFullScan <Boolean>]
   [-RestartServer <Boolean>]
   [-RestartWorkstation <Boolean>]
   [-SavedPackageId <String>]
   [-SoftDeadlineEnabled <Boolean>]
   [-SoftwareInstallation <Boolean>]
   -SoftwareUpdateGroupId <String>
   [-TimeBasedOn <TimeType>]
   [-TimeUnit <TimeUnitType>]
   [-TimeValue <Int32>]
   [-UnprotectedType <UnprotectedType>]
   [-UseBranchCache <Boolean>]
   [-UserNotification <UserNotificationType>]
   [-VerbosityLevel <VerbosityLevelType>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-DeadlineDateTime <DateTime>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateDeployment
   [-AcceptEula]
   [-AllowRestart <Boolean>]
   [-DeploymentName <String>]
   [-DeploymentType <DeploymentType>]
   [-Comment <String>]
   [-DisableOperationsManagerAlert <Boolean>]
   [-DownloadFromMicrosoftUpdate <Boolean>]
   [-GenerateOperationsManagerAlert <Boolean>]
   [-GenerateSuccessAlert <Boolean>]
   [-PercentSuccess <Int32>]
   [-ProtectedType <ProtectedType>]
   [-DeployWithNoPackage <Boolean>]
   [-RequirePostRebootFullScan <Boolean>]
   [-RestartServer <Boolean>]
   [-RestartWorkstation <Boolean>]
   [-SavedPackageId <String>]
   [-SoftDeadlineEnabled <Boolean>]
   [-SoftwareInstallation <Boolean>]
   -SoftwareUpdateGroupName <String>
   [-TimeBasedOn <TimeType>]
   [-TimeUnit <TimeUnitType>]
   [-TimeValue <Int32>]
   [-UnprotectedType <UnprotectedType>]
   [-UseBranchCache <Boolean>]
   [-UserNotification <UserNotificationType>]
   [-VerbosityLevel <VerbosityLevelType>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-DeadlineDateTime <DateTime>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateDeployment
   [-AcceptEula]
   [-AllowRestart <Boolean>]
   [-DeploymentName <String>]
   [-DeploymentType <DeploymentType>]
   [-Comment <String>]
   [-DisableOperationsManagerAlert <Boolean>]
   [-DownloadFromMicrosoftUpdate <Boolean>]
   [-GenerateOperationsManagerAlert <Boolean>]
   [-GenerateSuccessAlert <Boolean>]
   [-PercentSuccess <Int32>]
   [-ProtectedType <ProtectedType>]
   [-DeployWithNoPackage <Boolean>]
   [-RequirePostRebootFullScan <Boolean>]
   [-RestartServer <Boolean>]
   [-RestartWorkstation <Boolean>]
   [-SavedPackageId <String>]
   [-SoftDeadlineEnabled <Boolean>]
   [-SoftwareInstallation <Boolean>]
   -SoftwareUpdateId <String>
   [-TimeBasedOn <TimeType>]
   [-TimeUnit <TimeUnitType>]
   [-TimeValue <Int32>]
   [-UnprotectedType <UnprotectedType>]
   [-UseBranchCache <Boolean>]
   [-UserNotification <UserNotificationType>]
   [-VerbosityLevel <VerbosityLevelType>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-DeadlineDateTime <DateTime>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMSoftwareUpdateDeployment
   [-AcceptEula]
   [-AllowRestart <Boolean>]
   [-DeploymentName <String>]
   [-DeploymentType <DeploymentType>]
   [-Comment <String>]
   [-DisableOperationsManagerAlert <Boolean>]
   [-DownloadFromMicrosoftUpdate <Boolean>]
   [-GenerateOperationsManagerAlert <Boolean>]
   [-GenerateSuccessAlert <Boolean>]
   [-PercentSuccess <Int32>]
   [-ProtectedType <ProtectedType>]
   [-DeployWithNoPackage <Boolean>]
   [-RequirePostRebootFullScan <Boolean>]
   [-RestartServer <Boolean>]
   [-RestartWorkstation <Boolean>]
   [-SavedPackageId <String>]
   [-SoftDeadlineEnabled <Boolean>]
   [-SoftwareInstallation <Boolean>]
   -SoftwareUpdateName <String>
   [-TimeBasedOn <TimeType>]
   [-TimeUnit <TimeUnitType>]
   [-TimeValue <Int32>]
   [-UnprotectedType <UnprotectedType>]
   [-UseBranchCache <Boolean>]
   [-UserNotification <UserNotificationType>]
   [-VerbosityLevel <VerbosityLevelType>]
   [-DistributeCollectionName <String>]
   [-DistributeContent]
   [-DistributionPointGroupName <String>]
   [-DistributionPointName <String>]
   [-AvailableDateTime <DateTime>]
   [-DeadlineDateTime <DateTime>]
   [-PersistOnWriteFilterDevice <Boolean>]
   [-SendWakeupPacket <Boolean>]
   [-UseMeteredNetwork <Boolean>]
   [-Collection <IResultObject>]
   [-CollectionId <String>]
   [-CollectionName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Use this cmdlet to deploy software updates to a target collection.

Note

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

Examples

Example 1

New-CMSoftwareUpdateDeployment -DeploymentName "updates deployment" -SoftwareUpdateGroupName "software update group" -CollectionName "Desktop clients for SUM" -Description "a more detailed description of this deployment" -DeploymentType Required -VerbosityLevel AllMessages -AvailableDateTime "2020/08/25 02:00AM" -DeadlineDateTime "2020/08/26 02:00AM" -UserNotification DisplaySoftwareCenterOnly -SoftwareInstallation $True  -AllowRestart $True  -RestartServer $False -RestartWorkstation $False -PersistOnWriteFilterDevice $True -RequirePostRebootFullScan $True -ProtectedType RemoteDistributionPoint

Parameters

-AcceptEula

Some software updates include license terms. When you deploy software updates, the license terms aren't displayed. Add this parameter to automatically deploy all software updates regardless of an associated license term.

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

-AllowRestart

When the installation deadline is reached, set this parameter to $true to allow system restart if necessary outside the maintenance window.

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

-AvailableDateTime

Specify when the software updates are available.

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

-Collection

Specifies a collection object in Configuration Manager the deployment will target. Get this object with the Get-CMCollection cmdlet.

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

-CollectionId

Specify the collection ID as the target for this software update deployment.

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

-CollectionName

Specify the collection name as the target for this software update deployment.

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

-Comment

Specify an optional description for the software update deployment.

Type:String
Aliases:Description
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

-DeadlineDateTime

Specify an installation deadline for required software updates. When the deadline is reached, the client installs required software updates on the device, and restarts the device if necessary.

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

-DeploymentName

Specify a name for the software update deployment.

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

-DeploymentType

Specify if this deployment is available for users to install or if it's a required installation at the specified deadline schedule.

Type:DeploymentType
Accepted values:Required, Available
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeployWithNoPackage

Set this parameter to $true to not use a deployment package. Clients download software update content from peers or the Microsoft cloud.

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

-DisableOperationsManagerAlert

Indicates whether to disable Operations Manager alerts during software updates.

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

-DistributeCollectionName

The site distributes content to the distribution point groups that are associated with this collection name.

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

-DistributeContent

Add this parameter to distribute the software update content when you create this deployment. Clients can't install the software updates until you distribute content to distribution points that the clients can access.

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

-DistributionPointGroupName

The site distributes content to this distribution point group.

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

-DistributionPointName

The site distributes content to this distribution point.

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

-DownloadFromMicrosoftUpdate

If software update content isn't available on a distribution point in current, neighbor, or site boundary groups, download content from Microsoft Update.

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

-GenerateOperationsManagerAlert

Indicates whether to generate Operations Manager alerts when a software installation fails.

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

-GenerateSuccessAlert

If compliance of the deployment is below a specified threshold, the deployment generates an alert in the Configuration Manager console. The default threshold is 95 percent. To change the threshold, use the PercentSuccess parameter.

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

-InputObject

Specify a software update object to deploy.

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

-PercentSuccess

If you set -GenerateSuccessAlert to $true, use this parameter to specify the percentage compliance threshold at which the site generates a Configuration Manager console alert. If not specified, the site generates an alert if the deployment doesn't achieve 95 percent compliance by the specified deadline.

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

-PersistOnWriteFilterDevice

Indicates whether to install a software update on the temporary overlay and commit changes later, or commit the changes at an installation deadline or a maintenance window.

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

-ProtectedType

Specify whether clients can use a distribution point from a neighbor boundary group or the default site boundary group.

Type:ProtectedType
Accepted values:NoInstall, RemoteDistributionPoint
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequirePostRebootFullScan

This parameter controls the following console option: Software updates deployment re-evaluation behavior upon restart. If you set this option to $true, after clients restart when they install updates from this deployment, they then run a full update deployment evaluation cycle.

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

-RestartServer

Indicates whether to allow a server to restart following a software update.

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

-RestartWorkstation

Indicates whether to allow a workstation to restart following a software update.

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

-SavedPackageId

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

-SendWakeupPacket

Indicates whether to send a wake-up packet to computers before the deployment begins.

  • $True: Configuration Manager wakes a computer from sleep.
  • $False: It doesn't wake computers from sleep.

For computers to wake, first configure Wake On LAN.

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

-SoftDeadlineEnabled

Use this parameter to set the following option on the Deployment Schedule page of the ADR deployment settings: Delay enforcement of this deployment according to user preferences, up to the grace period defined in client settings.

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

-SoftwareInstallation

When the installation deadline is reached, set this parameter to $true to allow software update installation outside the maintenance window.

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

-SoftwareUpdateGroupId

Specify the ID of a software update group to deploy.

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

-SoftwareUpdateGroupName

Specify the name of a software update group to deploy.

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

-SoftwareUpdateId

Specify the ID of a software update to deploy.

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

-SoftwareUpdateName

Specify the name of a software update to deploy.

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

-TimeBasedOn

Specify that clients use either local or UTC time to determine the availability of the deployment. UTC time makes the software update available at the same time for all computers.

Type:TimeType
Accepted values:LocalTime, Utc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeUnit

Specify the type of value of the -TimeValue parameter.

Type:TimeUnitType
Accepted values:Hours, Days, Weeks, Months
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeValue

Specify an integer value for the time. Use the -TimeUnit parameter to determine the type of time for this value.

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

-UnprotectedType

When software updates aren't available on any distribution points in current or neighbor boundary group, specify whether clients can download and install software updates from distribution points in the site default boundary group.

Type:UnprotectedType
Accepted values:NoInstall, UnprotectedDistributionPoint
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseBranchCache

Indicates whether to use Windows BranchCache to download software update content.

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

-UseMeteredNetwork

Indicates whether to allow clients to use a metered network to download updates.

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

-UserNotification

Specify a user notification experience.

  • DisplayAll: Display in Software Center and show all notifications
  • DisplaySoftwareCenterOnly: Display in Software Center and only show notifications for computer restarts
  • HideAll: Hide in Software Center and all notifications
Type:UserNotificationType
Accepted values:DisplayAll, DisplaySoftwareCenterOnly, HideAll
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VerbosityLevel

Specify the state message detail level returned by clients for this software update deployment.

Type:VerbosityLevelType
Accepted values:AllMessages, OnlySuccessAndErrorMessages, OnlyErrorMessages
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

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Outputs

System.Object