ユーザフルコントロール権限のディレクトリをネットワークドライブにマウントします。
はじめにディレクトリが存在するかを見に行き、無ければ自動的に%USERNAME%のディレクトリを作成します。
‘********************************
‘*
‘* Module Name: FolderMount.vbs
‘* Version: 1.0
‘* Abstract: ユーザが自動的にフォルダを作成してネットワークドライブにマウント
‘*
‘********************************
Option Explicit‘変数の宣言
Dim Username
Dim objNet
Dim objFsoSet objNet = CreateObject(“WScript.Network”)
Set objFso = CreateObject(“Scripting.FileSystemObject”)
On Error Resume Next
Username = LCase(objNet.UserName)‘hogehogeにはホスト名、Foldersにはフォルダ名を入力
If (Fso.FolderExists(“\\hogehoge\Folders\” & username)) ThenElse
Set src = Fso.CreateFolder(“\\hogehoge\Folders\” & username)End If
‘ドライブ名を指定
objNet.MapNetworkDrive “I:”,”\\hogehoge\Folders\” & username‘オブジェクトの解放
Set Username = Nothing
Set objNet = Nothing
Set fso = Nothing
で、ディレクトリの権限なんですが上記PATHだとすると
+—-hogehoge
+—-Folders
+—-%USERNAME%
こうなってると思います。
各ディレクトリに、使用するユーザに対してのみフルコントロールの権限を与えたいけれども別ユーザにはアクセスさせたくない。でもユーザが多すぎて手動で登録するのはしんどい。
という事があると思います。
こういう場合には”CREATOR OWNER”権限を利用します。
CREATOR OWNER”とは・・・
オブジェクトの作成者。アクセス制御エントリ(ACE)は継承可能で、システムによってオブジェクトの現在の所有者に振り替えられる。@IT[オブジェクトを識別するSIDとは?]より
設定は最初のディレクトリ”hogehoge”に対してのみ行えばOKです。
アクセス権限を表記すると
[Domain Users]の権限を各個人ディレクトリの閲覧まで許可する場合には[Domain Users]権限を2つ用意してhogehoge
[Creator Owner]変更権限を”このフォルダのみ”で付与
[Domain Users]読み取り権限+ディレクトリ作成権限を”このフォルダのみ”で付与
[Domain Users]ディレクトリ作成権限を”このフォルダのみ”で付与
[Domain Users]読み取り権限
こう設定すればOKです。