スキップしてメイン コンテンツへ

 none
共有フォルダ接続を継承しないプロセスの起動方法 RRS feed

  • 質問

  •  お世話になります。

     Windows(7以降)クライアントのユーザーに実行してもらうプログラムで,特定のファイルサーバーにログを書き込みたいのですが,共有フォルダのユーザー認証の関係で行き詰まっています。


     一言で書けると良いのですが,長文済みません。

     ActiveDirectory を導入済みで,ファイルサーバーはドメインユーザで接続する方針ですが,Windowsクライアントにローカルユーザーも残っています。ローカルユーザが共有フォルダに未接続の場合の処置として,プログラム内で共有フォルダ接続すると,後からユーザーが接続しようとした際に,アカウントが異なるため,見たいフォルダにアクセスできないなど支障します。

     一方,runas.exe /user:~ (API では CreateProcessLogonW) にて,ログオン中と同一のユーザで cmd.exe を起動すると,共有フォルダの接続は継承されず,この中で共有フォルダを接続・切断しても,呼び出し元の環境には影響しないで済みます。

     つまり,runas を使えば,

    「同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されません。」

    が出来るではないか,ということですが,これをパスワード不要で実現したいところです。



     よろしくお願いします。


    2017年10月14日 2:32

回答