Oggi ho avuto la necessità di tracciare il numero di sessioni attive per un particolare pool di desktop virtuali creati in VMWare View.
VMWare offre dei cmdlets per l’integrazione con Powershell, disponibili sul server su cui è installato il Connection Server:
Possiamo utilizzare tali cmdlets nel nostro script con il comando:
add-PSSnapin "VMware.View.Broker" |
Per ottenere le sessioni remote, utilizziamo il cmdlet Get-RemoteSession, a cui passiamo il nome del pool:
Get-RemoteSession -pool_id MyPool |
Filtriamo gli oggetti in base allo stato (CONNECTED) e ne eseguiamo il conteggio:
|Where-Object{$_.state -eq "CONNECTED"}).Count |
Infine salviamo il valore ottenuto, anteponendo data e ora.
Lo script completo è il seguente:
add-PSSnapin "VMware.View.Broker" (Get-Date).ToShortDateString() + " " + (Get-Date).ToShortTimeString() + " - " + ((Get-RemoteSession -pool_id MyPool)|Where-Object{$_.state -eq "CONNECTED"}).Count | out-file -FilePath "MyLog.txt" -Append |
e il file di log: