Я бег команды Quser от одного моего Powershell сценария и отображаетЕсть ли способ избавиться от полей во время выполнения команды Quser с помощью PowerShell
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
Есть ли способ ограничить поля no.of на дисплее команды quser. Я хотел бы прикрепить этот контент к телу электронной почты. Поэтому он хотел бы сократить его.
Случай 2:
Выход с несколькими рядами выглядит, как показано ниже:
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
Пытались модифицированный код, предоставленный в одном из решений. Но, однако, данные сдвигаются влево, когда существует пустое значение для имени сеанса.
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
код, используемый для печати переменных значений непрерывных:
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
}
Не могли бы вы мне помочь в решении вопроса?
Это очень помогло мне. Небольшой запрос, когда я запускаю его на своем сервере, есть несколько строк, у которых второе поле пустым, а некоторые строки имеют поля со значениями (например, имя сеанса). Но так как разделение выполняется на одном или нескольких пространство, строки, которые имеют пробел в поле, получают поле 3 как значение поля2. Любое предложение о том, как избавиться от этой проблемы? – user2075017
Просто проверьте счетчик '$ current' внутри оператора if и пропустите присвоение второго свойства в этом случае. –
Мы не можем фактически пропустить свойство, так как второе поле имеет значения для некоторых строк. :( – user2075017