Windowsで共有設定をコマンドラインから実施する方法

  • TrueCryptでデバイスを暗号化した場合、再起動するたびに共有設定が解除されてしまうため、起動時に自動的に共有設定とACL設定をして欲しいなと思ったので調べてみた。
    • netコマンドで共有設定はできるが、ACLがeveryoneになってしまう。
    • caclsコマンドはファイルシステムに対するACL設定しかできないようで、共有フォルダに対しては使えない。
    • Resource kitに同梱のpermcopy.exeがあれば、既存の共有設定をコピーすることは可能。
  • このような事情を鑑みると、以下のアプローチでなんとかなった。
    • 再起動したらTrueCryptでデバイスをマウントする。
    • netコマンドで共有設定する。
    • permcopy.exeでACLをコピーする。
  • コマンドライン的にはこんな感じ。
net share hoge=c:\hoge
permcopy.exe \\127.0.0.1 既存共有名 \\127.0.0.1 hoge