从 Windows 10 中删除所有用户生成的文件

从 Windows 10 中删除所有用户生成的文件

我对 Windows 10 中的文件/程序处理有疑问。

我的问题是,我将在月底离开公司,并想清理我的 Windows 用户帐户。我知道当我删除此设备上的用户时,所有文档等都会被删除,但我认为这只会影响存储在用户配置文件中的数据。我的问题是,我有 3 个驱动器,必须清除用户生成的所有数据。说我偏执吧,但有时我在停机期间做了一些私人的事情,没有人知道。

此外,我们只是一家小公司,因此我们没有 IT 部门来清理机器,所以如果我想确保我的数据消失,我必须自己动手。

我认为检查每个文件夹可能非常繁琐,而且一定有更好的方法来做到这一点。

我需要的是:

  • 显示我的用户生成的所有文件的方法
  • 一种显示用户安装的所有程序的方法(其中一些可以保留在系统中,但有些可能必须删除)

如果您对我如何生成这些列表有任何建议,我可以从那里继续使用一个小型 powershell 脚本来删除文件和文件夹。并删除不必要的程序。

谢谢你的时间

答案1

要查找您创建的文件,您可以检查系统文件所有者属性,格式的字符串<ComputerName>\<UserName>,以及对该格式的过滤。

您可以先在文件管理器 Details查看它是否适合您的需求: 在此处输入图片描述

如果这符合您的需求,并且您希望访问该物业电源外壳, 使用扩展属性()方法FolderItem。打开电源外壳控制台并运行此代码以获取可以通过管道FIleSystemInfo将主题传输到的过滤器:

$OwnerPropID = '{9B174B34-40FF-11D2-A27E-00C04FC30871},4'
$OwnerText   = '{0}\{1}' -f $env:ComputerName , $env:UserName
$Shell       = New-Object -ComObject shell.application


Filter Select-MyFiles {
    If ( $shell.NameSPace(( $_.DirectoryName)).ParseName($_.Name).ExtendedProperty($OwnerProp) -eq $OwnerText ) {$_}
}

然后使用的输出Get-ChildItm

gci -af -s -ea silent | Select-MyFiles

初步测试显示出现 COM 错误:

You cannot call a method on a null-valued expression.
At line:7 char:10
+     If ( $shell.NameSPace(( $_.DirectoryName)).ParseName($_.Name).Ext ...
+          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

不确定哪种方法会引发此问题,但我仍然认为这是一个有效的起点。

相关内容