The Horizon PowerCLI cmdlets, which are used to perform various administration tasks on Connection Server and a Windows desktop, can also be used for Linux desktops.
Create a Manual Desktop Pool
Add-ManualPool -DefaultProtocol Blast -AllowProtocolOverride $false -threedRender usevc|vgpu -Pool_id <pool id> [more parameters]
The following options and values are mandatory for the Linux desktop.
- DefaultProtocol Blast
- AllowProtocolOverride $false
- threedRender usevc|vgpu. For a vGPU desktop, use -threedRender vgpu and for a 2D/DGA desktop, use -threedRender usevc .
Examples
- Create a floating Linux Desktop pool named LinuxDesktop with a virtual machine (VM), LinuxVM-01.
Add-ManualPool -DefaultProtocol Blast -AllowProtocolOverride $false -threedRender usevc -Pool_id LinuxDesktop -Id (Get-DesktopVM -Name LinuxVM-01).id -Persistence NonPersistent -Vc_name myvc.myorg.org
- Create a dedicated Linux vGPU desktop pool named LinuxDesktop with all VMs that begin with the VM name as LinuxVM-.
Get-DesktopVM | Where-Object {$_.Name.StartsWith("LinuxVM-")} | Add-ManualPool -DefaultProtocol Blast -AllowProtocolOverride $false -Persistence Persistent -threedRender vgpu -Pool_id LinuxDesktop
- Create floating Linux desktop pool LinuxDesktop with the first RHEL 6 x64 VM.
Get-DesktopVM | Where-Object {$_.GuestID -eq "rhel6_64Guest"} | Select-Object -Index 0 | Add-ManualPool -DefaultProtocol Blast -AllowProtocolOverride $false -Persistence NonPersistent -threedRender usevc -Pool_id LinuxDesktop
Create a Full-Clone Automated Desktop Pool
Add-AutomaticPool -DefaultProtocol Blast -AllowProtocolOverride $false -threedRender usevc|vgpu ` -Pool_id <pool id> -Vc_id <vCenter id> ` -NamePrefix <VM Name Prefix>" ` -templatePath <Virtual Machine Template Path> ` -VmFolderPath <Virtual Machine Folder Path> ` -ResourcePoolPath <Resource Pool Path> ` -dataStorePaths <Datastore Path> ` -customizationSpecName <Customization Specification Name> ` [more parameters]
The following options and values are mandatory for Linux desktops.
- DefaultProtocol Blast
- AllowProtocolOverride $false
- threedRender usevc|vgpu For a vGPU desktop, use -threedRender vgpu and for a 2D desktop, use -threedRender usevc.
Example
Add-AutomaticPool -DefaultProtocol Blast -AllowProtocolOverride $false -threedrender usevc` -pool_id FullClone-Linux ` -Vc_id (Get-ViewVC -serverName myvc.myorg.org).vc_id ` -NamePrefix "FullClone-{n:fixed=3}" ` -Persistence NonPersistent –deletePolicy DeleteOnUse ` -VmFolderPath "/LinuxVDI/vm/FullClone" ` -ResourcePoolPath "/LinuxVDI/host/LinuxVDICluster/Resources" ` -templatePath "/LinuxVDI/vm/LinuxTemplate" ` -dataStorePaths "/LinuxVDI/host/LinuxVDICluster/datastore" ` -customizationSpecName "linux-spec" ` -maximumCount 100
Add or Remove Desktop Pool Entitlement
- Entitle a domain user group of domain mydomain.org to LinuxDesktop.
Add-PoolEntitlement -Pool_id LinuxDesktop -Sid (Get-User -Name "domain user" -Domain "mydomain.org").sid
- Remove the entitlement of a domain user group of mydomain.org domain from LinuxDesktop.
Remove-PoolEntitlement -Pool_id LinuxDesktop -Sid (Get-User -Name "domain user" -Domain "mydomain.org").sid
Assign or Remove User to or from the VM in Dedicated Desktop Pool
- Assign the myuser user to the LinuxVM-01 VM, which is in a dedicated desktop pool.
Update-UserOwnership -Machine_id (Get-DesktopVM -Name "LinuxVM-01").machine_id -Sid (Get-User -Name "myuser" | Where-Object {$_.cn -eq "myuser"}).sid
- Remove the myuser user from the LinuxVM-01 VM, which is in a dedicated desktop pool.
Remove-UserOwnership -Machine_id (Get-DesktopVM -Name "LinuxVM-01").machine_id
Logoff Desktop Connection
- Log out from the desktop session of myuser.
Get-RemoteSession -Username "mydomain.org\myuser" | Send-SessionLogoff
For more information on the broker PowerCLI cmdlet, see "Using the Horizon PowerCLI Module" in Horizon 7 Integration.