通过Powershell为Active Directory组设置的文件夹权限无效

通过Powershell为Active Directory组设置的文件夹权限无效,powershell,acl,active-directory-group,folder-permissions,Powershell,Acl,Active Directory Group,Folder Permissions,一些上下文:我正在扩充PowerShell脚本,以创建一个AD用户来执行批处理工作流和工作流所需的文件夹。支持成员(包括我自己)的ID和网络ID从其所在的组以及这些组所在的组继承所有权限 Write-Log "Setting Permissions on \\$Machine\Batch\Storage\$ASI" -LogPath $LogPath $PathAcl = Get-Acl -path "\\$Machine\Batch\Storage\$ASI" # Setup Inherite

一些上下文:我正在扩充PowerShell脚本,以创建一个AD用户来执行批处理工作流和工作流所需的文件夹。支持成员(包括我自己)的ID和网络ID从其所在的组以及这些组所在的组继承所有权限

Write-Log "Setting Permissions on \\$Machine\Batch\Storage\$ASI" -LogPath $LogPath
$PathAcl = Get-Acl -path "\\$Machine\Batch\Storage\$ASI"
# Setup Inherited permissions
$PathAcl.SetAccessRuleProtection($True, $False)
$PathAcl.GetAccessRules($true, $true, [system.security.principal.ntaccount]) 

# Batch support permisions
$Rule = New-Object System.Security.AccessControl.FileSystemAccessRule($($DomainJobIsToRunIn + '\L_Batch' + "$ASI" + 'Support'), 'Modify,Synchronize', "ContainerInherit, ObjectInherit", "None", "Allow")
$PathAcl.AddAccessRule($Rule)
Write-Log -Message $($DomainJobIsToRunIn + '\Batch' + "$ASI" + 'Support complete.') -LogPath $LogPath

# Commit Changes
Set-Acl -Path "\\$Machine\Batch\Storage\$ASI" -AclObject $PathAcl
Write-Log "Permissions on \\$Machine\Batch\Storage\$ASI setup complete." -LogPath $LogPath
$Machine
=Windows服务器名称
$ASI
=应用程序服务ID(在本例中为“a$c”)
$DomainJobIsToRunIn
=AD域

创建文件夹并分配权限后,“支持”本地组中的“支持”全局组中的“我的用户ID”将无法访问该文件夹。如果打开文件夹属性并转到安全>高级>继续(使用管理员权限尝试该操作),我可以看到以下内容:

如果我通过GUI手动将ID添加到具有访问权限的文件夹中,我可以很好地打开该文件夹,并且“安全”选项卡显示L_Batcha$c支持为

有人知道我做错了什么吗?我已经搜索了几天了,到目前为止还没有找到类似的东西


如果我的问题格式错误,请道歉。这是我第一次在这里发帖。

如果有帮助的话:,,,我不确定我是否完全理解。你说“如果我手动添加我的ID”,但在屏幕截图中只有组。如果我假设您引用了您的组ID,那么“修改访问权限”的确切含义是什么呢。您通过GUI添加了修改访问权限,并且它在ACL列表中作为附加行可见?只有在第一个条目被继承的情况下,这才可能实现,但屏幕截图上不是这样。对不起,我必须向下滚动以显示我想要的组,并且我的用户ID位于列表的顶部,因此它是隐藏的。如果我删除了ID,当我尝试在windows资源管理器中打开时,会得到“您当前没有访问此文件夹的权限”。我的意思是“安全”选项卡与“安全”>“高级”>“权限”匹配。我已经从帖子中删除了“以及”以减少混乱。你能试着看看这是否不是高程问题吗?在提升的控制台中运行PowerShell(以管理员身份运行),然后尝试
Get ChildItem“\\$Machine\Batch\Storage\$ASI”
或者更好的
Get Acl“\\$Machine\Batch\Storage\$ASI”。
如果是这种情况,资源管理器可能会很棘手。我可以从提升的PowerShell控制台运行
Get Acl“\\$Machine\Batch\Storage\$ASI”
。不过,我不能从一个未提升的PS控制台运行它。值得一提的是,
Get Acl“\\$Machine\Batch\Storage”
(目录树上的一级)在一个不相关的PowerShell控制台上运行得很好。如果有帮助的话:,,,我不确定是否完全理解。你说“如果我手动添加我的ID”,但在屏幕截图中只有组。如果我假设您引用了您的组ID,那么“修改访问权限”的确切含义是什么呢。您通过GUI添加了修改访问权限,并且它在ACL列表中作为附加行可见?只有在第一个条目被继承的情况下,这才可能实现,但屏幕截图上不是这样。对不起,我必须向下滚动以显示我想要的组,并且我的用户ID位于列表的顶部,因此它是隐藏的。如果我删除了ID,当我尝试在windows资源管理器中打开时,会得到“您当前没有访问此文件夹的权限”。我的意思是“安全”选项卡与“安全”>“高级”>“权限”匹配。我已经从帖子中删除了“以及”以减少混乱。你能试着看看这是否不是高程问题吗?在提升的控制台中运行PowerShell(以管理员身份运行),然后尝试
Get ChildItem“\\$Machine\Batch\Storage\$ASI”
或者更好的
Get Acl“\\$Machine\Batch\Storage\$ASI”。
如果是这种情况,资源管理器可能会很棘手。我可以从提升的PowerShell控制台运行
Get Acl“\\$Machine\Batch\Storage\$ASI”
。不过,我不能从一个未提升的PS控制台运行它。值得一提的是,
Get Acl“\\$Machine\Batch\Storage”
(目录树上的一级)在不相关的PowerShell控制台上运行良好。