DOBON.NET DOBON.NETプログラミング掲示板過去ログ

別ドメインユーザで実行

環境/言語:[Windows Vista]
分類:[.NET]

VB2005でAユーザでログインした状態で、BユーザとしてDOSコマンドを実行したいと考えております。
・Aユーザ・・・・・ユーザ名:AAA、パスワード:PASS1、ドメイン:domain1
・Bユーザ・・・・・ユーザ名:BBB、パスワード:PASS2、ドメイン:domain1
・DOSコマンド1・・・・net stop spooler
・DOSコマンド2・・・・net start spooler

どなたかわかる方よろしくお願い致します。
> どなたかわかる方よろしくお願い致します。

  UACダイアログも出さずに?と言うことですか?

  であれば、タスクスケジューラに登録して、アプリからその
  登録したタスクを実行させる・・・とか。

  そうでないと、簡単にはできないかと思います。

※ 登録も管理者権限が必要ですが、それは手動で行えるのでしょうか?
  それともプログラムで登録する動作を行わないといけない?
  Vistaならタスクスケジューラにアクセスするのも管理者権限が必要
  でUACダイアログ表示されたはずです。

以上。参考まで
>   UACダイアログも出さずに?と言うことですか?
>
UACダイアログも出さないようにしたいのですが、Aユーザは管理権限をもったユーザで、Bユーザは管理権限をもたないユーザとなります。
そして、Bユーザでログインした状態で、DOSコマンドを実行したいのですが・・・
> UACダイアログも出さないようにしたいのですが、Aユーザは管理権限をもったユーザで、Bユーザは管理権限をもたないユーザとなります。
> そして、Bユーザでログインした状態で、DOSコマンドを実行したいのですが・・・

  Bユーザーでログインした状態で、タスクスケジューラに実行したい
  機能を登録し、その実行するユーザーのアカウントをAユーザーにす
  れば、よいかと思います。

  また、Bユーザーに管理者権限を持つことが許可されているのであれ
  ば、『最上位の特権で実行する』にチェックすればよいかと。

  Aユーザーを選択しても『最上位の特権で実行する』にチェックは必
  要です。ご注意ください。

  外部プログラムからタスクスケジューラに登録されたプログラムを、
  .NETから実行するには、.NET Framework4 からは搭載されてますが、
  それ以前であれば、COM型のDLLを参照設定して行わないといけません

  参照できればいろいろ便利な機能もありますので、ちゃんと調べて下
  さい。

以上。参考まで
2012/09/04(Tue) 22:28:28 編集(投稿者)

■No30886に返信(セキさんの記事)
> UACダイアログも出さないようにしたいのですが、Aユーザは管理権限をもったユーザで、Bユーザは管理権限をもたないユーザとなります。
> そして、Bユーザでログインした状態で、DOSコマンドを実行したいのですが・・・

net stop spooler は上位の特権が必要なので、管理者権限を持たないユーザーアカウント(B ユーザー)で実行したいと言われても「できない」が答えになるのでは?
それとも書いてあることが逆になっているだけでしょうか。

どちらにせよ、別のユーザーでさらに管理者として実行するのは、一段ではできず、回りくどいことをひたすらやらないと無理だったような記憶がありますが…。
(どこかで UAC 確認画面が出たかも?)

DOBON.NET | プログラミング道 | プログラミング掲示板