如何删除除我指定的用户配置文件以外的所有Windows用户配置文件?

h7appiyu  于 2023-06-24  发布在  Windows
关注(0)|答案(2)|浏览(164)

我正在尝试删除除我指定的某些配置文件(管理员、公共、默认、域\管理员等)之外的所有用户配置文件
我能够成功地做到这一点,并排除一个用户配置文件,但我有问题的正确语法,以排除多个用户配置文件。下面是我找到的成功列出除管理员之外的所有配置文件的代码:
Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -ne 'administrator' }
我从这里得到的:
https://adamtheautomator.com/powershell-delete-user-profile/
我将-eq更改为-ne以排除管理员配置文件,但我还想排除其他几个配置文件。
我想我需要这样的东西:
Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -ne 'administrator','Public','default','DOMAIN\administrator' }
然而,这似乎不起作用,它只是排除了列表中的第一个名字(管理员)。
此命令的正确语法是什么?
谢谢!

hsgswve4

hsgswve41#

可选:创建一个数组,其中包含您要保留的列表,如下所示:

$AccountsToKeep = @('administrator','Public','default','DOMAIN\administrator')

然后用这个:

Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -notin $AccountsToKeep }

希望这能帮上忙。
如果你喜欢这个答案,请不要忘记接受它!

p5cysglq

p5cysglq2#

$AccountsToKeep = @('administrator','Public','default','Contoso\Darrin.Thor')

Get-CimInstance -Class Win32_UserProfile | Where-Object { (!$_.Special) -and ($_.LocalPath.split('\')[-1] -notin $AccountsToKeep) } | Remove-CimInstance

相关问题