加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-server-2008 – Powershell – 克隆整个驱动器的ACL –

发布时间:2020-12-13 23:14:03 所属栏目:Windows 来源:网络整理
导读:我正在将所有数据从AD服务器上的一个(1 TB)卷(非C :)迁移到新的4 TB卷.我已经复制了所有数据,包括FolderRedirection和Profile的东西. 我正在使用一点PowerShell克隆安全ACL.任何人都可以指出我正确的方向如何将输出记录到文件,以便我可以检查它,并确保没有写
我正在将所有数据从AD服务器上的一个(1 TB)卷(非C :)迁移到新的4 TB卷.我已经复制了所有数据,包括FolderRedirection和Profile的东西.

我正在使用一点PowerShell克隆安全ACL.任何人都可以指出我正确的方向如何将输出记录到文件,以便我可以检查它,并确保没有写入失败?

copypermissions.ps1

dir E:Data -r | where {$_.PSIsContainer} | foreach { 
  $target= ($_.fullname).replace("E:","G:") 
  Get-Acl $_.Fullname | Set-Acl $target 
}

在Set-Acl命令的末尾使用-whatif标志显示它将尝试并执行我想要的操作但是当我实际在测试文件夹上运行它时并不是所有内容都被复制而且我在控制台上出现了一些错误看起来像:

Set-Acl : The security identifier is not allowed to be the owner of
this object.

At E:copypermissions.ps1:3 char:32
+ Get-Acl $_.Fullname | Set-Acl <<<< $target
+ CategoryInfo : InvalidOperation: (G:DataProfiles*USERNAME*:String) [Set-Acl],
InvalidOperationException + FullyQualifiedErrorId :
System.InvalidOperationException,Microsoft.PowerShell.Commands.SetAclCommand

我真的在寻找一个简单的1衬里添加到脚本的末尾,将任何错误写入日志文件.

要将错误重定向到从stederror到常规输出流,请将2> (文件名)在查询的末尾.所以它变成了:
dir E:Data -r | where {$_.PSIsContainer} | foreach { 
  $target= ($_.fullname).replace("E:","G:") 
  Get-Acl $_.Fullname | Set-Acl $target 
} 2> errors.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读