用于在连接服务器和 Windows 桌面上执行各种管理任务的 Horizon PowerCLI cmdlet 也可以用于 Linux 桌面。
创建手动桌面池
Add-ManualPool -DefaultProtocol Blast -AllowProtocolOverride $false -threedRender usevc|vgpu -Pool_id <pool id> [more parameters]
对于 Linux 桌面,必须提供以下选项和值。
- DefaultProtocol Blast
- AllowProtocolOverride $false
- threedRender usevc|vgpu。对于 vGPU 桌面,请使用 -threedRender vgpu,对于 2D/DGA 桌面,请使用 -threedRender usevc。
示例
- 通过虚拟机 (VM) LinuxVM-01,创建一个名为 LinuxDesktop 的浮动 Linux 桌面池。
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
- 通过虚拟机名称以 LinuxVM- 开头的所有虚拟机,创建一个名为 LinuxDesktop 的专用 Linux vGPU 桌面池。
Get-DesktopVM | Where-Object {$_.Name.StartsWith("LinuxVM-")} | Add-ManualPool -DefaultProtocol Blast -AllowProtocolOverride $false -Persistence Persistent -threedRender vgpu -Pool_id LinuxDesktop
- 通过第一个 RHEL 6 x64 虚拟机,创建浮动 Linux 桌面池 LinuxDesktop。
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
创建完整克隆自动桌面池
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]
对于 Linux 桌面,必须提供以下选项和值。
- DefaultProtocol Blast
- AllowProtocolOverride $false
- threedRender usevc|vgpu 对于 vGPU 桌面,请使用 -threedRender vgpu,对于 2D 桌面,请使用 -threedRender usevc。
示例
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
添加或移除桌面池授权
- 授权域 mydomain.org 的域用户组访问 LinuxDesktop。
Add-PoolEntitlement -Pool_id LinuxDesktop -Sid (Get-User -Name "domain user" -Domain "mydomain.org").sid
- 从 LinuxDesktop 中移除 mydomain.org 域的域用户组的授权。
Remove-PoolEntitlement -Pool_id LinuxDesktop -Sid (Get-User -Name "domain user" -Domain "mydomain.org").sid
将用户分配给专用桌面池中的虚拟机,或从中移除用户
- 将 myuser 用户分配给位于专用桌面池中的 LinuxVM-01 虚拟机。
Update-UserOwnership -Machine_id (Get-DesktopVM -Name "LinuxVM-01").machine_id -Sid (Get-User -Name "myuser" | Where-Object {$_.cn -eq "myuser"}).sid
- 将 myuser 用户从位于专用桌面池中的 LinuxVM-01 虚拟机中移除。
Remove-UserOwnership -Machine_id (Get-DesktopVM -Name "LinuxVM-01").machine_id
注销桌面连接
- 从 myuser 的桌面会话中注销。
Get-RemoteSession -Username "mydomain.org\myuser" | Send-SessionLogoff
有关代理 PowerCLI cmdlet 的更多信息,请参阅《Horizon 7 集成指南》中的“使用 Horizon PowerCLI 模块”。