ich von einem meiner Powershell-Skript den quser Befehl leite und zeigtGibt es eine Möglichkeit loswerden Felder zu bekommen, während quser Befehl über Powershell ausgeführt wird
PS C: \ Users \ Arun> quser
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
Arun console 1 Active 1+01:58 01/06/2016 14:01
Gibt es eine Möglichkeit, die no.of Felder in der Anzeige des Befehls quser einzuschränken.Ich wollte diesen Inhalt in einem E-Mail-Körper anhängen.So wollte es kurz.
Fall 2:
Output mit mehreren Reihen sieht aus wie folgt:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
Arun console 1 Active 1+01:58 01/06/2016 14:01
ABC 1 DISC 1+01:58 01/06/2016 14:01
DEF 1 Active 1+01:58 01/06/2016 14:01
GHI console 1 DISC 1+01:58 01/06/2016 14:01
IJK 1 DISC 1+01:58 01/06/2016 14:01
versucht, die modifizierte Code in eine der Lösungen zur Verfügung gestellt. Aber die Daten werden nach links verschoben, wenn ein leerer Wert für den Sitzungsnamen vorhanden ist.
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
abc12367 2 Disc 2:08 5/20/2016 4:55 PM
def12367 3 Disc 4+03:55 6/9/2016 11:13 AM
>ghi12367 rdp-tcp#3 4 Active . 6/13/2016 10:00 AM
jkl12367 5 Disc 10 6/10/2016 3:54 PM
abc12367 7 Disc 2+23:56 5/19/2016 12:15 PM
mno12367 8 Disc 3+22:07 6/9/2016 4:52 PM
pqr12367 rdp-tcp#1 9 Active 12 6/9/2016 7:55 PM
stu12367 rdp-tcp#2 10 Active . 6/13/2016 10:35 AM
vwx12367 11 Disc 4:21 6/13/2016 10:38 AM
Code verwendet, um die Variablenwerte drucken kontinuierlich:
quser | select -Skip 1 | ForEach-Object {
$current = $_ -split '\s+'
$i = 0;
$username = $current[$i++].Trim('>')
if ($current.Length -eq 7)
{
$sessionname = $current[$i++]
}
else
{
$sessionname = $null
}
$1=$current[$i++]
$2=$current[$i++]
$3=$current[$i++]
$4=$current[$i++]
$5=$current[$i++]
$6=$current[$i++]
$7=$current[$i++]
write-host $1
write-host $2
write-host $3
write-host $4
write-host $5
write-host $6
write-host $7
}
Könnten Sie mir bitte helfen, das Problem bei der Lösung?
Das hat mir sehr geholfen. Eine kleine Abfrage, wenn ich dies auf meinem Server, gibt es einige Zeilen, die das zweite Feld als leer hat und einige Zeilen haben die Felder mit Werten (zB: Sitzungsname). Aber wie die Aufteilung auf die eine oder mehrere gemacht wird Leerzeichen, die Zeilen, die das Leerzeichen im Feld enthalten, erhalten das Feld 3 als Feld2-Wert. Wie können Sie dieses Problem beheben? – user2075017
Überprüfen Sie in einer if-Anweisung einfach, wie viele '$ current' gezählt werden, und überspringen Sie in diesem Fall die Zuweisung der zweiten Eigenschaft. –
können wir die Eigenschaft tatsächlich überspringen, da das zweite Feld Werte für einige der Zeilen enthält. :( – user2075017