Start-CMSoftwareUpdateDeployment

Start-CMSoftwareUpdateDeployment

Initiates a software update deployment in Configuration Manager.

Syntax

Parameter Set: DeploySoftwareUpdateById
Start-CMSoftwareUpdateDeployment -CollectionName <String> -SoftwareUpdateId <String> [-AllowRestart <Boolean> ] [-AllowUseMeteredNetwork <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-DeploymentName <String> ] [-DeploymentType <DeploymentType> {Available | Required} ] [-Description <String> ] [-DisableOperationsManagerAlert <Boolean> ] [-DownloadFromMicrosoftUpdate <Boolean> ] [-GenerateOperationsManagerAlert <Boolean> ] [-GenerateSuccessAlert <Boolean> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-ProtectedType <ProtectedType> {NoInstall | RemoteDistributionPoint} ] [-RestartServer <Boolean> ] [-RestartWorkstation <Boolean> ] [-SendWakeUpPacket <Boolean> ] [-SoftwareInstallation <Boolean> ] [-TimeBasedOn <TimeType> {LocalTime | UTC} ] [-TimeUnit <TimeUnitType> {Days | Hours | Months | Weeks} ] [-TimeValue <Int32> ] [-UnprotectedType <UnprotectedType> {NoInstall | UnprotectedDistributionPoint} ] [-UseBranchCache <Boolean> ] [-UserNotification <UserNotificationType> {DisplayAll | DisplaySoftwareCenterOnly | HideAll} ] [-VerbosityLevel <VerbosityLevelType> {AllMessages | OnlyErrorMessages | OnlySuccessAndErrorMessages} ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: DeploySoftwareUpdateByName
Start-CMSoftwareUpdateDeployment -CollectionName <String> -SoftwareUpdateName <String> [-AllowRestart <Boolean> ] [-AllowUseMeteredNetwork <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-DeploymentName <String> ] [-DeploymentType <DeploymentType> {Available | Required} ] [-Description <String> ] [-DisableOperationsManagerAlert <Boolean> ] [-DownloadFromMicrosoftUpdate <Boolean> ] [-GenerateOperationsManagerAlert <Boolean> ] [-GenerateSuccessAlert <Boolean> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-ProtectedType <ProtectedType> {NoInstall | RemoteDistributionPoint} ] [-RestartServer <Boolean> ] [-RestartWorkstation <Boolean> ] [-SendWakeUpPacket <Boolean> ] [-SoftwareInstallation <Boolean> ] [-TimeBasedOn <TimeType> {LocalTime | UTC} ] [-TimeUnit <TimeUnitType> {Days | Hours | Months | Weeks} ] [-TimeValue <Int32> ] [-UnprotectedType <UnprotectedType> {NoInstall | UnprotectedDistributionPoint} ] [-UseBranchCache <Boolean> ] [-UserNotification <UserNotificationType> {DisplayAll | DisplaySoftwareCenterOnly | HideAll} ] [-VerbosityLevel <VerbosityLevelType> {AllMessages | OnlyErrorMessages | OnlySuccessAndErrorMessages} ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: DeploySoftwareUpdateByValue
Start-CMSoftwareUpdateDeployment -CollectionName <String> -SoftwareUpdate <IResultObject> [-AllowRestart <Boolean> ] [-AllowUseMeteredNetwork <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-DeploymentName <String> ] [-DeploymentType <DeploymentType> {Available | Required} ] [-Description <String> ] [-DisableOperationsManagerAlert <Boolean> ] [-DownloadFromMicrosoftUpdate <Boolean> ] [-GenerateOperationsManagerAlert <Boolean> ] [-GenerateSuccessAlert <Boolean> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-ProtectedType <ProtectedType> {NoInstall | RemoteDistributionPoint} ] [-RestartServer <Boolean> ] [-RestartWorkstation <Boolean> ] [-SendWakeUpPacket <Boolean> ] [-SoftwareInstallation <Boolean> ] [-TimeBasedOn <TimeType> {LocalTime | UTC} ] [-TimeUnit <TimeUnitType> {Days | Hours | Months | Weeks} ] [-TimeValue <Int32> ] [-UnprotectedType <UnprotectedType> {NoInstall | UnprotectedDistributionPoint} ] [-UseBranchCache <Boolean> ] [-UserNotification <UserNotificationType> {DisplayAll | DisplaySoftwareCenterOnly | HideAll} ] [-VerbosityLevel <VerbosityLevelType> {AllMessages | OnlyErrorMessages | OnlySuccessAndErrorMessages} ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: DeploySoftwareUpdateGroupById
Start-CMSoftwareUpdateDeployment -CollectionName <String> -SoftwareUpdateGroupId <String> [-AllowRestart <Boolean> ] [-AllowUseMeteredNetwork <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-DeploymentName <String> ] [-DeploymentType <DeploymentType> {Available | Required} ] [-Description <String> ] [-DisableOperationsManagerAlert <Boolean> ] [-DownloadFromMicrosoftUpdate <Boolean> ] [-GenerateOperationsManagerAlert <Boolean> ] [-GenerateSuccessAlert <Boolean> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-ProtectedType <ProtectedType> {NoInstall | RemoteDistributionPoint} ] [-RestartServer <Boolean> ] [-RestartWorkstation <Boolean> ] [-SendWakeUpPacket <Boolean> ] [-SoftwareInstallation <Boolean> ] [-TimeBasedOn <TimeType> {LocalTime | UTC} ] [-TimeUnit <TimeUnitType> {Days | Hours | Months | Weeks} ] [-TimeValue <Int32> ] [-UnprotectedType <UnprotectedType> {NoInstall | UnprotectedDistributionPoint} ] [-UseBranchCache <Boolean> ] [-UserNotification <UserNotificationType> {DisplayAll | DisplaySoftwareCenterOnly | HideAll} ] [-VerbosityLevel <VerbosityLevelType> {AllMessages | OnlyErrorMessages | OnlySuccessAndErrorMessages} ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: DeploySoftwareUpdateGroupByName
Start-CMSoftwareUpdateDeployment -CollectionName <String> -SoftwareUpdateGroupName <String> [-AllowRestart <Boolean> ] [-AllowUseMeteredNetwork <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-DeploymentName <String> ] [-DeploymentType <DeploymentType> {Available | Required} ] [-Description <String> ] [-DisableOperationsManagerAlert <Boolean> ] [-DownloadFromMicrosoftUpdate <Boolean> ] [-GenerateOperationsManagerAlert <Boolean> ] [-GenerateSuccessAlert <Boolean> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-ProtectedType <ProtectedType> {NoInstall | RemoteDistributionPoint} ] [-RestartServer <Boolean> ] [-RestartWorkstation <Boolean> ] [-SendWakeUpPacket <Boolean> ] [-SoftwareInstallation <Boolean> ] [-TimeBasedOn <TimeType> {LocalTime | UTC} ] [-TimeUnit <TimeUnitType> {Days | Hours | Months | Weeks} ] [-TimeValue <Int32> ] [-UnprotectedType <UnprotectedType> {NoInstall | UnprotectedDistributionPoint} ] [-UseBranchCache <Boolean> ] [-UserNotification <UserNotificationType> {DisplayAll | DisplaySoftwareCenterOnly | HideAll} ] [-VerbosityLevel <VerbosityLevelType> {AllMessages | OnlyErrorMessages | OnlySuccessAndErrorMessages} ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: DeploySoftwareUpdateGroupByValue
Start-CMSoftwareUpdateDeployment -CollectionName <String> -SoftwareUpdateGroup <IResultObject> [-AllowRestart <Boolean> ] [-AllowUseMeteredNetwork <Boolean> ] [-DeploymentAvailableDay <DateTime> ] [-DeploymentAvailableTime <DateTime> ] [-DeploymentExpireDay <DateTime> ] [-DeploymentExpireTime <DateTime> ] [-DeploymentName <String> ] [-DeploymentType <DeploymentType> {Available | Required} ] [-Description <String> ] [-DisableOperationsManagerAlert <Boolean> ] [-DownloadFromMicrosoftUpdate <Boolean> ] [-GenerateOperationsManagerAlert <Boolean> ] [-GenerateSuccessAlert <Boolean> ] [-PercentSuccess <Int32> ] [-PersistOnWriteFilterDevice <Boolean> ] [-ProtectedType <ProtectedType> {NoInstall | RemoteDistributionPoint} ] [-RestartServer <Boolean> ] [-RestartWorkstation <Boolean> ] [-SendWakeUpPacket <Boolean> ] [-SoftwareInstallation <Boolean> ] [-TimeBasedOn <TimeType> {LocalTime | UTC} ] [-TimeUnit <TimeUnitType> {Days | Hours | Months | Weeks} ] [-TimeValue <Int32> ] [-UnprotectedType <UnprotectedType> {NoInstall | UnprotectedDistributionPoint} ] [-UseBranchCache <Boolean> ] [-UserNotification <UserNotificationType> {DisplayAll | DisplaySoftwareCenterOnly | HideAll} ] [-VerbosityLevel <VerbosityLevelType> {AllMessages | OnlyErrorMessages | OnlySuccessAndErrorMessages} ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Start-CMSoftwareUpdateDeployment cmdlet initiates a software update deployment.

Parameters

-AllowRestart<Boolean>

Indicates whether to allow a restart following installation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AllowUseMeteredNetwork<Boolean>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-CollectionName<String>

Specifies a name of a collection in Configuration Manager. A collection is a group of client computers.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentAvailableDay<DateTime>

Specifies a day, in MM/DD/YYYY format, when a software update deployment is available. By default, the update is available immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentAvailableTime<DateTime>

Specifies a time, in HH:MM format, when a software update deployment is available. By default, the update is available immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentExpireDay<DateTime>

Specifies a day, in MM/DD/YYYY format, when a software update deployment is no longer available. To expire a software update on a certain day, set this parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentExpireTime<DateTime>

Specifies a time, in HH:MM format, when a software update deployment is no longer available. To expire a software update at a certain time, set this parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentName<String>

Specifies a name for a software update deployment in Configuration Manager.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeploymentType<DeploymentType>

Specifies a deployment type in Configuration Manager.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Description<String>

Specifies a description for a software update deployment.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DisableOperationsManagerAlert<Boolean>

Indicates whether to disable System Center 2012 – Operations Manager alerts during software updates.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DownloadFromMicrosoftUpdate<Boolean>

Indicates whether clients download updates directly from Microsoft Update.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-GenerateOperationsManagerAlert<Boolean>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-GenerateSuccessAlert<Boolean>

Indicates whether to generate alerts when a software installation succeeds.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PercentSuccess<Int32>

Specifies a percent success.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PersistOnWriteFilterDevice<Boolean>

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.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ProtectedType<ProtectedType>

Specifies a protected type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-RestartServer<Boolean>

Indicates whether to allow a server to restart following a software update. Setting this value to $True prevents the server from restarting. Setting this value to $False allows the server to restart.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-RestartWorkstation<Boolean>

Indicates whether to allow a workstation to restart following a software update. A value of $True prevents the computer from restarting. A value of $False allows the computer to restart.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SendWakeUpPacket<Boolean>

Indicates whether to send a wake up packet to computers before the deployment begins. If this value is $True, Configuration Manager wakes a computer from sleep. If this value is $False, it does not wake computers from sleep. For computers to wake, you must first configure Wake On LAN.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareInstallation<Boolean>

Indicates whether to allow the software update to install, even if the installation occurs outside of a maintenance window.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareUpdate<IResultObject>

Specifies a software update deployment object. To obtain a software update object, use the Get-CMSoftwareUpdate cmdlet.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareUpdateGroup<IResultObject>

Specifies a software update group object. To obtain a software update group object, use the Get-CMSoftwareUpdateGroup cmdlet.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareUpdateGroupId<String>

Specifies an ID for a software update group. A software update group contains individual software updates.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareUpdateGroupName<String>

Specifies a name for a software update group.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareUpdateId<String>

Specifies an ID for a software update in Configuration Manager.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SoftwareUpdateName<String>

Specifies a name for a software update in Configuration Manager.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TimeBasedOn<TimeType>

Specifies that client computers use either local or UTC time to determine the availability of a program. UTC time makes the software update available at the same time for all computers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TimeUnit<TimeUnitType>

Specifies the time unit in Configuration Manager. The acceptable values for this parameter are:

-- Days
-- Hours
-- Months
-- Weeks

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TimeValue<Int32>

Specifies a time value in the units specified in the TimeUnit parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-UnprotectedType<UnprotectedType>

Specifies an unprotected type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-UseBranchCache<Boolean>

Indicates whether to use Branch Cache as a distribution point for updates.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-UserNotification<UserNotificationType>

Specifies a user notification type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-VerbosityLevel<VerbosityLevelType>

Specifies verbosity level. The acceptable values for this parameter are:

-- AllMessages
-- OnlyErrorMessages
-- OnlySuccessAndErrorMessages

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

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: Start a required deployment by software update name

This command starts a required software update deployment by using a software update name.

PS C:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateName "CT" -CollectionName "All Systems" -DeploymentName "Contoso-test" -Description "Contoso-test-deployment" -DeploymentType Required -SendWakeUpPacket $True -VerbosityLevel AllMessages -TimeBasedOn UTC -DeploymentAvailableDay 2012/10/24 -DeploymentAvailableTime 23:56 -DeploymentExpireDay 2013/10/21 -DeploymentExpireTime 11:20 -UserNotification HideAll -SoftwareInstallation $True -AllowRestart $True -RestartServer $True -RestartWorkstation $True -PersistOnWriteFilterDevice $False -GenerateSuccessAlert $True -PercentSuccess 90 -TimeValue 10 -TimeUnit Days -DisableOperationsManagerAlert $True -GenerateOperationsManagerAlert $True -ProtectedType RemoteDistributionPoint -UnprotectedType NoInstall -UseBranchCache $False -DownloadFromMicrosoftUpdate $True -AllowUseMeteredNetwork $True

Example 2: Start an available deployment by software update name

This command starts an available software update deployment by using a software update name.

PS C:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateName "CT" -CollectionName "All Systems" -DeploymentName "Contoso-test2" -Description "Contoso-test2-deployment" -DeploymentType Available -VerbosityLevel AllMessages -TimeBasedOn UTC -DeploymentAvailableDay 2012/10/24 -DeploymentAvailableTime 23:56 -UserNotification DisplayAll -PersistOnWriteFilterDevice $False -DisableOperationsManagerAlert $True -GenerateOperationsManagerAlert $True -ProtectedType RemoteDistributionPoint -UnprotectedType NoInstall -UseBranchCache $False -DownloadFromMicrosoftUpdate $True -AllowUseMeteredNetwork $True

Example 3: Start a required deployment by software update group name

This command starts a software update deployment by using a collection name and an input object.

PS C:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateGroupName "CTG" -CollectionName "All Systems" -DeploymentName "Contoso-test3" -Description "Contoso-test3-deployment" -DeploymentType Required -SendWakeUpPacket $True -VerbosityLevel AllMessages -TimeBasedOn UTC -DeploymentAvailableDay 2012/10/24 -DeploymentAvailableTime 23:56 -DeploymentExpireDay 2013/10/21 -DeploymentExpireTime 11:20 -UserNotification HideAll -SoftwareInstallation $True -AllowRestart $True -RestartServer $True -RestartWorkstation $True -PersistOnWriteFilterDevice $False -GenerateSuccessAlert $True -PercentSuccess 90 -TimeValue 10 -TimeUnit Days -DisableOperationsManagerAlert $True -GenerateOperationsManagerAlert $True -ProtectedType RemoteDistributionPoint -UnprotectedType NoInstall -UseBranchCache $False -DownloadFromMicrosoftUpdate $True -AllowUseMeteredNetwork $True

Example 4: Start a deployment by software update group name

This command starts a software update deployment by using a software update group name.

PS C:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateGroupName "CTG" -CollectionName "All Systems" -DeploymentName "Contoso-test4" -Description "Contoso-test4-deployment" -DeploymentType Available -VerbosityLevel AllMessages -TimeBasedOn UTC -DeploymentAvailableDay 2012/10/24 -DeploymentAvailableTime 23:56 -UserNotification DisplayAll -PersistOnWriteFilterDevice $False -DisableOperationsManagerAlert $True -GenerateOperationsManagerAlert $True -ProtectedType RemoteDistributionPoint -UnprotectedType NoInstall -UseBranchCache $False -DownloadFromMicrosoftUpdate $True -AllowUseMeteredNetwork $True

Get-CMSoftwareUpdate

Get-CMSoftwareUpdateGroup

Set-CMSoftwareUpdateDeployment