文件夹权限设置

双鱼座

我执行以下命令以在远程服务器中创建文件夹。将权限设置为新文件夹(F驱动器中的团队)时,我收到访问控制列表的错误消息,您能帮我解决这个问题吗?

$acl=Get-Acl "\\9018\F$\Team Data"$path=md "F:\Team" | set-acl -aclobject $acl
Invoke-Command -ComputerName (Get-Content C:\Server.txt) -ScriptBlock {
param($acl,$path)
} -ArgumentList $acl,$path

错误信息:

set-acl : The security identifier is not allowed to be the owner of this object.
At F:\folder.ps1:2 char:26
+ $path=md "F:\Team" | set-acl -aclobject $acl
+                          ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (F:\CDS Team:String) [Set-Acl], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.SetAclCommand
蓝莓蛋糕

Get-ACL将获得该对象的所有安全权限,因此当您将其管道传输到该对象时,Set-ACL可能会告诉它设置每个权限。

您可以尝试的改变

$acl=Get-Acl "\9018\F$\Team Data"$path=md "F:\Team"

$acl=(Get-Item "\9018\F$\Team Data").GetAccessControl('Access') | Set-ACL -Path F:\Team

我使用下面的代码在我的虚拟服务器上的文件夹中对其进行了测试(有效),因此也许您可以摆弄代码并使它正常工作:

$acl=(Get-Item \\core\testshare$).GetAccessControl('Access')
$acl | Set-Acl -Path \\core\changeacl

您的代码建议您可能需要对一台以上的服务器执行此操作,为此,您可以做的是在代码之前放置foreach

$servers = Get-Content C:\Servers.txt
ForEach ($server in $servers)
{
    $acl=(Get-Item \\core\testshare$).GetAccessControl('Access')
    $acl | Set-Acl -Path "$server\Team"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章