- Overview
- Active Directory
- Release Notes
- About the Active Directory activity package
- Project Compatibility
- Active Directory Scope
- Get Object Distinguished Name
- Get Object Properties
- Get Objects by Filter
- Get Objects by LDAP Filter
- Is Object Member of Group
- Move Object
- Rename Object
- Update Object Properties
- Add Computer To Group
- Computer Exists
- Create Computer
- Delete Computer
- Get Computer Status
- Get Computers in Group
- Join Computer to Domain
- Remove Computer From Group
- Set Computer Status
- Unjoin Computer From Domain
- Add Group To Group
- Create Group
- Delete Group
- Group Exists
- Remove Group From Group
- Add User To Group
- Change User Password
- Create User
- Delete User
- Force Password Change
- Get Password Expiration Date
- Get User Expiration Date
- Get User Groups
- Get User Status
- Get Users in Group
- Remove User From Group
- Set User Expiration Date
- Set User Status
- User Exists
- Validate User Credentials
- Create Organizational Unit
- Delete Organizational Unit
- Active Directory APIs
- Active Directory how-to guides
- Amazon Web Services
- Release Notes
- About the Amazon Web Services activity package
- Project Compatibility
- Permissions List
- Amazon Web Services Scope
- Configure Robot
- Create Instance
- Create Instance From Launch Template
- Get Instance by ID
- Get Instance List
- Reboot Instance
- Start Instance
- Stop Instance
- Terminate Instance
- Attach Volume To Instance
- Create Instance Snapshots
- Create Volume
- Create Volume Snapshot
- Delete Snapshot
- Delete Volume
- Detach Volume From Instance
- Get Instance Volumes
- Get Snapshot
- Get Volume
- Get Volume List
- Add User To Group
- Create Group
- Delete Group
- For Each Group
- Get Group
- Remove User From Group
- Update Group
- Add/Remove Inline Policy
- Attach/Detach Managed Policy
- Create Managed Policy
- Delete Managed Policy
- For Each Managed Policy
- Get IAM Identities Attached to a Managed Policy
- Get IAM Identity Inline Policies
- Get IAM Identity Managed Polices
- Get Managed Policy
- Update Managed Policy
- Add Role to Instance Profile
- Create Role
- Delete Role
- For Each Role
- Get Role
- Remove Role From Instance Profile
- Update Role
- Change User Password
- Create User
- Delete User
- For Each User
- For Each User Group
- For Each User in Group
- Get User
- Update User
- Configure Logging for Bucket
- Configure Public Access to Bucket
- Create Bucket
- Delete Bucket
- Delete Bucket Policy
- Empty Bucket
- Get Bucket
- Get Bucket List
- Get Bucket Policy
- Set Bucket Policy
- Update Bucket Properties
- Copy Object
- Delete Multiple Objects
- Delete Single Object
- Download Object to File
- For Each Object in Bucket
- Get Object
- Get Object ACL
- Set Object ACL
- Upload Object From File
- Upload Objects From Folder
- Run Power Shell Command
- Amazon Web Services APIs
- Amazon Web Services how-to guides
- Amazon WorkSpaces
- Azure
- Release Notes
- About the Azure activity package
- Project Compatibility
- Append to Blob
- Attach VM Data Disk
- Azure Scope
- Configure Robot
- Copy Blob
- Create Blob Container
- Create IP Configuration
- Create Network Interface
- Create NSG
- Create Resource Group
- Create Security Rule
- Create Storage Account
- Create Tables
- Create VM
- Delete Blob
- Delete Blob Container
- Delete IP Configuration
- Delete Network Interface
- Delete NSG
- Delete Resource Group
- Delete Rows
- Delete Storage Account
- Delete Security Rule
- Delete Table
- Delete VM
- Detach VM Data Disk
- Download Blob To File
- For Each Blob Container
- For Each Blob in Container
- For Each Network Interface
- For Each NSG
- For Each Row In Table
- For Each Security Alert
- Get Blob
- Get Blob Container
- Get Blob Containers List
- Get Blob List
- Get Disk
- Get Disk List
- Get RDP Files
- Get Resource Group
- Get Resource Group List
- Get Row
- Get Rows By Filter
- Get Secrets
- Get Storage Account
- Get Storage Account Key
- Get Storage Account List
- Get Network Interface
- Get NSG
- Get NSG Network Interface List
- Get Security Alert
- Get Security Rule
- Get Security Rule List
- Get Table
- Get Table List
- Get VM
- Get VM Custom Image
- Get VM Custom Image List
- Get VM Disk List
- Get VM Image By Publisher
- Get VM List
- Get VM NSG List
- Get VM Network Interface List
- Insert Rows
- Regenerate Storage Account Key
- Restart VM
- Run Script In VM
- Set Blob Tier
- Set Security Alert State
- Shutdown VM
- Start VM
- Stop VM
- Upload Blob From File
- Azure APIs
- Azure how-to guides
- Azure Active Directory
- Release Notes
- About the Azure Active Directory activity package
- Project Compatibility
- Add Group to Lifecycle Policy
- Add Member To Group
- Add Member To Role
- Add Owner To Group
- Assign License
- Azure AD Application Scope
- Azure AD Delegated Scope
- Create Assigned Group
- Create Lifecycle Policy
- Create User
- Delete Group
- Delete Lifecycle Policy
- Delete User
- For Each Direct Report
- For Each Group
- For Each Group in Group
- For Each Lifecycle Policy
- For Each Parent Group
- For Each Role
- For Each User
- For Each User Group
- For Each User In Group
- For Each User in Group Owners
- For Each User in Role
- For Each User Role
- Get Group By Id
- Get Group by Name
- Get Manager
- Get User
- Group Exists
- Is Group in Lifecycle Policy
- Is Member In Role
- Is Member of Group
- Is Owner Of Group
- Remove Group From Lifecycle Policy
- Remove License
- Remove Member From Group
- Remove Member From Role
- Remove Owner From Group
- Reset Password
- Set Manager
- Update Group
- Update Lifecycle Policy
- Update User
- User Exists
- Azure Active Directory APIs
- Azure Active Directory how-to guides
- Azure Windows Virtual Desktop
- Release Notes
- About the Azure Windows Virtual Desktop activity package
- Project Compatibility
- Windows Virtual Desktop Scope
- Create Host Pool
- Add Virtual Machine to Host Pool
- Update Host Pool
- Get Host Pool
- Delete Host Pool
- For Each Host Pool
- Get Session Host
- For Each Session Host
- Update Session Host
- Delete Session Host
- For Each User Session
- Disconnect User Session
- Delete User Session
- Send Message to User Session
- Get Application Group
- For Each Application Group
- Assign Users and Groups to Application Group
- Remove Users and Groups From Application Group
- Create Workspace
- Update Workspace
- Get Workspace
- For Each Workspace
- Delete Workspace
- Azure Windows Virtual Desktop APIs
- Create a New Personal Virtual Desktop for a User
- Citrix
- Release Notes
- About the Citrix activity package
- Project Compatibility
- Citrix Scope
- Get Server List
- Get Storage Repositories
- Add Tag to VM
- Add VM to Folder
- Remove Tag From VM
- Remove VM From Folder
- Delete All VM Snapshots
- Delete VM Snapshot
- Get VM Snapshot List
- Revert VM to Snapshot
- Take VM Snapshot
- Create VM From Template
- Delete VM
- Get Template List
- Get VM by UUID
- Get VM List
- Power Off VM
- Power On VM
- Rename VM
- Restart VM
- Resume VM
- Suspend VM
- Citrix APIs
- Citrix activities how-to guides
- Desktop triggers
- Exchange Server
- Google Cloud
- Release Notes
- About the Google Cloud activity package
- Project Compatibility
- Google Cloud Scope
- Create Bucket
- Update Bucket Properties
- Get Bucket
- For Each Bucket
- Delete Bucket
- Get Object
- Delete Object
- Copy Object
- Upload Object From File
- Download Object to File
- For Each Object in Bucket
- Create Instance
- Create Instance From Template
- Get Instance
- For Each Instance
- Start Instance
- Stop Instance
- Reset Instance
- Delete Instance
- Configure Robot
- Run Script on Instance
- Get Project
- For Each Project
- Create Role
- Delete Role
- For Each Grantable Role
- For Each Role
- Get Role
- Undelete Role
- Update Role
- Get IAM Policy
- Set IAM Policy
- Get Secret Data
- Google Cloud APIs
- Google Cloud how-to guides
- Hyper V
- NetIQ eDirectory
- Release Notes
- About the NetIQ eDirectory activity package
- Project Compatibility
- NetIQ EDirectory Scope
- Add Object To Group
- Delete Object
- Get Object Distinguished Name
- Get Object Properties
- Get Objects by Filter
- Get Objects by LDAP Filter
- Is Object Member of Group
- Move Object
- Remove Object From Group
- Rename Object
- Update Object Properties
- Add Computer To Group
- Computer Exists
- Delete Computer
- Create Computer
- Get Computer Status
- Remove Computer From Group
- Set Computer Status
- Add Group To Group
- Create Group
- Delete Group
- Get Computers in Group
- Get Users in Group
- Group Exists
- Remove Group From Group
- Create Organizational Unit
- Delete Organizational Unit
- Add User To Group
- Change User Password
- Create User
- Delete User
- Force Password Change
- Get Password Expiration Date
- Get User Expiration Date
- Get User Groups
- Get User Status
- Remove User From Group
- Set User Expiration Date
- Set User Status
- User Exists
- Validate User Credentials
- NetIQ eDirectory APIs
- System Center
- VMWare
- Release Notes
- About the VMware activity package
- Project Compatibility
- VMware Scope
- Get Datastore
- Get Datastore List
- Get Host
- Get Host List
- Delete All VM Snapshots
- Delete VM Snapshot
- Get VM Snapshot List
- Revert VM to Snapshot
- Take VM Snapshot
- Configure Robot
- Create VM From Template
- Convert Template to VM
- Convert VM to Template
- Customize VM
- Delete VM
- Get VM
- Get VM List
- Power Off VM
- Suspend VM
- Run Program in VM
- Restart VM
- Rename VM
- Power On VM
- Move VM To Folder
- Migrate VM
- Get Template List
- Export OVF Template
- Deploy OVF Template
- Assign Tag to VM
- Remove Tag From VM
- Assign Tag to Folder
- Remove Tag From Folder
- Create Folder
- Get Folder
- Rename Folder
- Move Folder
- Delete Folder
- Mount Tools Installer
- Unmount Tools Installer
- Upgrade Tools
- VMWare activities how-to guides
Create a New Personal Virtual Desktop for a User
The example below explains how to use Azure WVD activities to automate the creation of a new virtual desktop for a specific user. It presents activities such as Windows Virtual Desktop Scope, Create Host Pool, Get Application Group, Assign Users and Groups to Application Group, Add Virtual Machine to Host Pool, Update Session Host.
The workflow consists of the following actions:
- Connect to Azure.
- Create a new Personal host pool.
- Assign the user account to the default desktop application group of the host pool.
- Create a new session host by adding an existing Virtual Machine (VM) to the host pool.
- Assign the user to the session host.
- Send an email to the user with details about how to access the virtual desktop.
- Add the Windows Virtual Desktop Scope activity to connect to Azure and provide a scope for Azure WVD activities.
-
Set a value for ClientID, ClientSecret (
SecureString
), Environment, SubscriptionID, and TenantID parameters.
- Add the Create Host Pool activity to create a host pool of type Personal. In this case, each user is allocated a desktop. This activity creates a default desktop application group.
- Set Type to Personal.
- Set PersonalDesktopAssignmentType to Direct. In this case, you must later assign the user to both the host pool’s desktop application group and to a specific session host before the user can connect to the personal desktop.
- Set a value for the mandatory parameters Name, ResourceGroupName, and Region.
-
To register the host pool's default desktop application group with the specified workspace, set a value for the Workspace parameter.
Note: A desktop application group must be associated with a workspace in order for users to see the desktops published to them. -
(Optional) Provide a value for FriendlyName, Description, and Tags parameters.
- Add the Get Application Group activity to retrieve the
WVDApplicationGroup
object associated with the host pool's default desktop application group. - Set
hostPoolInfo.DefaultDesktopApplicationGroupName
to ApplicationGroupName. -
Set
hostPoolInfo.ResourceGroupName
to ResourceGroupName. -
Assign the user to the desktop application group by using the Assign Users and Groups to Application Group activity.
Important:In order to use the Assign Users and Groups to Application Group activity, the client (application) specified in the Windows Virtual Desktop Scope activity (ClientID property) should have the permissions described here.
For example, you can assign the Owner role to your client (application) for the resource group to which the application group belongs by following the steps described here.
-
Specify the user by setting UsersAndGroupsIds to
{"user-object-id"}
, whereuser-object-id
represents the Object ID of the user account in Azure AD. This value can be obtained from Azure portal or using the Get User activity of the UiPath.AzureActiveDirectory.Activities package.
- Add a VM to the host pool using the Add Virtual Machine to Host Pool activity.
- The VM can be created in the Azure portal or using the Create VM activity of the UiPath.Azure.Activities package.
-
Specify the Azure VM by setting a value for the parameters in the Virtual Machine category, namely Name and ResourceGroupName.
Tip: The VM’s status needs to be set to Running when using the Add Virtual Machine to Host Pool activity. - Specify the credentials of a domain user account that will be used to join the VM to the domain. If DomainToJoin is not set, the VM will be joined to the domain matching the suffix of the user principal name provided in the DomainUsername parameter.
-
The Add Virtual Machine to Host Pool activity runs for a long time, so it is recommended to set a Timeout of 1200 or longer to be sure it will complete (in case you want to wait for completion to perform other operations on the resulted session host).
-
Once the session host has been created, assign the user to the session host using the Update Session Host activity.
Note: This step is required only when the host pool to which the session host belongs has the Direct assignment option enabled.
-
Inform the user about the new personal virtual desktop by sending an email using the Send Outlook Mail Message activity.
-
The email contains information about how to access the virtual desktop.
Run the process. The robot uses the Azure Windows Virtual Desktop activities to automate your Azure WVD tasks.