ネットワークドライブを割り当てる ”個人フォルダの作成”

ユーザフルコントロール権限のディレクトリをネットワークドライブにマウントします。
はじめにディレクトリが存在するかを見に行き、無ければ自動的に%USERNAME%のディレクトリを作成します。

‘********************************
‘*
‘* Module Name:    FolderMount.vbs
‘* Version:        1.0
‘* Abstract:    ユーザが自動的にフォルダを作成してネットワークドライブにマウント
‘*
‘********************************
Option Explicit

‘変数の宣言
Dim Username
Dim objNet
Dim objFso

Set 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)) Then

Else
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です。
アクセス権限を表記すると

hogehoge
[Creator Owner]変更権限を”このフォルダのみ”で付与
[Domain Users]読み取り権限+ディレクトリ作成権限を”このフォルダのみ”で付与

[Domain Users]の権限を各個人ディレクトリの閲覧まで許可する場合には[Domain Users]権限を2つ用意して

[Domain Users]ディレクトリ作成権限を”このフォルダのみ”で付与
[Domain Users]読み取り権限

こう設定すればOKです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です