我正在尝试删除除我指定的某些配置文件(管理员、公共、默认、DOMAIN\administrator 等)之外的所有用户配置文件
我能够成功执行此操作并排除单个用户配置文件,但是我遇到了排除多个用户配置文件的正确语法问题。这是我发现成功列出除管理员以外的所有配置文件的代码:
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' }
但是这似乎不起作用,它只排除列表中的第一个名字(管理员)。
此命令的正确语法是什么?
谢谢!
可选:使用要保留的列表创建一个数组,如下所示:
$AccountsToKeep = @('administrator','Public','default','DOMAIN\administrator')
然后使用这个:
Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -notin $AccountsToKeep }
希望这可以帮助。
如果您喜欢这个答案,请不要忘记接受它!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句