在Windows中删除旧的用户配置文件

1.概要:

系统管理员需从Windows系统的 C:\Users 中删除旧的用户配置文件(已停用或非活动用户等)。RDS服务器的主要问题是磁盘分区上用户配置文件目录的大小不断增长。如果有大量的用户登录使用,随着时间的推移,C:\Users文件夹将包含大量旧的用户配置文件目录。

2.操作步骤/更多信息:

在Windows系统中,可以从控制面板手动删除配置文件:

1)运行sysdm.cpl打开系统属性,选择“高级选项卡,并转到“用户配置文件”->“设置”。

2)此窗口列出此计算机上存储的所有用户配置文件(本地、域帐户),在“大小”列中可以查看每个用户配置文件的大小。

3)选择要删除其配置文件的用户,然后单击“删除按钮。

在 Windows 系统中正确删除用户配置文件时,将删除 C:\Users 中的配置文件目录和注册表中的用户条目。

如果直接从C:\Users文件夹中手动删除用户配置文件目录,还需要从 Windows 注册表中手动删除配置文件引用。

1)运行regedit打开注册表编辑器。

2)导航到注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList。

3)通过用户的 SID 查找与用户对应的注册表项,也可以手动浏览所有子项的内容,直到找到ProfileImagePath值指向磁盘分区上具有用户配置文件的目录的项(例如:C:\Users\sp-admin)。

4)删除此注册表项以完成用户配置文件的正确删除。

也可以使用 PowerShell 删除特定用户的配置文件。

Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.LocalPath.split(‘\’)[-1] -eq 'sp-admin' } | Remove-CimInstance

此命令将删除用户sp-admin的配置文件目录和对应的注册表用户配置文件引用。

如果要删除指定天数(60天)未更新的用户配置文件信息,并保留某些特定的用户配置文件(如系统和网络服务帐户、本地管理员帐户、具有活动会话的用户的帐户以及例外列表中的其他帐户),可以根据实际情况修改、使用以下的PowerShell脚本。

$ExcludedUsers = "Public", "Administrator", "svc", ”user_1”, ”user_2”

$LocalProfiles = Get-WMIObject -class Win32_UserProfile | Where { (!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60)) }

foreach ($LocalProfile in $LocalProfiles) {

    if (!($ExcludedUsers -like $LocalProfile.LocalPath.Replace("C:\Users\", ""))) {

        $LocalProfile | Remove-WmiObject

        Write-host $LocalProfile.LocalPath, "profile deleted” -ForegroundColor Magenta

    }

}