@vuyio

Как правильно удалить определенные учетные записи windows 10 через powershell?

Хай
Суть задачи: удалить профили на большом количестве ПК, их папки занимают большое кол-во пространства на диске.

Удаленно через powershell при запросе dir в C:\Users:
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        01.06.2022     10:12                bvv
d-----        29.02.2024      7:33                dmv
d-----        07.04.2023     10:27                dnm
d-----        17.02.2024      9:31                dov
d-----        19.01.2024     18:44                elov
d-----        24.01.2024     18:36                emm
d-----        20.09.2022     13:20                eoiu
d-----        17.05.2024     20:28                geki
d-----        17.05.2023     17:01                gval
d-----        19.05.2022     16:30                kavas
d-----        14.10.2022     13:38                kds
d-----        01.09.2023     12:40                kla
d-----        02.02.2022      7:56                kls
d-----        24.02.2022      7:00                ktp
d-----        07.06.2023     10:15                lim
d-----        06.10.2023      8:29                malina.e
d-----        08.02.2023     11:06                matev
d-----        18.05.2023     17:52                mdi
d-----        29.02.2024     19:02                mma
d-----        19.01.2024     18:25                monp
d-----        02.05.2024     19:08                nve
d-----        26.04.2024     11:31                ooa
d-----        22.10.2022     11:24                paa
d-----        04.06.2024     16:39                pia
d-----        25.10.2022     14:59                pif
d-----        15.03.2023     11:35                pin
d-----        05.06.2024     16:45                ptp
d-r---        22.06.2021     19:04                Public
d-----        06.02.2023      7:12                rev
d-----        10.10.2022     12:30                Shaan
d-----        13.05.2024     11:58                shfa
d-----        07.06.2022     14:09                shln
d-----        12.02.2024     15:01                syuv
d-----        21.09.2022     13:52                tas
d-----        07.10.2022     14:15                ttg
d-----        24.01.2024     14:55                ttv
d-----        04.10.2023     16:09                tvm
d-----        02.02.2022      7:56                User
d-----        21.03.2024     15:31                vio
d-----        11.11.2022     13:46                voa
d-----        18.04.2024      9:33                vsn
d-----        10.10.2022      7:42                zhev
d-----        24.09.2022     11:54                zks
d-----        02.02.2022      7:56


При использовании команды Invoke Command -> Remove-LocalUser:
PS C:\WINDOWS\system32> Invoke-Command -ComputerName 305A -Credential SCHOOL217\vio -ScriptBlock {
>>     Remove-LocalUser -Name "paa"
>> }
Пользователь paa не найден.
    + CategoryInfo          : ObjectNotFound: (paa:String) [Remove-LocalUser], UserNotFoundException
    + FullyQualifiedErrorId : UserNotFound,Microsoft.PowerShell.Commands.RemoveLocalUserCommand
    + PSComputerName        : 305A


Можно конечно руками идти и удалять через Advanced System Settings (команда SystemPropertiesAdvanced ) -> User Profiles -> Settings но делать это придется очень долго и много раз
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@NortheR73
системный инженер
для одного локального пользователя - примерно так (у вас это все должно быть в цикле по всем компам):
$localuser = Get-LocalUser -Name $USERNAME
$localuser | Remove-LocalUser -Confirm:$false

$userprofile = Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.SID -eq $localuser.SID }
$userprofile | Remove-CimInstance -Confirm:$false
Ответ написан
Комментировать
@MaxKozlov Куратор тега PowerShell
в цикле
Удалить папку и соответствующую папке запись в реестре в
"HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"

Естественно, включая всякие проверки на системные папки типа Default/AllUsers, RefCount, соответствие guid и т.д.
Те папки, которые в реестре не числятся и не являются системными - можно просто удалять

А простого способа, насколько я знаю, нет

Ну или можно поискать соответствующие модули
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы