PowerShell 修复 Robocopy的权限问题

最近豆子公司在转移文件服务器,大概有80T的文件需要传送到云端。豆子直接使用了robocopy进行拷贝。因为历史原因,有些文件夹的权限设置比较奇葩,导致豆子的账户也没有权限去访问,这样的结果就是Robocopy里面可能会有几十百甚至上千个文件夹因为权限问题而无法拷贝。


robocopy 命令例子

robocopy c:\source  d:\destination /E /w:30 /r:3 /log+:"c:\temp\log.txt" /xf .*


那么如果解决这个问题呢?豆子的思路是获取robocopy的日志文件,通过正则提取其中失败的路径,然后通过脚本重新夺取管理员权限,然后重新赋予NTFS的权限。


比如说,下面的robocopy 日志,报错信息如下所示

  New Dir          0\\syd02\Track\.TemporaryItems\folders.1138144168\Cleanup At Startup\.BAH.FftCc\
2017/11/12 08:58:18 ERROR 5 (0x00000005) Scanning Source Directory \\syd02\Track\.TemporaryItems\folders.1138144168\Cleanup At Startup\.BAH.FftCc\Altitude Business Card Visuals\
Access is denied.
Waiting 180 seconds... Retrying...
2017/11/12 09:01:18 ERROR 5 (0x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PowerShell是一种强大的命令行工具,用于管理和自动化Windows系统的各个方面。如果你遇到PowerShell运行异常或需要进行修复,可以按照以下步骤操作: 1. **检查更新**:确保PowerShell版本是最新的,通过控制面板、Windows Update或直接访问Microsoft网站下载更新。 2. **修复模块**:PowerShell依赖于各种模块来提供特定的功能,如果某个模块出现问题,可以尝试 `Get-Module -ListAvailable | Where-Object {$_.Name -like "*broken*"}` 查找并修复或重新安装它们。 3. **清除缓存**:有候,清理PowerShell缓存和历史记录 (`Clear-Host`, `Remove-Item -Path $PROFILE\PSReadLine*`) 可能有助于解决问题。 4. **重新注册**:如果PowerShell配置文件损坏,可以尝试使用 `Reset-PSReadline` 或 `Import-Module PSReadLine; Remove-Module PSReadLine; Import-Module PSReadLine` 进行重新注册。 5. **故障排查**:使用内置的`Get-WinEvent -FilterHashtable @{LogName='System'; ID=1074}` 来检查日志,看看有没有关于PowerShell错误的事件。 6. **重置环境**:如果所有方法都无效,可以考虑创建一个新的PowerShell配置文件 (`Set-ExecutionPolicy RemoteSigned -Scope Process`) 或者完全重置到初始状态 (`Unregister-PSSessionConfiguration -Name Microsoft.PowerShell`,然后重新注册)。 如果问题是由于权限不足或者账户配置导致,确保你有足够的管理员权限来执行上述操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值