Сейчас самое время проявить жалость к этому вопросу, но я думаю, что это может быть лучшим способом для меня.Я хочу сделать для каждого в одном маленьком сценарии, я работал после работы.Я хочу контролировать, если какие-либо сеансы простаивают, и если они превышают 50 минут, я хочу выйти из системы.Поэтому я использую это
(quser)
PS C: \ Windows \ system32> (quser) ИД пользователя ИМЯ СЕССИИ ИМЯ ГОСУДАРСТВЕННОГО ВРЕМЕНИ ВРЕМЕНИ ВХОДА
John rdp-tcp # 1 9 Active.21-11-2018 22:15 Ryan rdp-tcp # 0 11 Active 5:07 21-11-2018 10: 59
Если я использую этот сценарий, я могу записать время ожидания и сравнитьэто работает нормально
**$separator = "," # you can put many separator like this "; : ,"
$partas = (quser) -replace '\s{2,}', ','
$parts = $partas.split($separator)
$data = $parts[10]
if ($data -eq "." )
{ $data = "0"
}
$datanow = [int]$data
$toto2 = [int]"45"
if ([int]$datanow -gt [int]$toto2 ){
logoff $parts[6]
Write-Output "Terminator Mode GOD "}
else
{
( Write-Output "Not my president!"
)
}**
Как видите, я разделяю части и выбираю ту, которую хочу
**$separator = "," # you can put many separator like this "; : ,"
$partas = (quser) -replace '\s{2,}', ','
$parts = $partas.split($separator)
$data = $parts[10]**
Но если один сеанс является локальным, $ parts [x] не соответствует реальным лагерям, и скрипт перестает работать.
Так что мне нужно сделать более простой код, чтобы выбрать ВРЕМЯ ОЖИДАНИЯ и ID для выхода из системы, если условие совпадает.Может ли кто-нибудь помочь мне с этим?
Заранее спасибо! C