やりかた
Citrix XenDesktop 5用のPowerShellコマンドレットがあるので利用します。
詳しくはこちら
http://blogs.citrix.com/2011/03/18/xendesktop-5-powershell-sdk-primer-part-1-getting-started/
このコマンドレットはDDCになっているマシンには組み込まれているのでインストールは不要ですが、PowerShell実行時に組み込む必要があります。
まず初めに
管理者としてPowerShellを起動します。
ウインドウが開いたら下記コマンドをペーストします。
1 2 3 4 5 |
$snapins = Get-PSSnapin | where { $_.Name -like "Citrix*" } if ($snapins -eq $null){ Get-PSSnapin -Registered "Citrix*" | Add-PSSnapin ADD-PSSnapin "PvsPsSnapin" } |
コマンドの内訳としては、利用できるスナップインを探してCitirix関連の物を組み込むという内容です。
とりあえずデスクトップグループの情報を取得してみる
Get-BrokerDesktopGroup
と実行したら今登録されているデスクトップグループの情報が全て表示されます。
特定のデスクトップグループ登録だけ欲しい場合
例:shirokuma1というデスクトップグループの情報だけがほしい
1 |
Get-BrokerDesktopGroup -Name shirokuma1 |
shirokuma1の中で非登録になっているマシンの数が欲しい
1 2 |
$objDesktopGroup = Get-BrokerDesktopGroup -Name hirokuma1 $objDesktopGroup.DesktopsUnregistered |
非登録ユーザーの詳細を知りたい
1 |
Get-BrokerDesktop -Filter { SummaryState -eq "Unregistered" -and DesktopGroupName -eq "shirokuma1" } |
現在のActiveセションの数を知りたい
1 2 3 |
$SessionCount = Get-BrokerSession -MaxRecordCount 500 | Where-Object { $_.SessionState -eq "Active" } | Select SessionState echo $SessionCount.Count |
このPowerShellのファイルをタスクに登録すれば定期的に実行されます。
ログの出し方
$objDesktopGroup.DesktopsUnregistered >> C:\work\log.txt
こんな感じで出せます。
うまい具合にGet-Dateを使用して書き出せばMRTGとかCactiでグラフを作れるでしょう
他のコマンドは下記を参考にしてください
http://support.citrix.com/static/kc/CTX127254/help/index.htm