需要帮助向本地 Windows 组授予加入 AD 域的 Windows Server 2019 服务器上 NTFS 驱动器上的文件夹的权限。
我已经为域组成功配置了该功能,但需要帮助才能使本地组正常工作:
测试设置:两个安全组:一个在 AD 中(“adgroup”),一个本地 Windows 组(“localgroup”),并将同一个 AD 用户(我们称他为“testuser”)添加到两个组中。
然后我创建了一个新文件夹,我们将其命名为 D:\MyFolder。
这有效: 如果我授予 adgroup 对 MyFolder 的读取权限,testuser 就可以正常访问该文件夹。
这不起作用: 如果我向 localgroup 授予对 MyFolder 的读取权限,testuser 将无法访问该文件夹。完全控制也不起作用。但是,检查 MyFolder 上的有效权限表明 testuser 确实具有完全访问权限。
如何使其与当地团体合作?
答案1
在处理 NFTS 权限时,我会尽量避免使用本地计算机组。您可能会将其与域本地组(有时也称为本地组)混淆。如果您确实需要使用本地计算机组,您可以将全局组设为本地计算机组的成员。
要记住的一个常见原则是 ADGLP。用户和计算机帐户是成员帐户组,而成员帐户组是代表业务角色的全局组的成员,全局组是广告域本地群组描述资源权限或用户权限分配
以下是使用 PowerShell 创建 ADGLP 组的通用 PowerShell 脚本示例。
# Define business roles
$accountingRole = "Accounting"
$readersRole = "Readers"
$folderAccessRole = "FolderAccess"
# Define group names based on business roles
$accountGroupName = "AG_$accountingRole"
$globalGroupName = "GG_$readersRole"
$domainLocalGroupName = "DL_$folderAccessRole"
# Create Active Directory groups
New-ADGroup -Name $accountGroupName -GroupScope Global -GroupCategory Security
New-ADGroup -Name $globalGroupName -GroupScope Global -GroupCategory Security
New-ADGroup -Name $domainLocalGroupName -GroupScope DomainLocal -GroupCategory Security
# Add the global group to the accounts group
Add-ADGroupMember -Identity $accountGroupName -Members $globalGroupName
# Add user accounts to the global group
Add-ADGroupMember -Identity $globalGroupName -Members "User1", "User2"
# Get the folder path
$folderPath = "C:\Path\To\Your\Folder"
# Get the folder's ACL (Access Control List)
$acl = Get-Acl -Path $folderPath
# Create a read permission for the domain local group
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\$domainLocalGroupName", "Read", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
# Apply the modified ACL to the folder
Set-Acl -Path $folderPath -AclObject $acl
请记住先测试此脚本并将值更改为您的环境。