Yeni Citrix MCS Makineleri Oluşturmak için PowerShell'i Kullanma
Citrix Virtual Apps and Desktops (CVAD), son kullanıcılara ek kapasite eklemek amacıyla yeni makinelerin hızla oluşturulmasına olanak tanıyan iki mekanizma içerir. Bunlar Makine Oluşturma Hizmetleri (MCS) ve Tedarik Hizmetleridir (PVS).
Bu makale bunların nasıl çalıştığına veya nasıl kurulacağına ilişkin ayrıntılara girmiyor ve MCS kullanan bir makine kataloğunun zaten oluşturulduğunu varsayıyor; bu katalogda PowerShell'in yepyeni makineler oluşturmak için nasıl kullanılacağını göstereceğiz ve bunları bir teslimat grubu.
MCS tabanlı makine kataloglarını PowerShell ile kendileri oluşturmak elbette mümkündür; hatta gerekirse PowerShell ile komple bir CVAD uygulaması sıfırdan oluşturulabilir.
Önkoşullar
Makineleri oluşturma adımlarını gerçekleştirmeden önce CVAD PowerShell cmdlet'leri yüklenmelidir. 1912 (LTSR) sürümünden önce bunlar (eski) ek bileşenler olarak sağlanıyordu, ancak bu sürümden itibaren modüller halinde kullanıma sunuldu (daha fazla bilgi için bu serinin ilk bölümünü okuyun: Citrix Virtual Apps and Desktops'ta PowerShell'e Giriş) .
Bu yazıda kullanılan cmdlet'leri yüklemek için aşağıdaki kod tüm sürümlerde çalışacaktır:
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'
}Kod, bir Citrix Teslimat Denetleyicisinde veya Citrix Studio veya CVAD PowerShell cmdlet'lerinin yüklü olduğu herhangi bir makinede çalıştırılabilir; burada ikincisi, kaynak tüketimi nedeniyle tercih edilir. İkincisi kullanılırsa, çağrıları belirtilen dağıtım denetleyicisine yönlendirmek için -AdminAddress parametresinin Citrix cmdlet'lerine belirtilmesi gerekir.
Active Directory Makine Hesapları Oluşturma
Mevcut bir kataloğa makine eklediğimizi varsaydığımız için, PowerShell kodunun ihtiyaç duyduğu çeşitli iç yapılar, Citrix Studio'da ayrı varlıklar olarak görünmese de, zaten oluşturulmuş olacaktır.
Bunlardan biri, Citrix Studio tarafından oluşturulursa uygulandığı katalogla aynı ada sahip olacak ve katalog oluşturulduğunda seçilen adlandırma kuralını içeren bir kimlik havuzu olacaktır (bkz. şekil 1).
Şek. 1: Bir makine kataloğu ayarlarken aynı zamanda makineleri için bir adlandırma kuralı da tanımlamanız gerekir
İhtiyacımız olan kimlik havuzunun mevcut olup olmadığını aşağıdaki komutla kontrol edebiliriz:
Şekil 2 çıktıyı göstermektedir.
Şek. 2: Belirli bir kimlik havuzunun mevcut olup olmadığını kontrol etmek için Get-AcctIdentityPool'u kullanma
Mevcut MCS makine kataloglarına karşılık geldiğini görebildiğimiz (şekil 3):
Şek. 3: Katalog listesi mevcut MCS kataloglarını gösterir
Yeni makineler için Active Directory hesapları oluşturmak amacıyla, adlandırma kuralını ve belirtilen kimlik havuzunda tanımlanan OU'yu kullanarak iki makine hesabı oluşturan aşağıdakileri çalıştırıyoruz; adı veya ad tabanını kendimiz belirtmemiz gerekmediğini unutmayın:
Create CITRIX MCS Machines with PoSh - 2:
$newAccounts = New-AcctADAccount -IdentityPoolName 'MCS Server 2019' -Count 2Sonucu bir sonraki adımda kullanacağımız için bir değişkene atadık ancak sonucu bu değişkenin içeriğine bakarak kontrol edebiliriz (Şekil 4):
Şek. 4: $newAccounts değişkeninin içeriği
AD'yi kontrol ederseniz bu makine hesaplarının doğru kuruluş biriminde oluşturulduğunu görmelisiniz.
Sanal Makineler Oluşturma
Şimdi bu AD hesaplarına karşılık gelen sanal makineleri oluşturmamız gerekiyor ve bunun için MCS makine kataloğu oluşturulduğunda oluşturulacak ve kimlik havuzlarında olduğu gibi katalogla aynı ada sahip olacak temel hazırlık şeması adına ihtiyacımız var. bununla ilgilidir.
Şek. 5: PowerShell aracılığıyla temel hazırlık şeması adını alma
VM'leri oluştururken, eşzamanlı olarak çalıştırılabilecek, böylece görev tamamen tamamlanana kadar cmdlet'in geri dönmeyeceği veya cmdlet'in hemen geri dönmesini sağlayacak şekilde eşzamansız olarak çalışabilecek bir görev oluştururuz. İkinci durumda, devam etmeden önce görevin tamamlanıp tamamlanmadığını kontrol etmeniz gerekir; ancak görevin yürütülmesi, diğer eylemlerin gerçekleştirilmesi veya bir ilerleme göstergesinin görüntülenmesi gerekeceğinden uzun zaman alabilirse bu yararlı olabilir.
Burada görevin tamamlandığını nasıl kontrol ettiğimizi göstermek için onu eşzamansız çalıştırıyoruz.
Create CITRIX MCS Machines with PoSh - 3:
$newProvVMtask = New-ProvVM -ADAccountName
$newAccounts.SuccessfulAccounts -ProvisioningSchemeName 'MCS Server 2019' -RunAsynchronouslyGörev GUID'i, şekil 6'da görüldüğü gibi sorgulayabileceğimiz değişkende saklanır:
Şek. 6: $taskDetails'in özellikleri
Görevin tamamlanıp tamamlanmadığını test etmek için kullanabileceğimiz Active, Status, TaskState ve TaskStateInformation özelliklerine dikkat edin. Olumsuz. Bir döngüdeki özellikleri kontrol ederken, bu yoklama döngüsünün CPU tüketimini azaltmak için Başlat-Uyku gibi bir tür gecikmeye sahip olduğunuzu unutmayın.
Makineleri Kataloğa Ekleme
Artık hipervizör konsolunuzda doğrulanabilen VM'leri oluşturduğumuza göre, bunları makine kataloğuna makine olarak ekleyebiliriz. Aşağıdaki örnekte, bir hata oluşması durumunda hata yönetimi için bir yer tutucu bulunmaktadır; hata kontrolünü/raporlamayı ihmal etmeyin!
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"
}
}Şekil 7, yürütmenin başarılı olduğunu göstermektedir:
Şek. Şekil 7: Arama sonucu “MCS Server 2019” makine kataloğunun parçası olan tüm VM'leri gösterir
Makineleri Teslimat Grubuna Ekleme
Yeni oluşturulan bu makinelerin son kullanıcıların kullanımına sunulabilmesi için, aşağıdakilerin çalıştırılmasıyla elde edilen bir teslimat grubuna ait olmaları gerekir:
Create CITRIX MCS Machines with PoSh - 5:
Add-BrokerMachinesToDesktopGroup -DesktopGroup "MCS Server 2019" -Catalog "MCS Server 2019" -Count 2Beklendiği gibi şekil 8, makinelerin Teslimat Grubuna başarıyla eklendiğini göstermektedir.
Şek. Şekil 8: Arama sonucu “MCS Server 2019” Teslimat Grubu'nun parçası olan tüm VM'leri gösterir.
Makineleri Açma
Bunun başarılı olduğunu varsayarsak, yapılması gereken tek şey bu yeni makineleri açmak, böylece önyüklenmelerini, bir dağıtım denetleyicisine kaydolmalarını ve ardından yayınlanmış uygulamaları ve/veya masaüstü bilgisayarları sağlamaya hazır hale gelmelerini sağlamaktır.
Aşağıdaki PowerShell'de, $taskDetails değişkeninde bulunan bilgisayar hesap adını, adın sonundaki "$" karakterini kaldırarak onu bir AD bilgisayar adına dönüştürerek değiştirdiğine dikkat edin.
Bu, $'ın dizenin sonu anlamına gelen özel bir karakter olduğu normal bir ifadeyle (regex) elde edilir, bu nedenle ters eğik çizgi karakterini kullanarak ondan kaçmamız gerekir.
Create CITRIX MCS Machines with PoSh - 6:
$taskDetails.CreatedVirtualMachines | ForEach-Object {
New-BrokerHostingPowerAction -Action TurnOn -MachineName ($_.ADAccountName -replace '\$$' )
}Her şey doğru şekilde çalıştıysa, Citrix Studio şimdi yeni oluşturulan makineleri göstermeli (şekil 9) ve kısa bir gecikmeden sonra, önyüklenmelerine izin vermek için kaydedilmeli ve dolayısıyla, bunları kullanan uygulamaları ve/veya masaüstü bilgisayarları sağlamak için kullanılabilir olmalıdır. teslimat grubu.
Şek. 9: Citrix Studio'da yeni oluşturulan sanal makineye genel bakış
Çözüm
Yeni VM'yi PowerShell aracılığıyla MCS ile yapılandırmak, komut dosyasıyla yazılmış çözümlerin tipik avantajlarını sunar: Doğruluk, standartlaştırılabilirlik ve tekrarlanabilirlik. Ortaya çıkan zaman tasarrufu da göz ardı edilmemelidir.
Ancak ScriptRunner ile birlikte kullanıldığında daha da fazla fırsat ortaya çıkıyor: Örneğin, yeni VM'lerin oluşturulması tamamen otomatik hale getirilebilir ve hatta yardım masasına ve son kullanıcılara devredilebilir. Tüm süreçler güvenli, hatasız ve izlenebilir kalır.
Bunları veya diğer kullanım örneklerini şirketinizde ScriptRunner ile nasıl uygulayabileceğinizi sizinle tartışmaktan mutluluk duyarız. Ürün uzmanlarımızdan randevu almanız yeterli.
Ücretsiz PowerShell Komut Dosyası Koleksiyonu










