Citrix在1912版本的推出了防截屏功能,但是配置此功能需要满足一定条件。
防截屏功能主要实现原理是在DDC上面执行相关Powehrll命令隐藏指定交付交付组(颗粒度级别只能到针对交付组,目前无法针对单个用户做设置),做了此设置后,用户使用浏览器登陆Citrix桌面,将无法看到此交付组桌面,使用Citrix Workspace客户端登陆桌面可以看到此隐藏的交付组桌面。(同时需要开启Citrix Workspace登陆不隐藏交付组)
因为客户端防截屏功能生效需要使用Citrix workspace登陆才会生效。所以禁止用户使用Web浏览器界面登陆桌面,只能使用Citrix Workspace客户端来登陆桌面。
如下列出配置workspace防截屏功能需具备的条件。
1 在安装Citrix workspace客户端时,需要勾上应用程序保护功能。
2 需要在DDC上导入XML文件开启防截屏功能,XML文件可在下述课程章节里面下载。
3 需要导入防截屏许可到License服务器上。
4 StoreFront上需要配置https协议。
试用许可我会放在(Citrix Virtual Desktops 新版本1912-CU3虚拟桌面全套) 防截屏功能配置课程章节资料里面。
5 需要测试防截屏功能的可以通过购买课程下载试用许可及XML文件进行配置使用即可。
下面我们就开始来配置防截屏功能。
1 先右键使用管理员身份运行CitrixWorkspaceApp客户端安装。
2 在安装的时候向导的时候,需要把启用应用程序保护这个选项勾上。
3 后续默认下一步安装完成即可。
4 接下里我们需要登陆License服务器导入防截屏试用许可。
把防截屏试用许可放置在License服务器C:\Program Files (x86)\Citrix\Licensing\MyFiles目录下即可。
5 然后进入计算机管理重启License服务。
6 登陆DDC导入开启防截屏功能的XML文件,先把FeatureTable.OnPrem.AppProtection.XML文件放置在DDC的C盘根目录下。通过Powershell管理员执行命令,先信任XML文件:Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true
7 使用管理员执行Powershell命令导入FeatureTable.OnPrem.AppProtection.XML文件后,使用以下命令验证应用程序保护是否已启用:
Get-ConfigEnabledFeature | Select-String –Pattern "AppProtection"
把功能文件拷贝到DDC C盘目录。
打开powershell切换到c盘目录 Set-Location c:\
导入功能 Import-ConfigFeatureTable .\FeatureTable.OnPrem.AppProtection.xml
运行命令开启App Protection功能 Get-ConfigEnabledFeature | Select-String AppProtection
8 登陆到StoreFront服务器执行下述命令开启防截屏功能配置。
StoreFront通过管理员powershell执行如下命令。
Add-STFFeatureState -Name Citrix.StoreFront.AppProtectionPolicy.Control -IsEnabled $True
Get-STFFeatureState -Name "Citrix.StoreFront.AppProtectionPolicy.Control"
9 然后再登陆DDC使用Powershell管理执行相关命令配置交付组显示策略。
根据交付组类型隐藏web登陆桌面。这里以服务器桌面交付组为例进行一个配置
Set-BrokerDesktopGroup -Name 服务器桌面 -AppProtectionKeyLoggingRequired $true -AppProtectionScreenCaptureRequired $true
关闭交付组启用web隐藏桌面
如下命令查看交付组是否启用:
Get-BrokerDesktopGroup -Property Name, AppProtectionKeyLoggingRequired, AppProtectionScreenCaptureRequired | Select-Object Name,AppProtectionScreenCaptureRequired
Name AppProtectionScreenCaptureRequired
---- ----------------------------------
MCS False #关闭
PVS True #开启
应用服务器 True
10 如下图为展示,可以发现使用Citrix Workspace 客户端登陆有服务器桌面。而使用浏览器是不显示服务器桌面。
11 如下为使用截图工具截图时,显示界面。
需要注意的是,只有Citrix Workspace客户端打开被配置交付组桌面后,防截屏功能才会生效。
如下是Powershell脚本来开启对应交付组防截屏功能。
function groupset{
Write-Output "如下是交付组防止截屏配置信息True开启 | False关闭"
Get-BrokerDesktopGroup -Property Name, AppProtectionKeyLoggingRequired, AppProtectionScreenCaptureRequired | Select-Object Name,AppProtectionScreenCaptureRequired | Out-Default
}
function fjp{
$name = Read-Host "请输入要配置的交付名称"
$sta = Read-Host "请输入 true 或 false"
if ($sta -eq "true"){
Set-BrokerDesktopGroup -Name $name -AppProtectionScreenCaptureRequired $true
Write-Output $name-交付组已成功开启防截屏功能
}
elseif ($sta -eq "false"){
Set-BrokerDesktopGroup -Name $name -AppProtectionScreenCaptureRequired $false
Write-Output $name-交付组已成功关闭防截屏功能
}
else{
Write-Host "你指令输入错误啦!请重新运行程序进行设置" -ForegroundColor Red
}
Write-Output "交付组防止截屏配置信息已更新"
Get-BrokerDesktopGroup -Property Name, AppProtectionKeyLoggingRequired, AppProtectionScreenCaptureRequired | Select-Object Name,AppProtectionScreenCaptureRequired | Out-Default
}
while ($true){
Write-Output "你正在运行交付组配置防截屏功能,有如下功能可供选择"
Write-Output "1 查看交付组防截屏功能配置情况"
Write-Output "2 运行配置交付组防截截屏功能配置"
Write-Output "3 退出程序运行"
$gong = Read-Host "请输入你选择的序号"
if ($gong -eq 1){
groupset
}
elseif ($gong -eq 2){
fjp
}
elseif ($gong -eq 3){
Exit
}
else{
Write-Host "你指令输入错误啦!请重新输入序号选择" -ForegroundColor Red
}
}