我正在创建一个下载工件并安装它的管道,安装后会在 C:\目录中创建一些文件。 但是,运行安装的用户似乎没有在 C: 中创建文件夹的权限。如何授予在 Azure 管道上使用 powershell 或命令行在 Azure 中创建文件的权限?根据我的研究,其中一个命令将是下面的命令,但它在我的管道中不起作用(它在下面的任务中卡在该任务中大约 1 小时)。谁能告诉我出了什么问题吗?
这是我在管道上的任务:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$acl = Get-Acl C:
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("SYSTEM","CreateFiles","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl C:
$acl = Get-Acl C:
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("VssAdministrator","CreateFiles","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl C:
我尝试过的: PowerShell To Set Folder Permissions How to set Write permission on a folder for Everyone Using Powershell How to change permissions for a folder and its subfolders/files in one step?
最佳答案
只是为了正确:
运行安装的用户是否是 VssAdministrator?
您尝试过“FullControl”吗?因为我认为“createfiles”还不够。
如果它是一个普通的系统 c: 分区,那么thrustedinstaller 就是所有者。也许您的设置没有应用?如果您执行 set-acl 然后调用 get-acl,它会显示您的设置吗?
这就是我会尝试的:
- 尝试完全控制(之后您总是可以限制它) 。在 set 命令后检查 get-acl。
关于azure - 无法授予 C :/directory for user in Azure pipeline (provisioning machine - vs2017-win2016) 写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65030319/