Set-SCScript

Changes the properties of a script stored in the VMM library.

Description

The Set-SCScript cmdlet changes one or more properties of a script stored in the System Center Virtual Machine Manager (VMM) library.

Properties that you can change include:

- Description
- Enabled
- Name
- Owner
- SharePath

Script objects represent script files stored in a library share on a library server. Typically, these scripts are either Windows PowerShell scripts or answer files (such as a Sysprep.inf or an Unattend.xml file) that contain the inputs required for the Windows Setup program.

For more information about Set-SCScript, type: "Get-Help Set-SCScript -online".

Parameters

Script

Required? true
Accept Pipeline Input? true (ByValue)
Position? 0
Specifies a VMM script object.

Description

Required? false
Accept Pipeline Input? false
Position? named
States a description for the specified object.

Enabled

Required? false
Accept Pipeline Input? false
Position? named
Enables an object when set to $True, or disables an object when set to $False. For example, if you want to upgrade software on a virtual machine template, you can disable the template object in the VMM library to temporarily prevent users from using that object.

FamilyName

Required? false
Accept Pipeline Input? false
Position? named
Specifies a family name for a physical resource in the VMM library. This value is used in conjunction with Release, Namespace, and Type to establish equivalency among library resources.

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

Name

Required? false
Accept Pipeline Input? false
Position? named
Specifies the name of a VMM object.

Owner

Required? false
Accept Pipeline Input? false
Position? named
Specifies the owner of a VMM object in the form of a valid domain user account.

Example format: -Owner "Contoso\ReneeLo"
Example format: -Owner "ReneeLo@Contoso"

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Release

Required? false
Accept Pipeline Input? false
Position? named
Specifies a string that describes the release of a library resource. VMM automatically creates a release value for every resource imported into the library. After the resource has been imported, the string can be customized.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

SharePath

Required? false
Accept Pipeline Input? false
Position? named
Specifies a path to a valid library share on an existing library server that uses a Universal Naming Convention (UNC) path. 

Example format: –SharePath "\\LibServer01\LibShare"

UserRole

Required? false
Accept Pipeline Input? false
Position? named
Specifies a user role object.

VMMServer

Required? false
Accept Pipeline Input? false
Position? named
Specifies a VMM server object.

Scripts

Required? true
Accept Pipeline Input? true (ByValue)
Position? 0
Specifies an array of script objects.

FamilyName

Required? false
Accept Pipeline Input? false
Position? named
Specifies a family name for a physical resource in the VMM library. This value is used in conjunction with Release, Namespace, and Type to establish equivalency among library resources.

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Release

Required? false
Accept Pipeline Input? false
Position? named
Specifies a string that describes the release of a library resource. VMM automatically creates a release value for every resource imported into the library. After the resource has been imported, the string can be customized.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

VMMServer

Required? false
Accept Pipeline Input? false
Position? named
Specifies a VMM server object.
Requires a VMM script object, which can be retrieved by using the Get-SCScript cmdlet. 

Examples

1: Change the description of a script.
PS C:\> $Script = Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq “LibraryServer01.Contoso.com” -and $_.Name -eq "Sysprep.inf" }
PS C:\> Set-SCScript -Script $Script -Description “Windows Server 2008 R2 Sysprep Answer File”  
The first command retrieves the answer file script object named Sysprep.inf from the library on VMMServer01and then stores the object in the $Script variable.

The second command changes the description of this script object to “Windows Server 2008 R2 Sysprep Answer File”.
2: Disable a Windows PowerShell script stored in the VMM library.
PS C:\> $Script = Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq “LibraryServer01.Contoso.com” -and $_.Name -eq "AddHost.ps1" }
PS C:\> Set-SCScript -Script $Script -Enabled $FALSE
The first command gets the the PowerShell script object named AddHost.ps1 and stores the object in the $Script variable.

The second command disables the script stored in $Script.
3: Specify an owner for all scripts with an "Unknown" owner
PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where {$_.Owner -eq "Unknown"} | Set-SCScript -Owner "Contoso\ReneeLo"
This command gets all script objects from the VMM library whose owner is "Unknown", and then specifies an owner for each script object.

See Also