Um die CVAD-Cmdlets verwenden zu können, müssen wir die PowerShell-Module laden, in denen sie sich befinden. Mit Ausnahme der letzten Versionen hat Citrix diese Cmdlets in PowerShell-Snapins statt in Module eingefügt, was bedeutet, dass wir sie auf eine etwas andere Weise laden als gewohnt.
Um alle Citrix-Cmdlets aus dem Snapin zu laden, können wir dies ausführen:
Dies kann jedoch eine beträchtliche Zeit in Anspruch nehmen, da jedes verfügbare Cmdlet geladen wird, während Sie möglicherweise nur ein einzelnes Snapin benötigen. Wenn Sie z. B. Get-BrokerMachine und zugehörige Cmdlets zum Abrufen von CVAD-Rechnern verwenden, können Sie stattdessen diesen Befehl ausführen, was wesentlich schneller geht:
Um herauszufinden, in welchem Snapin sich ein bestimmtes Cmdlet befindet, laden Sie alle Citrix-Snapins, wie zuvor gezeigt, und geben Sie das Cmdlet dann als Argument für Get-Command an, woraufhin es Ihnen den Namen des Snapins mit dem Cmdlet mitteilt, das Sie stattdessen laden können.
Mit CVAD-Versionen ab 1912 LTSR können wir stattdessen Cmdlets aus Modulen laden, und zwar über Import-Module (alias ipmo) anstelle von Add-PSSnapin (alias asnp).
Auch hier gilt: Wir können alle Citrix-Module laden, indem wir „Citrix*“ in Import-Module angeben, oder nur einzelne Module, wiederum durch Laden aller Citrix-Module und anschließendes Verwenden von Get-Command auf den gewünschten Cmdlets, um zu sehen, in welchem Modul/welchen Modulen sie vorhanden sind.
Um meine Skripte sowohl auf neueren als auch auf älteren CVAD-Versionen kompatibel zu machen, verwende ich in der Regel etwas wie den unten gezeigten Code, welcher zuerst versucht, das erforderliche Citrix-Modul zu laden, und wenn das fehlschlägt, versucht, das entsprechende Snapin zu laden: