Я пытаюсь создать задачу, которая будет выполняться позже с локальным компьютером taskch, которая будет выполняться каждый день.
Задача состоит в том, что если пользователь не вошел в систему компьютера, он должен быть удален с компьютера.
Дело в том, что с моим кодом что-то не так, и я не знаю, что
Сейчас я пытаюсь, чтобы скрипт удалил testuser 1,2,3, а на testuser 4 должен сказать, что Account is old, используя lastusetime.
Система-информация
Название ОС: Microsoft Windows 10 Enterprise
Версия ОС: 10.0.17763 N / A Build 17763
Счет-Info
@ {Sid = S-1-5-21-3824012622-276487612-2647460976-1105; LocalPath = C: \ Users \ testuser4; LastUseTime = 2019-05-13 19:27:57}
@ {Sid = S-1-5-21-3824012622-276487612-2647460976-1109; LocalPath = C: \ Users \ testuser3; LastUseTime = 2019-05-10 14:54:07}
@ {Sid = S-1-5-21-3824012622-276487612-2647460976-1108; LocalPath = C: \ Users \ testuser2; LastUseTime = 2019-05-10 14:54:07}
@ {SID = S-1-5-21-3824012622-276487612-2647460976-1107; LocalPath = C: \ Users \ testuser1; LastUseTime = 2019-05-10 13:49:16}
# Start PS-Code
$DeleteIfLastUseTimetIsOlderThen = (get-date).AddDays(-5).tostring("yyyy-MM-dd hh:mm:ss”)
$GetLocalAccounts = Get-WmiObject -ComputerName localhost -Filter "Special=False" -Class Win32_UserProfile |
Select-Object Sid, LocalPath, @{Label='LastUseTime';Expression={$_.ConvertToDateTime($_.LastUseTime)} }
foreach ($UserAccount in $GetLocalAccounts)
{
if ($GetLocalAccounts.LastUseTime -Ge $DeleteIfLastUseTimetIsOlderThen )
{ Write-host "Account is old, Remove me"}
Else
{ Write-host "Account is not old"}
}
# End PS-Code
Дело в том, что не имеет значения, если я изменю значение "$ DeleteIfLastUseTimetIsOlderThen" на 1,2,3,4 или 55, все кажется старым.