daniel-schroeder
Goto Top

ServerName mit Powershell Cmdlet PSTerminalServices ausgeben

Hallo,

ich habe vor ein Powershell-Script zu basteln welches unsere Terminalserver "abklappert" und alle Sessions in eine CSV-Datei ausgibt. Die Daten möchte ich dann später Auswerten und Filtern nach verschiedenen Kriterien. Meine Googlesuche führte mich zu folgendem Cmdlet "http://archive.msdn.microsoft.com/PSTerminalServices".

Mein Code sieht bisher so aus:

Import-Module PSTerminalServices
$computers = ("Server1" , "Server2" , "Server3")
foreach ($computer in $computers)
{
$temp1 = Get-TSSession -ComputerName "$computer" | select-object -property ("UserName", "DomainName", "UserAccount", "State", "ConnectionState", "ClientName", "Local", "WindowStationName", "SessionId", "CurrentTime", "ConnectTime", "DisconnectTime", "LastInputTime", "LoginTime", "IdleTime")
$temp2 = Get-TSSession -ComputerName "$computer" | select-object -expandproperty "Server" | select-object -property "ServerName"
$sessions1 += $temp1
$sessions2 += $temp2
}
$sessions1 | out-gridview
$sessions2 | out-gridview


Leider ist es nicht möglich den Servernamen zusammen mit den Restlichen Properties ausgeben zu lassen. In meinem Codebeispiel wird in die Variable "$session1" eine Liste mit den Benutzern und den zugehörigen Daten geschrieben und in "$session2" eine Liste der Abgefragten Server. Ohne den Servernamen sind die Daten in "$session1" wertlos für mich. Ursache meines Problems ist, dass sich die Property "Server" nochmal unterteilt in "ServerName" und "Isopen". Ich weiß daher nicht wie ich "ServerName" zusammen mit den anderen Properties ausgeben kann.

Im Endergebnis will ich die Daten in Excel darstellen können. Hat vielleicht jemand eine Idee wie ich das bewerkstelligen könnte?

Vielen Dank im voraus face-smile

Content-Key: 182178

Url: https://administrator.de/contentid/182178

Ausgedruckt am: 28.03.2024 um 12:03 Uhr

Mitglied: daniel-schroeder
daniel-schroeder 19.03.2012 um 12:38:06 Uhr
Goto Top
Gibt es vielleicht eine Möglichkeit die beiden Arrays miteinander zu verbinden? "$session1" enthält ja sozusagen eine Tabelle mit mehreren Spalten und Zeilen und "$session2" enthält eine einzige Spalte.

Wenn ich die beiden Arrays jeweils in eine CSV schreiben lasse kann ich sie manuell über Excel zusammenkopieren. Aber geht das nicht schon über Powershell?