Уклањање старих Виндовс корисничких профила помоћу ГПО или ПоверСхелл-а

На Виндовс радним станицама и серверима, посебно на терминалним серверима РДС (Ремоте Десктоп Сервицес), периодично постоји потреба за чишћење директорија Ц: \ корисника са старих корисничких профила (отпуштени корисници, корисници који дуго не користе сервер итд.).

Главни проблем терминалских сервера је стално повећање величине директорија корисника на диску. Овај проблем делимично решава политика квота величине корисника помоћу ФСРМ или НТФС квота, роаминг мапа, итд. Али са великим бројем корисника терминалских сервера, огроман број директорија са непотребним корисничким профилима накупља се током времена у директоријуму Ц: \ Усерс..

Садржај:

  • Ручно избришите кориснички профил у оперативном систему Виндовс
  • Групна политика за аутоматско брисање старих профила
  • Брисање сервера са старих корисничких профила помоћу ПоверСхелл-а

Ручно избришите кориснички профил у оперативном систему Виндовс

Многи почетници покушавају да ручно избришу директоријум са корисничким профилом из директоријума Ц: \ Усерс. То се може постићи ако након брисања мапе ручно избришете одељак са корисничким профилом са везом на директориј у огранку регистра ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ СОФТВАРЕ \ Мицрософт \ Виндовс НТ \ ЦуррентВерсион \ ПрофилеЛист. Исправан ручни начин брисања корисничког профила у Виндовс-у је отварање својстава система, идите на Напредне поставке система -> Кориснички профили -> Подешавања, одаберите кориснички профил на листи корисника (ступац Величина указује на величину корисничког профила) и кликните Избриши.

Али ово је ручни начин, али желим аутоматизацију.

Групна политика за аутоматско брисање старих профила

Виндовс има уграђену групну политику за аутоматско брисање старих корисничких профила старијих од кк дана. Ова политика је у одељку. Конфигурација рачунара -> Административни предлошци -> Систем -> Кориснички профили (Конфигурација рачунара -> Административни предлошци -> Систем -> Кориснички профили) и зове се „Обришите корисничке профиле након поновног покретања након одређеног броја дана”(Обришите корисничке профиле старије од одређеног броја дана приликом поновног покретања система). Ову опцију можете да омогућите у локалном уређивачу смерница (гпедит.мсц) или користећи смернице домена са конзоле ГПМЦ.мсц..

Омогућите смернице и одредите након колико дана се кориснички профил сматра неактивним, а „Виндовс Усер Профиле Профиле“ може аутоматски обрисати такав профил при следећем покретању система. Обично вреди навести најмање 45-90 дана.

Приликом коришћења ове смернице морате бити сигурни да када искључите / поново покренете сервер нема проблема са системским временом (време не нестаје), иначе активни кориснички профили могу бити избрисани.

Главни проблеми са овом методом аутоматског брисања профила чекају поновно покретање сервера и неселективност (не можете спречити брисање одређених профила, на пример, локалних налога, администратора итд.). Такође, ова смерница можда неће радити ако неки софтвер другог произвођача (најчешће је то антивирус) приступа НТУСЕР.ДАТ датотеци у корисничким профилима и ажурира датум последње употребе.

Брисање сервера са старих корисничких профила помоћу ПоверСхелл-а

Уместо да користите правила за аутоматско чишћење профила о којима смо горе говорили, можете да користите једноставну скрипту ПоверСхелл-а за проналажење и брисање профила неактивних или блокираних корисника.

Прво ћемо покушати да израчунамо величину профила сваког корисника у директоријуму Ц: \ Корисници помоћу једноставне скрипте из чланка „Излазне величине мапе користећи ПоверСхелл“:

гци -форце 'Ц: \ Усерс'-ЕррорАцтион СилентлиЦонтинуе | ? $ _ -је [ио.дирецториинфо] | %
$ лен = 0
гци -рецурсе -форце $ _. фуллнаме -ЕррорАцтион СилентлиЦонтинуе | % $ лен + = $ _. ленгтх
$ _. пуно име, '0: Н2 ГБ' -ф ($ лен / 1Гб)
$ сум = $ сума + $ лен

„Укупна величина профила“, „0: Н2 ГБ“ -ф ($ сума / 1Гб)

Укупна укупна величина свих корисничких профила у директоријуму Ц: \ Корисници износи око 22 ГБ.

Сада ћемо навести кориснике чији се профил не користи дуже од 60 дана. За претраживање можете користити вредност поља профила ЛастУсеТиме..

Гет-ВМИОбјецт -цлас Вин32_УсерПрофиле | Где (! $ _. Специал) -анд ($ _. ЦонвертТоДатеТиме ($ _. ЛастУсеТиме) -лт (Гет-Дате) .АддДаис (-60)) | Мера-објект

Имао сам 143 профила неактивних корисника на терминалном серверу (укупна величина око 10 ГБ).

Да бисте уклонили све ове профиле, само додајте листу за преусмеравање команди Ремове-ВмиОбјецт (пре употребе скрипте за брисање, препоручљиво је да двапут проверите њен излаз помоћу параметра -ВхатИф):

Гет-ВМИОбјецт -цлас Вин32_УсерПрофиле | Где (! $ _. Специал) -анд (! $ _. Лоадед) -анд ($ _. ЦонвертТоДатеТиме ($ _. ЛастУсеТиме) -лт (Гет-Дате) .АддДаис (-30)) | Уклони-ВмиОбјецт -Шта ако

Да не бисте избрисали профиле неких корисника, на пример, посебне системске и мрежне налоге, локални налог администратора, кориснике са активним сесијама, списак налога за изузеће), потребно је да измените скрипту на следећи начин:

# Листа налога чији се профили не могу избрисати
$ ЕкцлудедУсерс = "Јавно", "зеносс", "свц", "усер_1", "усер_2"
$ ЛоцалПрофилес = Гет-ВМИОбјецт -цлас Вин32_УсерПрофиле | Где (! $ _. Специал) -анд (! $ _. Лоадед) -анд ($ _. ЦонвертТоДатеТиме ($ _. ЛастУсеТиме) -лт (Гет-Дате) .АддДаис (-60))
фореацх ($ ЛоцалПрофиле у $ ЛоцалПрофилес)

иф (! ($ ЕкцлудедУсерс-лике $ ЛоцалПрофиле.ЛоцалПатх.Реплаце ("Ц: \ Усерс \", ""))

$ ЛоцалПрофиле | Ремове-ВмиОбјецт
Врите-хост $ ЛоцалПрофиле.ЛоцалПатх, „профил је избрисан“ -ФорегроундЦолор Магента

Можете конфигурирати покретање ове скрипте путем скрипте политике искључивања или према распореду распореда. (Пре постављања аутоматског брисања профила, пажљиво тестирајте скрипту у свом окружењу!).

Можете да измените скрипту тако да аутоматски бришете кориснике свих корисника који су додани у одређену АД групу (на пример, ДисабледУсерс група):

$ усерс = Гет-АДГроупМембер -Идентити ДисабледУсерс | Фореацх $ _. Сид.Валуе
$ профиле = Гет-ВмиОбјецт Вин32_УсерПрофиле
$ профиле | Где $ усерс -ек $ _. Сид | Фореацх $ _. Делете ()