Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Set-CMProgram

Modify a program of a package.

Syntax

SetStandardProgramByProgramValue (Default)

Set-CMProgram
 -InputObject <IResultObject>
 [-AddSupportedOperatingSystemPlatform <IResultObject[]>]
 [-AfterRunningType <AfterRunningType>]
 [-Category <String>]
 [-CommandLine <String>]
 [-Comment <String>]
 [-DisableMomAlertOnRun <Boolean>]
 [-DisableProgram <Boolean>]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DriveLetter <String>]
 [-DriveMode <DriveModeType>]
 [-Duration <Int32>]
 [-EnableTaskSequence <Boolean>]
 [-GenerateMomAlertOnFail <Boolean>]
 [-PassThru]
 [-ProgramAssignedType <ProgramAssignedType>]
 [-ProgramRunType <ProgramRunType>]
 [-Reconnect <Boolean>]
 [-RemoveSupportedOperatingSystemPlatform <IResultObject[]>]
 [-Requirement <String>]
 [-RunMode <RunModeType>]
 [-RunOnAnyPlatform]
 [-RunType <RunType>]
 [-StandardProgram]
 [-SuppressProgramNotification <Boolean>]
 [-UserInteraction <Boolean>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetStandardProgramByName

Set-CMProgram
 -PackageName <String>
 -ProgramName <String>
 [-AddSupportedOperatingSystemPlatform <IResultObject[]>]
 [-AfterRunningType <AfterRunningType>]
 [-Category <String>]
 [-CommandLine <String>]
 [-Comment <String>]
 [-DisableMomAlertOnRun <Boolean>]
 [-DisableProgram <Boolean>]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DriveLetter <String>]
 [-DriveMode <DriveModeType>]
 [-Duration <Int32>]
 [-EnableTaskSequence <Boolean>]
 [-GenerateMomAlertOnFail <Boolean>]
 [-PassThru]
 [-ProgramAssignedType <ProgramAssignedType>]
 [-ProgramRunType <ProgramRunType>]
 [-Reconnect <Boolean>]
 [-RemoveSupportedOperatingSystemPlatform <IResultObject[]>]
 [-Requirement <String>]
 [-RunMode <RunModeType>]
 [-RunOnAnyPlatform]
 [-RunType <RunType>]
 [-StandardProgram]
 [-SuppressProgramNotification <Boolean>]
 [-UserInteraction <Boolean>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetStandardProgramById

Set-CMProgram
 -PackageId <String>
 -ProgramName <String>
 [-AddSupportedOperatingSystemPlatform <IResultObject[]>]
 [-AfterRunningType <AfterRunningType>]
 [-Category <String>]
 [-CommandLine <String>]
 [-Comment <String>]
 [-DisableMomAlertOnRun <Boolean>]
 [-DisableProgram <Boolean>]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DriveLetter <String>]
 [-DriveMode <DriveModeType>]
 [-Duration <Int32>]
 [-EnableTaskSequence <Boolean>]
 [-GenerateMomAlertOnFail <Boolean>]
 [-PassThru]
 [-ProgramAssignedType <ProgramAssignedType>]
 [-ProgramRunType <ProgramRunType>]
 [-Reconnect <Boolean>]
 [-RemoveSupportedOperatingSystemPlatform <IResultObject[]>]
 [-Requirement <String>]
 [-RunMode <RunModeType>]
 [-RunOnAnyPlatform]
 [-RunType <RunType>]
 [-StandardProgram]
 [-SuppressProgramNotification <Boolean>]
 [-UserInteraction <Boolean>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetStandardProgramByValue

Set-CMProgram
 -InputObject <IResultObject>
 -ProgramName <String>
 [-AddSupportedOperatingSystemPlatform <IResultObject[]>]
 [-AfterRunningType <AfterRunningType>]
 [-Category <String>]
 [-CommandLine <String>]
 [-Comment <String>]
 [-DisableMomAlertOnRun <Boolean>]
 [-DisableProgram <Boolean>]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DriveLetter <String>]
 [-DriveMode <DriveModeType>]
 [-Duration <Int32>]
 [-EnableTaskSequence <Boolean>]
 [-GenerateMomAlertOnFail <Boolean>]
 [-PassThru]
 [-ProgramAssignedType <ProgramAssignedType>]
 [-ProgramRunType <ProgramRunType>]
 [-Reconnect <Boolean>]
 [-RemoveSupportedOperatingSystemPlatform <IResultObject[]>]
 [-Requirement <String>]
 [-RunMode <RunModeType>]
 [-RunOnAnyPlatform]
 [-RunType <RunType>]
 [-StandardProgram]
 [-SuppressProgramNotification <Boolean>]
 [-UserInteraction <Boolean>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetDeviceProgramByName

Set-CMProgram
 -PackageName <String>
 -ProgramName <String>
 [-CommandLine <String>]
 [-CommandLineFolder <String>]
 [-Comment <String>]
 [-DeviceProgram]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DownloadProgramType <DownloadProgramType>]
 [-PassThru]
 [-Requirement <String>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetDeviceProgramById

Set-CMProgram
 -PackageId <String>
 -ProgramName <String>
 [-CommandLine <String>]
 [-CommandLineFolder <String>]
 [-Comment <String>]
 [-DeviceProgram]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DownloadProgramType <DownloadProgramType>]
 [-PassThru]
 [-Requirement <String>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetDeviceProgramByValue

Set-CMProgram
 -InputObject <IResultObject>
 -ProgramName <String>
 [-CommandLine <String>]
 [-CommandLineFolder <String>]
 [-Comment <String>]
 [-DeviceProgram]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DownloadProgramType <DownloadProgramType>]
 [-PassThru]
 [-Requirement <String>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

SetDeviceProgramByProgramValue

Set-CMProgram
 -InputObject <IResultObject>
 [-CommandLine <String>]
 [-CommandLineFolder <String>]
 [-Comment <String>]
 [-DeviceProgram]
 [-DiskSpaceRequirement <String>]
 [-DiskSpaceUnit <DiskSpaceUnitType>]
 [-DownloadProgramType <DownloadProgramType>]
 [-PassThru]
 [-Requirement <String>]
 [-WorkingDirectory <String>]
 [-DisableWildcardHandling]
 [-ForceWildcardHandling]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

Description

Use this cmdlet to modify a program of a package. Programs identify the actions that occur when the client receives the client package. You can associate multiple programs with the same package. For more information, see Packages and programs in Configuration Manager.

Note

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

Examples

Example 1: Modify a standard program

Set-CMProgram -Name "Test" -StandardProgramName SPM -Comment "Standard Upgrades" -CommandLine "RunThisNow" -RunType Maximized -AfterRunningType ProgramControlsRestart -Category "Laptops" -DiskSpaceRequirement 50 -DiskSpaceUnit MB -Duration 150 -Requirement 4 -Reconnect $False -SuppressProgramNotifications $False -DisableProgram $True -EnableTaskSequence $True -DisableMomAlertOnRun $True -GenerateMomAlertOnFail $True

Example 2: Modify a device program

Set-CMProgram -Name "Test" -DeviceProgramName DPM -Comment "Upgrades for December" -CommandLine "RunMe" -WorkingDirectory "\TempWork" -CommandLineFolder "C:\Windows" -DiskSpaceRequirement 30 -DiskSpaceUnit MB -DownloadProgramType AsSoonAsPossible -Requirement "All previous device updates"

Example 3: Add a supported OS platform

This example sets the OS requirement for a program associated with a standard package. It uses the Get-CMSupportedPlatform cmdlet to get an object for the specified platform. It then uses this supported platform object to configure the program.

$ProgramName = 'Script'
$PackageID = 'XYZ0000D'
$Platform = 'All Windows 10 (64-bit) Client'
$OS = Get-CMSupportedPlatform -Name $Platform -Fast

Set-CMProgram -PackageID $PackageID -ProgramName $ProgramName -AddSupportedOperatingSystemPlatform $OS -StandardProgram

Parameters

-AddSupportedOperatingSystemPlatform

Specify one or more supported OS platforms to add for the program. To get this object, use the Get-CMSupportedPlatform cmdlet.

Parameter properties

Type:

IResultObject[]

Default value:None
Supports wildcards:False
DontShow:False
Aliases:AddSupportedOperatingSystemPlatforms

Parameter sets

-AfterRunningType

Specify the action that occurs after the program completes successfully.

Parameter properties

Type:AfterRunningType
Default value:None
Accepted values:NoActionRequired, ConfigurationManagerRestartsComputer, ProgramControlsRestart, ConfigurationManagerLogsUserOff
Supports wildcards:False
DontShow:False

Parameter sets

-Category

Specify the category under which the program is displayed on the client computer.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-CommandLine

Specify the command line for the program.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-CommandLineFolder

Specify the folder that contains the executable program. This folder can be an absolute path on the client, or a path relative to the distribution folder that contains the package.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-Comment

Specify optional text about the program, such as a description. On client computers, this text displays with the program in Software Center.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

-DeviceProgram

Add this parameter to configure this program as a device program.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-DisableMomAlertOnRun

Indicates whether the computer running the program is in maintenance mode for the duration of the program. When in maintenance mode, System Center Operations Manager disables alerts while the program runs.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-DisableProgram

Set this parameter to $true to temporarily disable all deployments that contain this program. You can also use the Disable-CMProgram cmdlet.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-DisableWildcardHandling

This parameter treats wildcard characters as literal character values. You can't combine it with ForceWildcardHandling.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-DiskSpaceRequirement

Specify the amount of disk space that the software program requires to run on the computer. The value must be greater than or equal to zero. If you specify a value, use the DiskSpaceUnit parameter to specify units for the value.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-DiskSpaceUnit

Specify an accepted unit for the DiskSpaceRequirement parameter.

Parameter properties

Type:DiskSpaceUnitType
Default value:None
Accepted values:KB, MB, GB
Supports wildcards:False
DontShow:False

Parameter sets

-DownloadProgramType

Specify when the program is to run.

Parameter properties

Type:DownloadProgramType
Default value:None
Accepted values:AsSoonAsPossible, OnlyOverFastNetwork, OnlyWhenTheDeviceIsDocked
Supports wildcards:False
DontShow:False

Parameter sets

-DriveLetter

If you use the DriveMode parameter, specify a drive letter for the location.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-DriveMode

Indicates whether the program requires a specific drive letter, specified in the DriveLetter parameter.

  • RunWithUnc: Run the program from the UNC path. This value is the default. Starting in version 2010, this value was renamed from RenameWithUnc.

  • RequiresDriveLetter: The program uses any available drive letter.

  • RequiresSpecificDriveLetter: The program only runs if the drive isn't already in use.

Parameter properties

Type:DriveModeType
Default value:None
Accepted values:RunWithUnc, RequiresDriveLetter, RequiresSpecificDriveLetter
Supports wildcards:False
DontShow:False

Parameter sets

-Duration

Specifies the maximum amount of time that you expect the program to run. The default value is 120 minutes.

Parameter properties

Type:Int32
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-EnableTaskSequence

Indicates whether this program can be installed from the Install Package task sequence step.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-ForceWildcardHandling

This parameter processes wildcard characters and may lead to unexpected behavior (not recommended). You can't combine it with DisableWildcardHandling.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-GenerateMomAlertOnFail

Indicates whether Configuration Manager generates an application log event entry if the program fails.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-InputObject

Specify a program object to configure. To get this object, use the Get-CMProgram cmdlet.

Parameter properties

Type:IResultObject
Default value:None
Supports wildcards:False
DontShow:False
Aliases:ProgramPackage, Package, Program

Parameter sets

-PackageId

Specify a package ID with the program to configure.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:Id

Parameter sets

-PackageName

Specify a package name with the program to configure.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:Name

Parameter sets

-PassThru

Returns an object representing the item with which you're working. By default, this cmdlet may not generate any output.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-ProgramAssignedType

Specify whether the program runs once on the computer, or once for every user who signs in to the computer. The default value is RunOnceForTheComputer. The program is only assigned to users when the ProgramRunType parameter is set to OnlyWhenUserIsLoggedOn.

Parameter properties

Type:ProgramAssignedType
Default value:None
Accepted values:RunOnceForTheComputer, RunOnceForEveryUserWhoLogsOn
Supports wildcards:False
DontShow:False

Parameter sets

-ProgramName

Specify the name of the program to configure.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:StandardProgramName, DeviceProgramName

Parameter sets

-ProgramRunType

Specify the logon conditions that are necessary for the program to run. The default value is OnlyWhenUserIsLoggedOn.

Parameter properties

Type:ProgramRunType
Default value:None
Accepted values:OnlyWhenUserIsLoggedOn, WhetherOrNotUserIsLoggedOn, OnlyWhenNoUserIsLoggedOn
Supports wildcards:False
DontShow:False

Parameter sets

-Reconnect

Indicates whether the client computer reconnects to the distribution point when the user signs in.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-RemoveSupportedOperatingSystemPlatform

Specify one or more supported OS platforms to remove for the program. To get this object, use the Get-CMSupportedPlatform cmdlet.

Parameter properties

Type:

IResultObject[]

Default value:None
Supports wildcards:False
DontShow:False
Aliases:RemoveSupportedOperatingSystemPlatforms

Parameter sets

-Requirement

Specify any additional requirements for standard or device programs.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-RunMode

Specify the credentials the client computer requires to run the program.

Parameter properties

Type:RunModeType
Default value:None
Accepted values:RunWithUserRights, RunWithAdministrativeRights
Supports wildcards:False
DontShow:False

Parameter sets

-RunOnAnyPlatform

Add this parameter to clear all supported OS platforms from this program.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:ClearSupportedOperatingSystemPlatforms

Parameter sets

-RunType

Specify the mode in which the program runs on the client computer. The default value is Normal.

Parameter properties

Type:RunType
Default value:None
Accepted values:Normal, Minimized, Maximized, Hidden
Supports wildcards:False
DontShow:False

Parameter sets

-StandardProgram

Indicates that the program type in the deployment package is standard program.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-SuppressProgramNotification

Set this parameter to $true to suppress program notifications.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-UserInteraction

Indicates whether to allow users to interact with the program.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet doesn't run.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:wi

Parameter sets

-WorkingDirectory

Specify a working directory for the program.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Outputs

System.Object

Related Links


Feedback

Was this page helpful?