在7天内删除本地用户配置文件(干净)

时间:2019-05-13 14:41:47

标签: powershell profile

目标-要在每天的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天。

实际-删除该计算机上的所有本地用户配置文件。

1 个答案:

答案 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以删除所指示的配置文件。 [咧嘴]