Powershell删除文件夹而不拥有所有权?

fstab2323234

我正在尝试创建一个查找所有用户配置文件的脚本。90天或更长时间未访问的配置文件将被删除。我也想从C:\ Users删除他们的文件夹,以释放硬盘空间。

cd C:\Users\
foreach ($dir in $OlderDays) {
    Get-CimInstance -ComputerName $ComputerName -Class Win32_UserProfile -ErrorAction Stop | Where-Object {$_.Special -eq $false}

    Get-CimInstance -ComputerName $profile.ComputerName -ClassName Win32_UserProfile -ErrorAction Stop | Where-Object {$_.SID -eq $profile.RegKey.SID -and $_.LocalPath -eq $profile.RegKey.LocalPath} | Remove-CimInstance -ErrorAction Stop 

    Remove-item -force -Path $dir -recurse
}

我收到对试图从C:\ Users删除的每个文件夹的访问被拒绝的信息。

我正在使用管理员帐户。到目前为止,我发现的唯一解决方案是私有化,但是某些工作站需要删除50多个帐户,右键单击文件夹并单击删除需要10秒钟,这不是很节省时间。Takeown每个帐户花费了大约10分钟的时间。

remove-item : Access to the path 'C:\Users\test5456\AppData\Local\Application Data' is denied.
At line:59 char:5
+     remove-item -force -Path C:\Users\$dir -recurse
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Users\test5456:String) [Remove-Item], UnauthorizedAccessExcepti 
   on
    + FullyQualifiedErrorId : RemoveItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.RemoveItemCommand

以管理员身份运行

ᴇcʜιᴇ007

即使您以管理员身份运行它,仍必须拥有该文件夹(及其内容)的所有权,然后才能删除它。

Takeown每个帐户花费了大约10分钟的时间。

众所周知,TakeOwn速度很慢,使用PowerShell的Get-ACL和Set-ACL更快。

要将文件夹及其所有内容的所有者设置为内置的Administrators组,将如下所示(未经测试):

$Group = New-Object System.Security.Principal.NTAccount("Builtin", "Administrators")
$ACL = Get-ACL $dir
$ACL.SetOwner($Group)

Get-ChildItem $dir -Recurse -Force | % {
    Set-ACL -AclObject $ACL -Path $_.fullname
}

将其放在Remove-Item命令之前的Foreach循环中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不拥有所有权的情况下获取文件夹的大小?

复制文件*不*拥有所有权

即使拥有所有权限和sudo也无法删除文件夹

拥有所有权时,要更改所有权吗?

尽管拥有我的所有权,但没有对.ssh文件夹和内部密钥的许可

如何删除文件夹所有权?(Windows 7和Windows XP)

拥有所有权的类型属性对于EF Core中的已修改实体不持久

在不更改所有权的情况下授予用户访问文件夹的权限?

如何使用Takeown来拥有一个驱动器上所有文件夹的所有权?

获取文件夹所有权并在Powershell中向域帐户添加完全权限?

使用chown设置文件夹的所有子文件夹和文件的所有权?

.gnupg`文件夹中文件的标准所有权设置是什么?

rsync尽管拥有所有权,但“权限被拒绝”

AttributeError:在拥有所有权或释放cdata时释放

C++ Builder:TJSONPair 是否拥有所有权?

权限被拒绝 - 即使在拥有所有权的组中

在Box中更改文件夹所有权

如何为UID 1000的用户授予文件夹所有权?

更改文件夹权限和所有权

查找两个主文件夹之间的所有权差异?

暂时取得文件夹的所有权

使用CIF,并且无法粘贴到文件夹或更改所有权

将文件夹所有权从根更改为用户

查找特定的文件夹,然后更改其所有权

阻止Rsync更改排除列表的文件夹的所有权

将新的子文件和文件夹默认为父文件夹所有权

无法获得所有权或删除Flash文件

将家中所有文件和文件夹的所有权错误地更改为“ root”

为什么Rust的矢量索引语法不拥有元素的所有权?