Ich habe ein kleines Skript, das Benutzer in unserer Umgebung Schatten die Sitzungen von anderen Benutzern in den Einrichtungen (Ich arbeite in der Unternehmenszentrale, Corporate Benutzer müssen die Fähigkeit, andere Benutzer Sitzungen Schatten entlang verschiedener Seiten)Powershell - Grab spezifische Informationen von Array-Problem
So habe ich dieses:
$servers = "server1, server2, server3, server4, server5"
#search for user in servers farm
foreach ($server in $servers) {
$results = & qwinsta.exe $userid /server:$server
if ($results -ne $null) {
write-host "User found in $server"
$serverfound = $server
write-host $results[1]
$sessionid = $results[1] | Where-Object { $_ -is 0..99}
write-host "Session ID is: $sessionid"
}
}
Allerdings habe ich nicht die Session-ID aus dem Ergebnis zu packen bekommen kann, ist dies die Ausgabe des Skripts:
Ple ase warten Sie, während wir für x2adm auf den RDSfarm Server
Benutzer gefunden in Server5
rdp-tcp # 0 x2adm 2 Aktive
Session ID ist zu suchen:
ich einfach versuche zu Nimm die Nummer in der Ausgabe und weise sie $ sessionid zu, damit ich den Shadowing-Prozess vollständig automatisieren kann.
Jede Hilfe wird geschätzt. Danke im Voraus.
Es gibt eine gute Antwort hier, um Ihnen zu helfen: http://stackoverflow.com/questions/23445175/qwinsta-serversomesrv-equivalent-in-powershell – sodawillow
Ich denke, Ihr Problem ist mit $ servers = "server1, server2, server3 , server4, server5 ". Sollte $ servers = "server1", "server2", "server3", "server4", "server5" sein, so erhalten Sie ein Array mit 5 Elementen. –
Ich stimme Dan zu, du hast ihm nur eine Zeichenfolge und nicht 5 einzelne Elemente übergeben. –