URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

フォルダリダイレクト先のアクセス権

 久々に移動ユーザープロファイルとフォルダリダイレクトを設定したので、復習と備忘。

 グループポリシーで移動ユーザープロファイルやフォルダリダイレクトを使用すると、既定ではユーザーの個人フォルダは管理者もアクセスできなくなってしまいます(無理矢理アクセス権をとることは可能ではありますが)。
 それでは管理をする上で不都合なので管理者のアクセス権を付与することが多いと思います。


Administrators セキュリティグループを移動ユーザープロファイルに追加する

 ユーザープロファイルの方はグループポリシーに「Administrators セキュリティグループを移動ユーザープロファイルに追加する」という項目があるので有効にしてやればよいのですが、ではフォルダリダイレクトではどうするかというのが主題。


ユーザーに<対象フォルダ>に対して排他的な権限を与える

 フォルダリダイレクトは「ドキュメント」「ピクチャ」「ミュージック」のように各フォルダごとに設定していきますが、設定項目の「ユーザーに<対象フォルダ>に対して排他的な権限を与える」に既定でチェックが入っています。
 これにチェックが入っていると自動作成されるフォルダは管理者にもアクセスできなくなりますが、チェックを外すと上位のフォルダのアクセス権を継承するようになります。
 ただし、フォルダリダイレクト用の共有フォルダは利用ユーザー全員がアクセスできるようにするはずなので、そのまま継承すると個人用フォルダも全員がアクセスできるようになってしまいます。


 ではどうするかというと、共有フォルダの配下に個人ユーザー用のフォルダを手動で作成し、そこのアクセス権を個人ユーザーと管理ユーザーに設定します。
 このとき共有フォルダに付与する一般ユーザーのアクセス権は継承しないようにしておきます。


共有フォルダのアクセス権の例(管理者とドメインユーザー)


手動作成した個人フォルダのアクセス権の例(管理者と個人ユーザー)


 そうすることで、その後にポリシーで自動作成されるフォルダにも継承されて個人ユーザーと管理ユーザーだけがアクセスできるようになります。


自動作成されたフォルダリダイレクト先のアクセス権(管理者と個人ユーザー)


 内容としては以上なのですが、手動作成する個人フォルダをユーザー追加の度に手作業でやるのは現実的ではないので、スクリプト等を作っておくのが一般的だと思います、
 下記のサンプルスクリプトは指定したセキュリティグループのメンバー用に個人フォルダを作成し、個別のアクセス権を付与します。

<# フォルダリダイレクト用フォルダの作成 #> # Parameters $DomainBios = "DOMAIN" $TargetGroup = "Domain Users" $RootFolder = "\\127.0.0.1\Shared" # Main Routine $GroupUsers = Get-ADGroupMember -Identity $TargetGroup -Recursive $Folders = Get-ChildItem -Path $RootFolder foreach ($DomainUser in $GroupUsers) { $Stat = $true foreach ($UserFolder in $Folders) { if ($DomainUser.SamAccountName -ieq $UserFolder.Name) { Write-Output "`"$UserFolder`" is already exist." $Stat = $false } } if ($Stat) { $UserPath = $RootFolder + "\" + $DomainUser.SamAccountName $AllowUser = $DomainBios + "\" + $DomainUser.SamAccountName $UserRuleSet = ( $AllowUser, [System.Security.AccessControl.FileSystemRights]::Modify, ([System.Security.AccessControl.InheritanceFlags]::ObjectInherit -bor [System.Security.AccessControl.InheritanceFlags]::ContainerInherit), [System.Security.AccessControl.PropagationFlags]::None, [System.Security.AccessControl.AccessControlType]::Allow ) $UserAcl = New-Object System.Security.AccessControl.FileSystemAccessRule $UserRuleSet Write-Output "Create Folder : `"$UserPath`"" New-Item -Path $UserPath -ItemType Directory $FolderAcl = Get-Acl $UserPath $FolderAcl.SetAccessRule($UserAcl) $FolderAcl | Set-Acl $UserPath } } exit

 ある程度必要な要素だけ入れると、こんなところでしょうかね。


          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (05/10-20:33)
明日は約1カ月ぶりに都内か
@umkn1020 (05/09-14:13)
妙に眠いが、ガッツリ昼寝してしまうとまた生活リズムが戻らなくなる
@umkn1020 (05/09-12:30)
RT @Isseki3: インドの人口 14億 アメリカの人口 3.3億 インドで1日40万人発症、アメリカと同じにすると9.4万人。アメリカのピークは30万人 インドで1日4000人死亡はアメリカなら943人。アメリカのピークは1日4500人死亡 アメリカが終わったので…
@umkn1020 (05/09-12:28)
PASMOへのチャージはオートチャージ頼みだったから、通勤がないと残額がなくなっていることに全然気づかなかった。
@umkn1020 (05/07-22:42)
最初の1回以降はずっと無視していたな~ https://t.co/tzBKgcSRUJ

エントリーリスト

カテゴリーリスト

タグ