【问题标题】:PowerShell Remove-Item -Force does not remove non-owned directories imported from CSV filePowerShell Remove-Item -Force 不会删除从 CSV 文件导入的非拥有目录
【发布时间】:2021-08-15 18:12:12
【问题描述】:

我对此很陌生,如果我能得到任何建议,我将不胜感激。 我正在使用 PowerShell 版本 5.1,并且我已经能够使用以下代码:

$dir = Import-Csv DirectoryList.csv $目录 | ForEach-Object {$_."目录" | Remove-Item -Force -Recurse}

删除“DirectoryList.csv”中指定的目录列表;但是,它不会删除我不是其所有者的文件夹。是的,我是盒子的管理员,我知道这并不能转化为所有者;)

我确信有一种方法可以确保对于 CSV 文件中列出的每个目录(特定 AD 管理员组(例如:ArchiveAdministrators)不是其所有者),将其更改为所有者,然后删​​除文件夹及其所有内容,但我不知道该怎么做。

我尝试将脚本修改为:

$dir = Import-Csv DirectoryList.csv $目录 | ForEach-Object {$_."目录" |设置-NTFSowner -account ArchiveAdministrators\tfl | Remove-Item -Force -Recurse}

现在当它运行时,它什么也不做,我得到这个错误:

+ CategoryInfo          : SecurityError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess

感谢任何帮助。

【问题讨论】:

    标签: powershell csv directory ownership


    【解决方案1】:

    Set-NTFSOwner 不输出 目录 信息对象,因此您不能将其输出直接通过管道传输到 Remove-Item;使用两个不同的语句:

    Import-Csv DirectoryList.csv $dir | ForEach-Object {
      $_.Directory | Set-NTFSOwner -account ArchiveAdministrators\tfl
      if ($?) { $_ | Remove-Item -Force -Recurse }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2021-09-10
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多