用于在连接服务器和 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 模块”。