我对 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
不确定哪种方法会引发此问题,但我仍然认为这是一个有效的起点。