我正在寻找 Powershell(首选)脚本或 .CMD 或 .VBS,以删除工作站 (WinXP) 或终端服务器(2000、'03 或 '08)上的特定用户配置文件。我对 delprof 实用程序了如指掌……这只允许您根据一段时间不活动进行删除。我想要一个脚本:
- 提示管理员输入用户名
- 删除该用户名的个人资料
- 并删除整个配置文件 - 注册表配置单元(不仅仅是文档和设置中的文件夹结构)。
- 如果您转到“我的电脑”>“属性”>“高级”选项卡>“用户配置文件设置”>并从那里删除配置文件,则方法相同。
有任何想法吗?我能想到的只是进行 AD 查找以获取指定用户的 SID,然后使用它来删除正确的注册表配置单元......不过,更简单的东西会很好......
基本上,我的 HelpDesk 曾经是我们 Citrix 服务器上的本地管理员,解决各种问题的常见方法是让他们删除 citrix 服务器上的用户配置文件并让该用户重新登录 - 瞧,无论他们遇到什么问题解决。展望未来,在新的 Citrix 环境中,他们将不再是这些框的本地管理员,但仍需要能够删除配置文件(删除整个配置文件:文件夹和注册表是关键)。谢谢。
我为 Server Fault 上的一个类似问题编写了这个 VB 脚本。它将循环浏览目标机器上的每个配置文件,并(一一)提示您是否要删除配置文件。它使用 WMI Win32_UserProfile 执行此操作,因此将完全删除。
它会询问您目标机器的 FQDN。如果您遇到权限错误,请更改用户名和密码以反映在目标计算机上具有本地管理员权限的帐户。
使用您详述的相同工作流程(它首先请求用户名)不起作用。这种方法的问题是 Win32_UserProfile 不包含用户名,仅包含 SID。当用户登录机器时,SID 用于决定哪个配置文件是正确的。这可以防止在 AD 中重命名用户帐户时出现问题。
tsprofilecleaner 是一个免费的 gui,可以从服务器列表中删除配置文件: 链接文本
我认为澳大利亚的 Cntrl+Alt+Del 咨询公司开发了一种可能对您有所帮助的工具。它称为 REMPROF,使用此命令,您可以从服务器上删除单个配置文件。当然,您必须在命令中替换实际的用户名:
不幸的是,我不相信您可以从另一台服务器远程运行它,并且如果没有管理权限,您将无法运行它。我不相信您的支持人员将能够在任何服务器上管理用户和用户配置文件,而无需成为本地管理员组的成员。
无论如何,您都可以从此处的 Cntrl+Alt+Del 咨询网站下载 REMPROF 和许多其他有用的工具:
http://www.ctrl-alt-del.com.au/CAD_TSUtils.htm
我希望这有帮助。
艾丽西亚
好吧,相反,我们认为没有足够的理由在 Citrix 服务器上保留任何配置文件(它们无论如何都会在重定向任何真实数据的情况下漫游),因此我们将策略设置为在用户注销时删除配置文件。谢谢大家的建议。
如果您使用的是 Windows 7 或 Windows 2008 计算机,Powershell 会以非常简单的方式完成此操作。
http://techibee.com/powershell/powershell-script-to-delete-windows-user-profiles-on-windows-7windows-2008-r2/1556
我们使用用户配置文件 Hive 清理服务 + 小脚本,在服务器启动时删除所有用户配置文件。工作良好
您可以使用 delprof 或 remprof 来删除配置文件。您可以从这些命令创建脚本,也可以使用
tsprofcleaner
.用户配置单元位于他们的用户目录 (NTUSER.DAT) 下,因此使用 删除目录
rmdir /s /q {username}
就足够了。唯一不会被删除的部分是在注册表中的配置文件列表下,HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
但所做的只是将 SID 映射到配置文件位置。如果用户登录并且该目录不存在,它将再次创建。
不幸的是,如果不让他们将自己提升为管理员,他们将无法删除用户配置文件。
批处理文件: