В домене Windows, которым я управляю, есть сотни имен компьютеров, которые я не узнаю, и я хотел бы удалить старые, которые не используются, прежде чем пытаться отследить неправильно названные.
Есть ли способ узнать, когда последний раз машина входила в сеть? Либо через dhcpd, либо через событие входа пользователя, либо что-то еще.
Ты можешь использовать dsquery
(ссылка на технет) для поиска неактивных компьютеров:
dsquery computer -inactive 10 -limit 0
Показывает компьютеры, которые не использовались в течение 10 или более недель.
Из dsquery computer /?
(ссылка на технет)
...
-inactive <NumWeeks> Finds computers that have been inactive (stale)
for at least <NumWeeks> number of weeks.
...
Вы можете направить вывод в dsrm
(ссылка на технет), если вы хотите удалить объявление из домена. Обратите внимание, что это будет не беспокоиться о том, чтобы побудить вас, поэтому будьте осторожны.
dsquery computer -inactive 10 -limit 0 | dsrm -noprompt
Вы можете вернуть учетные записи компьютеров через DSQUERY. В приведенном ниже примере будут возвращены учетные записи компьютеров, которые не входили в систему в течение последних 4 недель.
dsquery computer -inactive 4 -limit 0
Затем вы можете передать выходные данные в файл или просто удалить их, передав команду DSRM.
dsquery computer -inactive 4 -limit 0 | dsrm -noprompt
Я уверен, что подобная функциональность может быть достигнута с помощью PowerShell.
Скрипт VB > здесь < будет идентифицировать компьютерные объекты в вашем AD, для которых пароль компьютера не был сброшен в течение указанного количества дней, а затем переместит их в OU, которое вы можете указать, а также отключит их учетные записи компьютеров для вас (что, как мне кажется, предпочтительнее просто удалить их - безопаснее!)
Я использовал его раньше, и он отлично работает.