• ベストアンサー

WSHのアクセス権限設定

こんばんわ WSHにて、ファイルサーバーにて、ディレクトリを作成後、アクセス権限を設定したいのですが、可能なのでしょうか WSHにて、ディレクトリは作成できるのですが アクセス権限の設定がわかりません。 例えば、ある個人ユーザだけしか読み書き権限を与えて他のものには、参照もできないように設定したいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

#1です。 >このコマンドは、アクセス制限フォルダを、 >変数ではできないのでしょうか? >     ↓ >cacls c:\document.doc /C /G guest:r WSHからCACLSコマンドを呼べばよろしいと思います。 例えばのやり方として、 1.ユーザIDのみを記したファイルを作ります。 2.ファイルを1行ずつ読んでユーザIDを取得します。 3.ユーザIDと同じ名前のディレクトリを作成します。 4.CACLSを呼び出し、アクセス権を設定します。 サンプル(このままでは動きません) Set objStream = objFs.OpenTextFile("userlist.txt", 1) ' ファイルが終わりにくるまで繰り返し Do While Not objStream.AtEndOfStream '一行読んでユーザIDを取得  userid = objStream.ReadLine() '個別ディレクトリのパスを生成  dirpath = basedir & userid 'ディレクトリを作成  objFs.CreateFolder dirpath 'caclsコマンド文字列を生成  command = "cacls " & dirpath & " /C /G " & userid & ":F" 'コマンドを実行  objShell.Exec command Loop ※objStreamはTextStream  objFsはFileSystemObject  objShellはShell  basedirはディレクトリを作るパス ↑みたいな感じにすればできないでしょうか?

yano-kouichi
質問者

お礼

詳しいご説明ありがとうございます。 これなら出来そうな感じです。 駄目なときは、再度投稿いたします。 本当にありがとうございました。 感謝です。

yano-kouichi
質問者

補足

このままではうごきません、というのは あと何が必要なのでしょうか?

その他の回答 (2)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.3

>このままではうごきません、というのはあと何が必要なのでしょうか? サンプルの中でobjFsやobjShellなどを作成していないだけです。 必要部分は付け足してくださいという意味です。

yano-kouichi
質問者

お礼

了解いたしました。 本当にありがとうございました。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

WSHだけでやるのは無理だと思います。 少し前に挑戦しましたがあきらめました。 ユーザー名や権限がわかっているのならCACLSコマンドを呼び出してあげればいいと思いますがどうでしょう?

yano-kouichi
質問者

補足

ありがとうございます。 CACLSコマンド見ました。 このコマンドは、アクセス制限フォルダを、 変数ではできないのでしょうか?      ↓ cacls c:\document.doc /C /G guest:r 処理の流れは以下のようになります。 ちなみに、NTワークステーションで 1500台あります。 全てのクライアントにおなじ処理を行います。 1.ログオン時のIDと、同名のディレクトリを作成 2.作成したディレクトリに、本人(同一ID)しか、 読み書きできない権限を設定する。

関連するQ&A