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コマンドレットを使用してアクセス許可を割り当てることができます。「C:\ Data \ LearningProducts」に書き込みアクセス許可を設定します。つまり、「DomainAdmins」の「Learningproducts」フォルダーを意味します。

$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

これは、「ドメイン管理者」がフォルダへの書き込みアクセス権を持っていることを実際に示しています。

P

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 に答える