拥有全权限的System账户通过Azure Run Command无法访问共享文件原因排查
Azure Run Command复制共享文件权限报错问题解答
问题背景
共享文件夹内存在目标文件,通过Azure Run Command功能执行PowerShell命令将文件从共享文件夹复制到本地计算机,执行命令如下:Copy-Item -Path \\SHARE_FOLDER\installs\MY_FILE.TXT -Destination C:\LOCAL\ -Force
报错信息
Copy-Item : Access to the path '\\SHARE_FOLDER\installs\MY_FILE.TXT' is denied. At C:\Packages\Plugins\Microsoft.CPlat.Core.RunCommandWindows\1.1.8\Downloads\script11.ps1:1 char:1 + Copy-Item -Path \\SHARE_FOLDER\installs\MY_FILE.TXT -Destination C:\LO ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (\\SHARE_FOLDER\installs\MY_FILE.TXT:FileInfo) [Copy-Item], UnauthorizedAccessException + FullyQualifiedErrorId : CopyFileInfoItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.CopyItemCommand Copy-Item : Access to the path '\\SHARE_FOLDER\installs\MY_FILE.TXT' is denied. At C:\Packages\Plugins\Microsoft.CPlat.Core.RunCommandWindows\1.1.8\Downloads\script11.ps1:1 char:1 + Copy-Item -Path \\SHARE_FOLDER\installs\MY_FILE.TXT -Destination C:\LO ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Copy-Item], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.CopyItemCommand
已配置权限
根据官方文档说明,Run Command以System身份运行。操作人已为System分配文件共享的所有者权限级别,同时在共享权限和安全权限中均授予了完全控制权限:


额外测试现象
将Everyone添加到文件共享权限后问题解决,文件可成功复制:


问题根因
- Windows系统中,本地System账户访问网络SMB共享资源时,不会使用本地System身份发起身份校验,而是会以当前设备的计算机账户(格式为
域名称\设备名$,末尾带$符号)的身份向共享服务器发起请求。你此前仅给共享文件夹配置了本地System的权限,该身份仅在设备本地生效,远程共享服务器无法识别该身份,因此触发权限拒绝。 - 给Everyone组授予权限后,设备的计算机账户默认被包含在Everyone组的权限范围内,因此访问可以正常通过。
优化解决方案
无需放开Everyone权限,只需在共享文件夹的权限配置中,添加对应Azure虚拟机的计算机账户并授予所需权限,即可正常访问。
内容的提问来源于stack exchange,提问作者jarrad_obrien
相关产品推荐
相关产品推荐

