У меня есть этот скрипт для выхода из системы всех отключенных пользователей от сервера. Проблема в том, что один из них должен быть отключен и не может выйти из системы.
Проблема в том, что скрипт работает со строковым результатом из query user
, и я не знаю, как изолировать одного из пользователей.
$server = "localhost";
# Get all RDP sessions
$sessions = query user /server:$server | select -Skip 1;
# Loop through each session/line returned
foreach ($line in $sessions) {
$line = -split $line;
# Check for missing SessionName field/column
if ($line.length -eq 8) {
# Get current session state (column 4)
$state = $line[3];
# Get Session ID (column 3) and current idle time (column 5)
$sessionid = $line[2];
$idletime = $line[4];
} else {
# Get current session state (column 3)
$state = $line[2];
# Get Session ID (column 2) and current idle time (column 4)
$sessionid = $line[1];
$idletime = $line[3];
}
# If the session state is Disconnected
if ($state -eq "Disc") {
# Check if idle for more than 1 day (has a '+') and log off
if ($idletime -like "*+*") {
logoff $sessionid /server:$server /v
} elseif ($idletime -like "*:*") {
logoff $sessionid /server:$server /v
}
}
}
Это пример результата от query user
. Пользователь, которого я хочу оставить как отключенный, это p.vbr.1
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
a2270725-3 13 Disc 2+00:17 7/2/2019 1:50 PM
a2232655-3 14 Disc 4+09:54 7/1/2019 2:10 AM
a2129521-3 30 Disc 2+04:50 7/1/2019 4:52 AM
a16991754-3 49 Disc 22:51 7/1/2019 5:44 AM
p.vbr.1 58 Disc 4+20:19 6/25/2019 11:20 AM
a16990384-3 59 Disc 1:43 6/27/2019 10:20 AM
a2169135-3 68 Disc 3+00:50 7/2/2019 11:13 AM
a2289685-3 79 Disc 6:40 7/2/2019 9:04 PM
>a2310806-3 rdp-tcp#93 85 Active . 7/1/2019 9:05 AM
a16991667-3 98 Disc 3+00:31 6/26/2019 6:35 AM
a2064837-3 107 Disc 8:32 7/3/2019 12:47 AM
a2282463-3 108 Disc 2+01:51 7/3/2019 8:55 AM
a2292833-3 116 Disc 1+21:30 7/3/2019 2:06 PM
a18005447-3 126 Disc 8+20:09 6/26/2019 2:48 PM
a2185113-3 135 Disc 9:19 6/26/2019 9:14 PM
a2067993-3 139 Disc 1+03:58 7/4/2019 8:08 AM
a2101008-3 140 Disc 5:10 7/3/2019 10:00 PM
a2256517-3 141 Disc 1+03:32 7/4/2019 8:32 AM
a2340150-3 142 Disc 12:35 7/4/2019 9:53 PM
a2076309-3 143 Disc 3:37 7/5/2019 3:37 AM