0

在我的场景中,我必须阅读机器的 Windows 组。我只需要为某些 Windows 组授予对文件夹的写权限。

我需要在 Powershell 脚本中实现它。

4

1 回答 1

0

嗨,您可以使用下面的脚本来获取 Windows 机器组的列表,我想您需要管理员组中的用户,下面的脚本将列出管理员组中的成员。

$compname = hostname    
$computer = [ADSI]("WinNT://" + $compname + ",computer")
$Group = $computer.psbase.children.find("Administrators")
$Group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}

它的输出将如下所示

Administrator
Domain Admins

获得所需组后,您可以在我的场景中使用下面的 powershell cmdlet 分配权限,我将写入权限设置为“C:\Data\Learning Products”,我的意思是“域管理员”的“学习产品”文件夹

$Acl = Get-Acl "C:\Data\Learning Products"
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("Domain Admins","Write","Allow")
$Acl.SetAccessRule($Ar)
Set-Acl "C:\Data\Learning Products" $Acl

设置权限后,您可以通过运行来验证它

Get-Acl "C:\Data\Learning Products" | ForEach-Object { $_.Access  } | ft -Wrap

哪个 wpuld 确实表明“域管理员”现在具有对该文件夹的写入权限

osh (0310) >  Get-Acl "C:\Data\Learning Products" | ForEach-Object { $_.Access  } | ft -Wrap

   FileSystemRights   AccessControlType IdentityReference           IsInherited    InheritanceFlags    PropagationFlags
   ----------------   ----------------- -----------------           -----------    ----------------    ----------------
 Write, Synchronize               Allow GDNINDIA\Domain                   False                None                None
                                        Admins

        FullControl               Allow BUILTIN\Administrat                True                None                None
                                        ors
                                          ObjectInherit
        FullControl               Allow NT AUTHORITY\SYSTEM                True                None                None

        ReadAndExecute,           Allow BUILTIN\Users                      True     ContainerInherit,              None
        Synchronize                                                                    ObjectInherit

Modify, Synchronize               Allow NT AUTHORITY\Authen                True                None                None
                                        ticated Users
于 2012-11-12T11:40:17.367 回答