Edit

Share via


New-CMProgram

Create a new program for a package.

Syntax

NewStandardProgram (Default)

New-CMProgram
    -CommandLine <String>
    -PackageName <String>
    -StandardProgramName <String>
    [-AddSupportedOperatingSystemPlatform <IResultObject[]>]
    [-DiskSpaceRequirement <String>]
    [-DiskSpaceUnit <DiskSpaceUnitType>]
    [-DriveLetter <String>]
    [-DriveMode <DriveModeType>]
    [-Duration <Int32>]
    [-ProgramRunType <ProgramRunType>]
    [-Reconnect <Boolean>]
    [-RunMode <RunModeType>]
    [-RunType <RunType>]
    [-UserInteraction <Boolean>]
    [-WorkingDirectory <String>]
    [-DisableWildcardHandling]
    [-ForceWildcardHandling]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

NewStandardProgramById

New-CMProgram
    -CommandLine <String>
    -PackageId <String>
    -StandardProgramName <String>
    [-AddSupportedOperatingSystemPlatform <IResultObject[]>]
    [-DiskSpaceRequirement <String>]
    [-DiskSpaceUnit <DiskSpaceUnitType>]
    [-DriveLetter <String>]
    [-DriveMode <DriveModeType>]
    [-Duration <Int32>]
    [-ProgramRunType <ProgramRunType>]
    [-Reconnect <Boolean>]
    [-RunMode <RunModeType>]
    [-RunType <RunType>]
    [-UserInteraction <Boolean>]
    [-WorkingDirectory <String>]
    [-DisableWildcardHandling]
    [-ForceWildcardHandling]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

NewDeviceProgram

New-CMProgram
    -CommandLine <String>
    -DeviceProgramName <String>
    -PackageName <String>
    [-CommandLineFolder <String>]
    [-Comment <String>]
    [-DiskSpaceRequirement <String>]
    [-DiskSpaceUnit <DiskSpaceUnitType>]
    [-DownloadProgramType <DownloadProgramType>]
    [-Requirement <String>]
    [-WorkingDirectory <String>]
    [-DisableWildcardHandling]
    [-ForceWildcardHandling]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

NewDeviceProgramById

New-CMProgram
    -CommandLine <String>
    -DeviceProgramName <String>
    -PackageId <String>
    [-CommandLineFolder <String>]
    [-Comment <String>]
    [-DiskSpaceRequirement <String>]
    [-DiskSpaceUnit <DiskSpaceUnitType>]
    [-DownloadProgramType <DownloadProgramType>]
    [-Requirement <String>]
    [-WorkingDirectory <String>]
    [-DisableWildcardHandling]
    [-ForceWildcardHandling]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Use this cmdlet to create a program for a package. Programs are commands that are associated with a Configuration Manager package. They 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: Create a program

This example first splats the cmdlet parameters into the parameters variable. It's not required to splat the parameters, it just makes it easier to read the parameters for such a long command line.

This command creates a program named Scan x64 in the default User State Migration Tool for Windows package.

$parameters = @{
  PackageName = "User State Migration Tool for Windows"
  StandardProgramName = "Scan x64"
  CommandLine = "amd64\scanstate.exe \\gold\sources$\userdata /i:miguser.xml /i:migapp.xml /o"
  RunType = "Normal"
  ProgramRunType = "OnlyWhenNoUserIsLoggedOn"
  DiskSpaceRequirement = 200
  DiskSpaceUnit = "MB"
  Duration = 100
  DriveMode = "RunWithUnc"
}
New-CMProgram @parameters

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

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-CommandLine

Specify the command line for the program.

Parameter properties

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

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewDeviceProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewDeviceProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-DeviceProgramName

Specifies a device program name.

Parameter properties

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

Parameter sets

NewDeviceProgram
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgramById
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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
Aliases:DiskSpaceReq

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewDeviceProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-PackageId

Specify the ID of the package for this program.

Parameter properties

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

Parameter sets

NewStandardProgramById
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgramById
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-PackageName

Specify a package name for this program.

Parameter properties

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

Parameter sets

NewStandardProgram
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgram
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ProgramRunType

Specifies the logon conditions that are necessary for the program to run.

The default setting is OnlyWhenUserIsLoggedOn.

Parameter properties

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

Parameter sets

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Reconnect

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

Parameter properties

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

Parameter sets

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Requirement

Specifies additional requirements for standard or device programs.

Parameter properties

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

Parameter sets

NewDeviceProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewDeviceProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-RunMode

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

Parameter properties

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

Parameter sets

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-StandardProgramName

Specify the standard program name.

Parameter properties

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

Parameter sets

NewStandardProgram
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

NewStandardProgram
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
NewStandardProgramById
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-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

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-WorkingDirectory

Specify a working directory for the program.

Parameter properties

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

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

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

None

Outputs

IResultObject

Notes

For more information on this return object and its properties, see SMS_Program server WMI class.