目标-要在每天的00:30的任务计划中运行此脚本,请在7天内彻底删除本地用户配置文件(Windows 8.1不仅允许您删除用户文件夹)。在7天之内保留本地用户个人资料。
目前,我刚刚运行的脚本似乎在运行后会删除所有配置文件。
我曾尝试过与-gt
和-lt
一起玩,但是却使自己陷入双重否定之类的问题!
Get-WmiObject -Class Win32_UserProfile | Where {
(!$_.Special) -and
($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(7))
} | Remove-WmiObject
预期结果-超过7天的本地用户配置文件已删除。保存少于7天。
实际-删除该计算机上的所有本地用户配置文件。
答案 0 :(得分:1)
这是进行选择的一种方法。它使用一种更直观的方式来测试年龄...人们经常将-gt
/ -lt
测试与日期相反,因此我将age in days
用于测试。同样,CIM- * cmdlet返回datetime
对象,而不是WMI- * cmdlet给您的filetime
对象。
$Today = (Get-Date).Date
$MaxDaysOld = 7
Get-CimInstance -ClassName Win32_UserProfile |
Where-Object {
-not $_.Special -and
($Today - $_.LastUseTime).Days -gt $MaxDaysOld
}
您可以通过管道将其传输到Remove-CimInstance
以删除所指示的配置文件。 [咧嘴]