[玩转系统] 使用 PowerShell 对 CITRIX 虚拟应用程序和桌面进行故障排除
作者:精品下载站 日期:2024-12-14 08:11:01 浏览:18 分类:玩电脑
使用 PowerShell 对 CITRIX 虚拟应用程序和桌面进行故障排除
当我在客户 Citrix Virtual Apps and Desktops (CVAD) 环境中进行运行状况检查或以其他方式工作时,我经常使用 PowerShell 提示符和脚本来获取所需的信息并执行任务,因为我发现这比使用各种 Citrix 更容易、更快捷或 Microsoft 控制台用于许多操作。
在这篇文章中,我将向您展示我使用的一些带有参数的命令。精通 PowerShell 的好处在于,一旦您知道如何使用 PowerShell 函数或 cmdlet 返回的一种类型的对象进行过滤、排序、显示等,您就可以使用完全相同的知识来处理几乎所有其他 cmdlet所有其他提供商 - 非常值得有时陡峭的学习曲线!
先决条件
在 CVAD 环境中,我们需要 CVAD PowerShell cmdlet,这些 cmdlet 在 Citrix Studio 时安装尽管它们的 msi 安装程序文件单独存在于 CVAD 安装 ISO 上,但已安装,因此如果需要,可以在不使用 Studio 的情况下进行安装。
我通常会将这些安装在“跳箱”上,而不是直接使用交付控制器,因为这会带来资源和稳定性问题的风险(“哎呀,我重新启动了错误的机器”,从来没有管理员说过)。
获取所需 cmdlet 的最简单方法是加载所有内容,尽管在脚本中我建议仅添加所需的特定模块(Get-Command 将告诉您指定的 cmdlet 驻留在哪个模块)。在 1912 LTSR 及更高版本中,我们运行:
Import-Module -Name Citrix*
对于早期版本,模块不可用,我们运行:
Add-PSSnapin -Name Citrix*
请注意,如果您使用 Citrix Cloud,则需要使用远程 PowerShell SDK,而不是 Studio 或 CVAD ISO 中的 MSI。
如果您不在交付控制器上运行此程序(我不建议这样做),则需要记住的另一件事是您需要将 -AdminAddress 与名称一起传递给 CVAD cmdlet /送货控制器的地址。
如果使用 Citrix Cloud,-AdminAddress 的参数必须是本地云连接器。我确信我在 Citrix 文档中读到过,您只需要指定一次,但我遇到了问题,因此为每个调用的 CVAD cmdlet 指定它,尽管通常是通过使用 PowerShell 的“splatting”功能的哈希表因此,如果我需要更改它,或者添加额外的通用参数,我可以在一个地方完成。
另一个潜在的“问题”是,默认情况下 Citrix cmdlet 仅返回 250 条记录,因此如果在大型环境中工作,无论是在用户、VDA、交付组等方面,您可能需要使用 -MaxRecordCount (请记住,您可以使用 Tab 键完成,因此键入 -max 并按 Tab 键或将其保留为“-max ”,因为它没有歧义 - 但不能在脚本中,因为使用缩写时会使它们难以理解)并输入足够大的数,如下图1所示。
图 1:使用 -MaxRecordCount 您可以返回超过默认 250 条记录
在一些示例中,我使用了一个名为“ddc”的字符串类型变量,我已将其设置为交付控制器之一,这样我就不会在屏幕截图中透露其名称。
获取资讯
以下是一些有用的查询,请注意大多数以 Get-Broker 开头。要查看可用的 cmdlet,您可以运行此命令
Get-Command Get-Broker*
或者,输入 Get-Broker 并按 Tab 键循环浏览命令列表,或按 ctrl+空格键在屏幕上显示光标可选择列表,如图 2 所示。
图 2:Get-Broker 会显示所有可用 cmdlet 的光标可选择列表
您还可以对它们使用 Get-Help cmdlet,并带有可选的 -ShowWindow 或 -OnLine 参数,以获取更多详细信息并查看示例他们的用途。
Q1.总共有多少个会话,包括连接的和断开的?
Get-BrokerSession -AdminAddress $ddc -MaxRecordCount 10000 | measure | select count
Q2。活动会话与断开连接会话的细分是什么?
Get-BrokerSession @commonCVADparameters | Group-Object -Property SessionState
图 3:上述命令的输出
“已连接”状态是正在进行登录的状态。
Q3。哪些连接的会话空闲时间超过 30 分钟?
$activeSessions = Get-BrokerSession @commonCVADparameters -SessionState Active
$activeSessions|where IdleDuration -gt "00:30:00"|select machinename,username,client*,starttime,idle* | Out-GridView
另请注意,我们会尽可能在 cmdlet 本身 (-SessionState) 中进行过滤,而不是通过 Where-Object 进行管道传输(别名 where 或?),因为使用 Where-Object 会检索整个结果集,然后对其进行过滤(图 4),因此速度更快。
图 4:使用上述命令,您会收到所有活动会话的列表
Q4。用户 billybob 何时何地登录?
Get-BrokerSession -UserName guyrleechbillybob @commonCVADparameters | select machinename,client*,DesktopGroupName,CatalogName,starttime
图 5:使用上述命令,您可以检索有关特定用户上次登录的信息
Q5.每个交付组有多少台机器已注册且未处于维护模式?
Get-BrokerMachine -InMaintenanceMode $false -RegistrationState Registered @commonCVADparameters | group DesktopGroupName|select count,name|sort count
图 6:所有已注册但未处于维护模式的 CVAD 机器列表,按交付组排序
Q6.哪些机器拥有最多的用户会话,例如,我们的机器是否超载,或者负载平衡工作正常吗?
Get-BrokerMachine @commonCVADparameters | Sort SessionCount -Descending|select -first 10 machinename, sessioncount, DesktopGroupName, last*|Out-GridView
图 7:Citrix Studio 中显示的具有最多用户会话的计算机列表
Q7.显示交付组统计信息
Get-BrokerDesktopGroup | select Name,Desktop*,Enabled,InMaintenanceMode,Total*|ogv -PassThru
图 8:Citrix Studio 中的交付组统计信息
请注意 -PassThru 到 Out-GridView 的使用,因此网格视图中的选定项目(当按下“确定”时)将在调用 cmdlet 的位置可用。
或者,它们可以通过Set-ClipBoard(别名scb)进行传输,以便将数据粘贴到记事本、电子邮件、OneNote、更改控制注释等中。
图9:可以通过Set-ClipBoard将数据粘贴到记事本中
执行动作
在大多数情况下,我们可以将先前查询的结果通过管道传输到 cmdlet 中以采取操作。但请确保您了解正在执行的操作的含义/影响,并且您仅在选定的会话/用户、计算机等上进行操作,而不是说注销所有 5000 多个当前会话,而不是注销有问题的一个用户!
启用维护模式
Set-BrokerMachine -MachineName GUYRLEECH\GLXA19PVS41 -InMaintenanceMode $true
给用户留言
您甚至可以通过 Send-BrokerSessionMessage 创建自定义通知,如图 10 所示。
Get-BrokerSession -MachineName GUYRLEECH\GLXA19PVS41 @commonCVADparameters | Send-BrokerSessionMessage -Title "Message from Guy Leech" -MessageStyle Critical -Text "Please logoff & back on as an urgent reboot is required"
图 10:在 PowerShell 中创建的自定义弹出通知
请注意,这不会提示用户,也不会给他们一个宽限期,因此请确保他们期望他们的会话被注销!
注销特定用户的所有会话
Get-BrokerSession -UserName guyrleech\billybob @commonCVADparameters | Stop-BrokerSession
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag