[玩转系统] 使用 PowerShell 创建新的 Citrix MCS 计算机
作者:精品下载站 日期:2024-12-14 08:10:29 浏览:12 分类:玩电脑
使用 PowerShell 创建新的 Citrix MCS 计算机
Citrix Virtual Apps and Desktops (CVAD) 包括两种机制,允许快速创建新计算机以便为最终用户添加额外容量。它们是机器创建服务 (MCS) 和配置服务 (PVS)。
本文不会详细介绍它们如何工作或如何设置它们,并假设已经创建了使用 MCS 的计算机目录 - 我们将展示如何使用 PowerShell 在此目录中创建全新的计算机并将它们分配给一个交付组。
当然可以使用 PowerShell 自行创建基于 MCS 的计算机目录 - 事实上,如果需要,可以使用 PowerShell 从头开始构建整个 CVAD 实现。
先决条件
在执行创建计算机的步骤之前,必须加载 CVAD PowerShell cmdlet。在版本 1912 (LTSR) 之前,它们作为(旧)管理单元提供,而从该版本开始,它们作为模块提供(请阅读本系列的第一部分以了解更多信息:Citrix Virtual Apps and Desktops 中的 PowerShell 简介) 。
以下代码适用于所有版本,以加载本文中使用的 cmdlet:
Create CITRIX MCS Machines with PoSh - I:
if( ! ( Import-Module -Name Citrix.DelegatedAdmin.Commands -ErrorAction SilentlyContinue -PassThru -Verbose:$false) `
-and ! ( Add-PSSnapin -Name Citrix.Broker.Admin.* -ErrorAction SilentlyContinue -PassThru -Verbose:$false) ){
Throw 'Failed to load Citrix PowerShell cmdlets'
}
该代码可以在 Citrix Delivery Controller 上运行,也可以在安装了 Citrix Studio 或 CVAD PowerShell cmdlet 的任何计算机上运行,由于资源消耗原因,首选后者。如果使用后者,则必须向 Citrix cmdlet 指定参数-AdminAddress,以便将调用定向到指定的 Delivery Controller。
创建 Active Directory 计算机帐户
由于我们假设将计算机添加到现有目录中,因此已经创建了 PowerShell 代码所需的各种内部结构,尽管这些结构在 Citrix Studio 中不可见为离散实体。
其中之一是身份池,如果由 Citrix Studio 创建,该身份池将与其应用的目录具有相同的名称,并包含创建目录时选择的命名约定(见图 1)。
图。 1:设置机器目录时,您还必须为其机器定义命名约定
我们可以使用以下命令检查我们需要的身份池是否存在:
图 2 显示了输出。
图。 2:使用Get-AcctIdentityPool检查某个身份池是否存在
我们可以看到与现有的 MCS 机器目录相对应(图 3):
图。 3:目录列表显示现有的MCS目录
要为新计算机创建 Active Directory 帐户,我们运行以下命令,使用指定身份池中定义的命名约定和 OU 创建两个计算机帐户 - 请注意,我们不必自己指定名称或名称库:
Create CITRIX MCS Machines with PoSh - 2:
$newAccounts = New-AcctADAccount -IdentityPoolName 'MCS Server 2019' -Count 2
我们已将结果分配给一个变量,因为我们将在下一步中使用它,但我们可以通过查看该变量的内容来检查结果(图 4):
图。 4:变量$newAccounts的内容
如果检查 AD,您应该会看到这些计算机帐户已在正确的 OU 中创建。
创建虚拟机
现在,我们需要创建与这些 AD 帐户相对应的虚拟机,为此,我们需要配置方案名称,该名称将在创建 MCS 计算机目录时创建,并且与身份池一样,将与目录具有相同的名称它所属的。
图。 5:通过PowerShell检索配置方案名称
创建 VM 时,我们创建一个任务,该任务可以同步运行,因此 cmdlet 在任务完全完成之前不会返回,也可以异步运行,以便 cmdlet 立即返回。在后一种情况下,您必须在继续之前检查任务是否已完成,尽管如果任务可能需要很长时间才能运行,从而需要执行其他操作或需要显示进度指示器,则这可能很有用。
在这里,我们异步运行它,以展示我们如何检查任务是否已完成。
Create CITRIX MCS Machines with PoSh - 3:
$newProvVMtask = New-ProvVM -ADAccountName
$newAccounts.SuccessfulAccounts -ProvisioningSchemeName 'MCS Server 2019' -RunAsynchronously
任务 GUID 存储在我们可以查询的变量中,如图 6 所示:
图。 6:$taskDetails的属性
请注意 Active、Status、TaskState 和 TaskStateInformation 属性,我们可以使用它们来测试任务是否已完成或不是。请注意,在循环中检查属性时,请进行某种延迟(例如通过 Start-Sleep),以减少此轮询循环的 CPU 消耗。
将机器添加到目录
现在我们已经创建了虚拟机,可以在虚拟机管理程序控制台中对其进行验证,我们可以将它们作为计算机添加到计算机目录中。下面的示例有一个占位符,用于在发生错误时进行错误处理 - 不要忽视错误检查/报告!
Create CITRIX MCS Machines with PoSh - 4:
$taskDetails.CreatedVirtualMachines | ForEach-Object {
if( ! (New-BrokerMachine -MachineName $_.ADAccountSid -CatalogUid (Get-BrokerCatalog -Name 'MCS Server 2019').Uid )) {
"Do some error handling here"
}
}
图7显示执行成功:
图。 7:搜索结果显示属于“MCS Server 2019”计算机目录的所有虚拟机
将计算机添加到交付组
为了使这些新创建的计算机可供最终用户使用,它们需要属于通过运行以下命令实现的交付组:
Create CITRIX MCS Machines with PoSh - 5:
Add-BrokerMachinesToDesktopGroup -DesktopGroup "MCS Server 2019" -Catalog "MCS Server 2019" -Count 2
正如预期的那样,图 8 显示计算机已成功添加到交付组。
图。 8:搜索结果显示属于“MCS Server 2019”交付组的所有虚拟机
打开机器电源
假设成功,剩下要做的就是打开这些新机器的电源,以便它们启动、向交付控制器注册,然后可用于提供已发布的应用程序和/或桌面。
请注意,在下面的 PowerShell 中,它更改了 $taskDetails 变量中包含的计算机帐户名称,方法是删除名称末尾的“$”字符,将其转换为 AD 计算机名称。
这是通过正则表达式 (regex) 实现的,其中 $是一个特殊字符,表示字符串结尾,因此我们必须使用反斜杠字符对其进行转义。
Create CITRIX MCS Machines with PoSh - 6:
$taskDetails.CreatedVirtualMachines | ForEach-Object {
New-BrokerHostingPowerAction -Action TurnOn -MachineName ($_.ADAccountName -replace '$$' )
}
如果一切正常,Citrix Studio 现在应该显示新创建的计算机(图 9),并在短暂延迟后,为了允许它们启动,它们应该被注册,从而能够用于提供使用的应用程序和/或桌面交付组。
图。 9:Citrix Studio 中新创建的 VM 概述
结论
通过 PowerShell 使用 MCS 配置新 VM 具有脚本解决方案的典型优势:准确性、标准化性和可重复性。由此节省的时间也不容忽视。
然而,与 ScriptRunner 结合使用,甚至可以带来更多机会:例如,新虚拟机的创建可以完全自动化,甚至可以委托给服务台和最终用户。所有流程均保持安全、无差错且可追溯。
我们很乐意与您讨论如何使用 ScriptRunner 在您的公司中实施这些或其他用例。只需与我们的产品专家预约即可。
免费的 PowerShell 脚本集合
猜你还喜欢
- 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