USB/IPでドングル共有はできるのか(2) ユーザー権限で管理者権限のプログラムを実行させる。

 以下の方法はセキュリティ的に抜け穴となる可能性があります。実行は自己責任にて

USB/IPのWindowsクライアントが、管理者権限がないとUSBをマウントできないが、それだと不便なので、ユーザーでもマウントできないか検討。あとは、誰でもマウントできると困るのでパスワード保護みたいな機能ないか検討した、取りあえず、前半のユーザ権限でマウントできる方法が確認できたので記録として残す。

やり方は、タスクスケジューラのトリガーをイベント時でタスクを作成し、ユーザー権限でイベントログに書き込めるようにして、イベントが発生したらタスクを実行すると言う仕組み。
Windows Updateとか、一般ユーザーでも実行できるので、多分できるすく身があるはずだが、取りあえず今一番のリーズナブルな方法で

1.イベントログにユーザーが書き込めるようにする(管理者権限)

以下でApplicationにMyUSBipと言うというソースでログを書き込めるようにする。
管理者権限のPowershellで実行する。
New-EventLog -LogName Application -Source MyUSBip
一般権限のPowershellで書き込めるか確認
Write-EventLog -LogName Application -Source MyUSBip -EntryType Information -EventId 1001 -Message "Test Message."

 -Message は特に必要ないかもしれない。

2.マウント用のバッチファイルを作る(管理者権限)

前回書いたようなコマンドをバッチファイル usbip-mout.bat のようなファイル名で保存する。
usbip.exe attach -r 192.168.0.1xx -b 1-1.4

3.タスクスケジューラに登録(管理者権限)

タスクスケジューラのrootに作ってもいいがサブディレクトリを作っていれておいた方がわかりやすいかも。
新しい宅素を生成する

適当な名前つけて、タスク実行時に使うユーザーアカウントをSYSTEMにして「最上位権限で実行」にチェックを入れる。(コレガ必要かどうかは検証が必要)

トリガーを設定


トリガーに先ほど設定したログ、ソース、イベントIDを設定する。イベントIDの1001をマウント、2001をアンマウントとかに決めておく


後はユーザーにログを書き込むバッチファイルを渡す。






コメント

このブログの人気の投稿

Windows10デフォルトゲートウェアに0.0.0.0が追加される

iOS VLC でSMB共有できなかった点について

無線LANルータの選択肢が、NEC Aterm 静的ルーティングできない問題