# Create VM From Template

> `UiPath.HyperV.Activities.CreateVMFromTemplate`

`UiPath.HyperV.Activities.CreateVMFromTemplate`

## Description

Provisions a new virtual machine from a template.

## Project compatibility

Windows - Legacy | Windows

## Configuration

### Common

* **DisplayName** - The display name of the activity.

### Input

* **Generation** - Specifies the creation of the virtual machine. The possible values are **Generation1**, **Generation2**. The default value is **Generation1**.
* **Location** - Indicates a different storage location for the virtual machine than the default one configured for the virtualization server. This field supports only strings and `String` variables.
* **PowerOnAfterCreation** - Specifies if the virtual machine should be powered on after creation. The default value is **False**.
* **VhdFile** - Specifies the full path of the virtual hard disk that needs to be used as a template when creating the virtual machine. This field supports only strings and `String` variables.
* **VirtualMachineDescription** - Specifies the description of the new virtual machine. This field supports only strings and `String` variables.
* **VirtualMachineName** - Specifies the name of the new virtual machine. This field supports only strings and `String` variables.

### Memory

* **StartupMemoryInMB** - Specifies the amount of memory (MB) that should be allocated to the virtual machine.
* **UseDynamicMemory** - Specifies if the dynamic memory should be used or not.

### Misc

* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level.

### Output

* **VirtualMachine** - Provides the virtual machine.
