如何使用XenDesktop的PowerShell來做Update Machines--限定Pool

最近某個客戶為了能夠在更新Windows 7母版之後,

在不動到Studio的狀況下,每月能夠自動更新,

因此為了這個需求寫了一個Powershell,並套進在Windows 2012的工作排成之中。

先說明基本環境

Hypervisor:XenServer 6.5

OS:Windows 2012 R2

虛擬桌面版本:Xendesktop7.6.3

$Today=Get-Date -UFormat %Y%m%d_%H%M%S  ##設定Snapshot日期

New-HypVMSnapshot  -AdminAddress "ddc.citrix.com:80" -LiteralPath "XDHyp:\HostingUnits\dd\Windows 7 test.vm" -SnapshotName "Citrix_$Today"     ##執行Snapshot的VM

$ProvSchemeName = "TESTSCRIPTS"  ##需要針對你的Machin Catalogs上的名稱定義來做update

$Snapshot = "Citrix_$Today"

Start-Sleep -s 30    ##如果不停止30sec,我這邊的環境會發生帶到兩筆路徑到待會下面的執行變數之中。

$VM = get-childitem -adminaddress "ddc.citrix.com:80" "XDHyp:\HostingUnits\dd\" | where-object {$_.ObjectType -eq ‘VM‘ -and $_.PSChildName -like ‘Windows 7 test.vm‘}    ##抓取Hypervisor中要做母版更新的VM路徑

$VMSnapshot = get-childitem -adminaddress "ddc.citrix.com:80" $VM.FullPath -Recurse -Include *.snapshot  ##抓取更新VM機器之中的Snapshot路徑1

$TargetSnapshot = $VMSnapshot | Where-Object {$_.FullName -eq "$snapshot.snapshot"} ##抓取更新VM機器之中的Snapshot路徑2

Set-ProvSchemeMetadata  -AdminAddress "ddc.citrix.com:80"  -Name "ImageManagementPrep_DoImagePreparation" -ProvisioningSchemeName "TESTSCRIPTS" -Value "True" ##準備更新的process

publish-provMasterVMImage -provisioningSchemeName $ProvSchemeName -MasterImageVM $TargetSnapshot.fullpath -AdminAddress "ddc.citrix.com:80" -RunAsynchronously   ##執行更新開始

Start-BrokerNaturalRebootCycle  -AdminAddress "ddc.citrix.com:80" -InputObject @("TESTSCRIPTS")  ##更新後直接重開

參考網址:

http://stealthpuppy.com/xendesktop-update-mcs-machine-catalog-powershell/

时间: 2024-11-04 21:26:38

如何使用XenDesktop的PowerShell來做Update Machines--限定Pool的相关文章

如果您是開發者, 地球幣EAC區塊鏈歡迎您來做開發

如果您是開發者,地球幣EAC區塊鏈歡迎您來做自願開發者 如果您是開發者,地球幣EAC區塊鏈歡迎您參與我們的項目.領取開發測試用的EARTHCOIN或者查看我們的技術文檔Source Code at github.com 1.54最新代碼:源代碼https://github.com/Sandokaaan/earthcoin 致力於可持續和公平的發展,量化全球資源!如果您有興趣開發,請聯繫我们 EAC华人自愿开发区块链QQ群:EAC开发讨论Q群488414827,精通熟悉区块链程序开发的方允许加入,

XenDesktop 之powershell 使用

1.禁止PVS类型桌面注销自动关机 Set-BrokerDesktopGroup -Name "Desktop Group Name" -ShutdownDesktopsAfterUse $False 2.调整交付组默认开启计算机百分比,可用通配符"*" Set-BrokerDesktopGroup "Desktop Group Name"-PeakBufferSizePercent 100 3.为添加好的托管主机添加网络 Get-Item XD

安裝 CentOS 7 後必做的七件事

CentOS 是最多人用來運行伺服器的 Linux 版本,最新版本是 CentOS 7.當你興趣勃勃地在一台主機或 VPS 上安裝 CentOS 7 後,首要的工作肯定是加強它的安全性,以下列出的七件事,是你進一步配置系統和安裝其他軟件前必須做的. 1. 更改 root 密碼 若果你是自行安裝 CentOS 7 的話,安裝程序會讓你自行設定 root 的密碼.不過很多 VPS 服務商只會提供預先安裝好的 CentOS 7 映像檔,這種情況下他們會透過主控界面告訴你 root 的密碼,這個密碼的安

Jenkins 2 如何使用 PowerShell 以及自定 build fail (指定 exit code)

Jenkins 除了用來做為 CI(持續性整合) 工具外,也可以與其他 plugin 配合達成其他目的(e.g.IIS restart.檔案壓縮備份-),今天就來看看可以怎麼與 PowerShell 整合執行 PowerShell 指令 文章大綱 安裝 PowerShell plugin 設定 Powershell plugin PowerShell 丟出 build fail 1. 安裝 PowerShell plugin Manage Jenkins –> Manage Plugins Av

Delete,Update与LEFT Join

UPDATE:UPDATE A SET ApproverID=NULL FROM [SH_MaterialApplyBuyBill] A LEFT JOIN [SH_MaterialApplyBuyBillDetail] B ON A.ID=B.[MaterialApplyBuyBillID]WHERE A.id=125 AND @InDetailCount=0DELETE:DELETE A FROM [SH_ClosingBalance] A LEFT JOIN [SH_StoreHouse]

informatica update原理

在使用infamatica powercenter时,update是一个很重要的操作,这篇文章给大家梳理一下update的原理. 根据数据流的顺序,我们把数据分成以下几个阶段: Init :  对于任何一个Mapping的每一条数据, 初始默认标志为Insert.即在整个过程中,如果没有任何更改标志位的操作,这条数据将作Insert操作 使用Update Strategy修改更新标志: 当在Mapping中使用了Update Strategy时,则根据DD_UPDATE,  DD_INSERT,

Android系统Recovery工作原理之使用update.zip升级过程分析(一)

通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的,我们的安装脚本updater-script怎样被解析并执行的等一系列问题.分析过程中所用的Android源码是gin

Windows Azure Powershell的云端漫步

Powershell之于微软平台的重要性我想人人都知道.印象中从Windows Server 2008开始内置Powershell,到了Exchange 2007成为了第一个支持Powershell的服务器平台,到了日后的SharePoint.SQL Server和System Center,甚至是Windows 7/8这样的客户端系统,全部都在底层集成了Powershell模块.可以这么说,图形界面能做的,Powershell都能做:反之Powershell能做的,图形界面却不一定能够搞得定.

yum -y upgrade与yum -y update的区别

原生产环境: OS: CentOS release6.7 (Final) [[email protected]]# uname  -a Linux sky9896 2.6.32-573.12.1.el6.x86_64#1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 升级之后,版本及内核会有所变化吗? 1. #yum –y upgrade //升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变. [[e