# Invoke-RASTemplate

## NAME

Invoke-RASTemplate

## SYNOPSIS

Perform RAS Template commands.

## SYNTAX

**Invoke-RASTemplate** \[-[Id](#Id)] _\<uint>_ -[Command](#Command) {EnterMaintenance | ExitMaintenance | RecreateHosts | RecreateDesktops} -[ObjType](#ObjType) {RDSTemplate | VDITemplate | AVDTemplate} \[-[CreateTemplateVersion](#CreateTemplateVersion) _\<SwitchParameter>_] \[-[ForceStopUpdateHosts](#ForceStopUpdateHosts) _\<SwitchParameter>_] \[-[RecreateAllHosts](#RecreateAllHosts) _\<SwitchParameter>_] \[-[TemplateVersionId](#TemplateVersionId) _\<uint>_] \[-[VDIHostId](#VDIHostId) _\<string>_] \[_<_[_CommonParameters_](#CommonParameters)_>_]

**Invoke-RASTemplate** \[-[InputObject](#InputObject)] _<_[_Template_](../classes-and-enumerations/template)_>_ -[Command](#Command) {EnterMaintenance | ExitMaintenance | RecreateHosts | RecreateDesktops} -[ObjType](#ObjType) {RDSTemplate | VDITemplate | AVDTemplate} \[-[CreateTemplateVersion](#CreateTemplateVersion) _\<SwitchParameter>_] \[-[ForceStopUpdateHosts](#ForceStopUpdateHosts) _\<SwitchParameter>_] \[-[RecreateAllHosts](#RecreateAllHosts) _\<SwitchParameter>_] \[-[TemplateVersionId](#TemplateVersionId) _\<uint>_] \[-[VDIHostId](#VDIHostId) _\<string>_] \[_<_[_CommonParameters_](#CommonParameters)_>_]

**Invoke-RASTemplate** \[-[Name](#Name)] _\<string>_ \[\[-[SiteId](#SiteId)] _\<uint>_] -[Command](#Command) {EnterMaintenance | ExitMaintenance | RecreateHosts | RecreateDesktops} -[ObjType](#ObjType) {RDSTemplate | VDITemplate | AVDTemplate} \[-[CreateTemplateVersion](#CreateTemplateVersion) _\<SwitchParameter>_] \[-[ForceStopUpdateHosts](#ForceStopUpdateHosts) _\<SwitchParameter>_] \[-[RecreateAllHosts](#RecreateAllHosts) _\<SwitchParameter>_] \[-[TemplateVersionId](#TemplateVersionId) _\<uint>_] \[-[VDIHostId](#VDIHostId) _\<string>_] \[_<_[_CommonParameters_](#CommonParameters)_>_]

## DESCRIPTION

Triggers an action on the selected Template such as: EnterMaintenance, ExitMaintenance or RecreateHosts.

EnterMaintenance: Toggle the template into maintenance mode.

ExitMaintenance: Toggle the template out from maintenance mode.

RecreateHosts: Re-creates one or all of the Template hosts.

## PARAMETERS

-**Name \<string>**\
The name of the target RAS Template.

```
        Required?                    true

        Position?                    0

        Default value                

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**SiteId \<uint>**\
Site ID of the specified RAS Template.

If the parameter is omitted, the site ID of the Licensing Server will be used.

```
        Required?                    false

        Position?                    1

        Default value                0

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**Id \<uint>**\
The ID of the target RAS Template.

To obtain the ID, use the Get-RASTemplate cmdlet.

```
        Required?                    true

        Position?                    0

        Default value                0

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**InputObject <**[**Template**](../classes-and-enumerations/template)**>**\
An object of type Template which represents a RAS Template.

To obtain the object, use the Get-RASTemplate cmdlet.

```
        Required?                    true

        Position?                    0

        Default value                

        Accept pipeline input?       true (ByValue)

        Accept wildcard characters?  false
```

-**ObjType <**[**Template**](../classes-and-enumerations/template)**>**\
Template object type.

Possible values: RDSTemplate, VDITemplate, AVDTemplate

```
        Required?                    true

        Position?                    named

        Default value                0

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**Command <**[**Template**](../classes-and-enumerations/template)**>**\
Template command.

Accepted values: EnterMaintenance, ExitMaintenance, RecreateHosts.

Possible values: EnterMaintenance, ExitMaintenance, RecreateHosts, RecreateDesktops

```
        Required?                    true

        Position?                    named

        Default value                0

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**ForceStopUpdateHosts \<SwitchParameter>**\
Specifies whether to force stopping/updating of hosts.

```
        Required?                    false

        Position?                    named

        Default value                False

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**VDIHostId \<string>**\
The ID of a host VM to be recreated.

```
        Required?                    false

        Position?                    named

        Default value                

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**RecreateAllHosts \<SwitchParameter>**\
Specifies whether to re-create all hosts for the specified template.

```
        Required?                    false

        Position?                    named

        Default value                False

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**TemplateVersionId \<uint>**\
The template version ID from which new hosts will be (re-)created from. Default: null.

```
        Required?                    false

        Position?                    named

        Default value                

        Accept pipeline input?       false

        Accept wildcard characters?  false
```

-**CreateTemplateVersion \<SwitchParameter>**\
Switch determining whether or not a new template version is created on ExitMaintenance. Default: false.

```
        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, WarningAction, WarningVariable,

        OutBuffer, PipelineVariable, and OutVariable. For more information, see 

        about_CommonParameters documentation. 
```

## INPUTS

[Template](../classes-and-enumerations/template)

## OUTPUTS

-none-

## EXAMPLES

**---------- EXAMPLE 1 ----------**

Invoke-RASTemplate "TemplateName" -ObjType RDSTemplate -Command EnterMaintenance

Switch the RAS Template specified by name to maintenance mode in the Licensing Server site.

Since -ForceStopUpdateHosts is not included, hosts will not be stopped/updated.\
&#xNAN;**---------- EXAMPLE 2 ----------**

Invoke-RASTemplate -ObjType VDITemplate -Id 10 -Command ExitMaintenance -ForceStopUpdateHosts

Switch the RAS Template specified by ID from the maintenance mode.

Since -ForceStopUpdateHosts is included, hosts will be stopped/updated, if required.\
&#xNAN;**---------- EXAMPLE 3 ----------**

Invoke-RASTemplate "TemplateName" -ObjType RDSTemplate -Command RecreateHosts -VDIHostId 42312685-05c9-ca51-342d-b3943046edf1

Re-create the specified host of the RAS Template specified by name in the Licensing Server site.

Since -RecreateAllHosts is not included, only the specified host will be re-created.\
&#xNAN;**---------- EXAMPLE 4 ----------**

Invoke-RASTemplate -ObjType RDSTemplate -InputObject $Template -Command RecreateHosts -RecreateAllHosts

Re-create all hosts of the RAS Template specified by the $Template object.\
&#xNAN;**---------- EXAMPLE 5 ----------**

Get-RASTemplate -ObjType VDITemplate -Id 10 | Invoke-RASTemplateCmd -Command RecreateHosts -RecreateAllHosts

Re-create all hosts of the RAS Template specified by an object obtained from the pipeline output.

## RELATED LINKS

* [Get-RASTemplate](get-rastemplate)
