Im folgenden Abschnitt finden Sie einige abfragen, die für die Fehlerbehebung in CVAD hilfreich sein können, wobei Sie beachten sollten, dass die meisten mit Get-Broker beginnen. Um zu sehen, welche Cmdlets verfügbar sind, können Sie Folgendes ausführen
Get-Command Get-Broker*
Führen Sie die obige Abfrage über
Out-GridView (alias
ogv) aus, um die Ausgabe in einer praktischen, filterbaren und sortierbaren Tabelle anzuzeigen.
Alternativ können Sie Get-Broker eingeben und entweder die Tabulatortaste drücken, um die Liste der Befehle zu durchlaufen, oder die Tastenkombination Strg+Leertaste drücken, um eine mit dem Cursor auswählbare Liste anzuzeigen, wie sie in Abbildung 2 zu sehen ist.
Fig. 2: Get-Broker brings up a cursor selectable list of all available cmdlets
Sie können auch das Get-Help mit den optionalen Parametern ShowWindow oder -OnLine verwenden, um weitere Details und Beispiele für die Verwendung anzuzeigen.
A1. Wie viele Sitzungen gibt es insgesamt, einschließlich verbundener und nicht verbundener Sitzungen?
Get-BrokerSession -AdminAddress $ddc -MaxRecordCount 10000 | measure | select count
A2. Wie sieht die Aufschlüsselung von aktiven und nicht verbundenen Sitzungen aus?
Get-BrokerSession @commonCVADparameters | Group-Object -Property SessionState
Fig. 3: Output of the Command described above
The “Connected” state is where there is a logon in progress.
Der Zustand „Verbunden“ bedeutet, dass eine Anmeldung stattfindet.
A3. Welche verbundenen Sitzungen waren länger als 30 Minuten im Leerlauf?
$activeSessions = Get-BrokerSession @commonCVADparameters -SessionState Active
$activeSessions|where IdleDuration -gt "00:30:00" | select machinename,username,client*,starttime,idle* | Out-GridView
Beachten Sie, dass wir hier alle aktiven Sitzungen, also nicht getrennte, abrufen und in einer Variablen speichern. Auf diese Weise können wir eine Analyse dieser Daten durchführen, ohne sie wiederholt abrufen zu müssen, obwohl der Nachteil ist, dass die Daten nicht automatisch aktualisiert werden.
Beachten Sie auch, dass wir im Cmdlet selbst filtern (-SessionState), wo möglich, und nicht über die Pipeline durch Where-Object (Alias where oder ?), da dies schneller geht, als wenn Where-Object die gesamte Ergebnismenge abzurufen und erst dann zu filtern.
Das Ergebnis dieser Abfrage sehen Sie in Abbildung 4:
Abb. 4: Mit dem oben beschriebenen Befehl wird eine Liste mit allen aktiven Sitzungen angezeigt
A4. Wann und wo hat sich der Anwender billybob angemeldet?
Get-BrokerSession -UserName guyrleechbillybob @commonCVADparameters | select machinename,client*,DesktopGroupNam
Abb. 5: Mit dem oben beschriebenen Befehl erhalten Sie Informationen über die letzte Anmeldung eines bestimmten Anwenders
A5. Wie viele Rechner sind pro Auslieferungsgruppe registriert und nicht im Wartungsmodus?
Get-BrokerMachine -InMaintenanceMode $false -RegistrationState Registered @commonCVADparameters | group DesktopGroupName|select count,name|sort count
Abb. 6: Liste aller CVAD-Rechner, die registriert und nicht im Wartungsmodus sind, sortiert nach Delivery Group
A6: Welche Maschinen haben die meisten Benutzersitzungen? Gibt es eine überlastete Maschine oder ist die Lastverteilung in Ordnung?
Get-BrokerMachine @commonCVADparameters | Sort SessionCount -Descending | select -first 10 machinename, sessioncount, DesktopGroupName, last* | Out-GridView
Abb. 7: Liste der Maschinen mit den meisten Benutzersitzungen in Citrix Studio
A7. Liefergruppenstatistik anzeigen
Get-BrokerDesktopGroup | select Name,Desktop*,Enabled,InMaintenanceMode,Total* | ogv -PassThru
Abb. 8: Delivery Group-Statistik in Citrix Studio
Beachten Sie die Verwendung von -PassThru zu Out-GridView, wodurch die ausgewählten Elemente in der Grid-Ansicht durch Drücken von „OK“ dort verfügbar gemacht werden, von wo aus das Cmdlet aufgerufen wurde.
Alternativ können sie über Set-ClipBoard (Alias scb) weitergegeben werden, sodass die Daten in Notepad, eine E-Mail, OneNote, Änderungskontrollnotizen usw. eingefügt werden können.
Abb. 9: Sie können die Daten über Set-ClipBoard in Notepad einfügen