C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

Windowsのrunasコマンド をC#から /Ante (18/07/02(Mon) 12:31) #87814
Re[1]: Windowsのrunasコマンド をC#から /PANG2 (18/07/02(Mon) 13:04) #87815
  └ Re[2]: Windowsのrunasコマンド をC#から /Ante (18/07/02(Mon) 16:28) #87818
    └ Re[3]: Windowsのrunasコマンド をC#から /Ante (18/07/02(Mon) 16:57) #87820
      ├ Re[4]: Windowsのrunasコマンド をC#から /shu (18/07/02(Mon) 17:21) #87821
      └ Re[4]: Windowsのrunasコマンド をC#から /Jitta (18/07/02(Mon) 20:59) #87822
        └ Re[5]: Windowsのrunasコマンド をC#から /Ante (18/07/03(Tue) 14:13) #87826


親記事 / ▼[ 87815 ]
■87814 / 親階層)  Windowsのrunasコマンド をC#から
□投稿者/ Ante (6回)-(2018/07/02(Mon) 12:31:57)

分類:[設計/仕様] 

Windowsのrunasコマンド をC#から呼んで、実行したいです。

だがしかし、このコマンド、パスワード聞いてくる対話型なんですね。

ユーザー構成が以下の例で
TEST01 Admin権限
TEST02 ノーマル

TEST01のPC内で、下記コマンド実行、
例:
runas /user:test02 "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"

ここでパスワード聞かれちゃうのですが、そもそもこのコマンドってプログラムから呼ぶものじゃない?
別のやり方あったりします??

どうかアドバイスをば。

[ □ Tree ] 返信 編集キー/

▲[ 87814 ] / ▼[ 87818 ]
■87815 / 1階層)  Re[1]: Windowsのrunasコマンド をC#から
□投稿者/ PANG2 (216回)-(2018/07/02(Mon) 13:04:33)
[ 親 87814 / □ Tree ] 返信 編集キー/

▲[ 87815 ] / ▼[ 87820 ]
■87818 / 2階層)  Re[2]: Windowsのrunasコマンド をC#から
□投稿者/ Ante (7回)-(2018/07/02(Mon) 16:28:21)
No87815 (PANG2 さん) に返信
> Process.Startは?
>
> https://dobon.net/vb/dotnet/process/startwithusername.html

いや、コマンドラインは、Processクラスで発行するんだけど、
runas /user:test02 "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"
でパスワード聞かれちゃうからどうしよって話。

ちょっと見てみたら、リダイレクトでいけるらしい情報見たんですけど、
runas /user:(ユーザー名) (コマンド) < (パスワードファイル名)
うまくいかないっすねー

なんか他にやり方ありますかねー。

[ 親 87814 / □ Tree ] 返信 編集キー/

▲[ 87818 ] / ▼[ 87821 ] ▼[ 87822 ]
■87820 / 3階層)  Re[3]: Windowsのrunasコマンド をC#から
□投稿者/ Ante (8回)-(2018/07/02(Mon) 16:57:15)
うーーーん。

VBS をCallして時間差で入力すればとりあえず実現できたね。
でも、これ超イケてない気がする…。

-----------------------------------------------------------------
'Shell関連の操作を提供するオブジェクトを取得
Set objShell = WScript.CreateObject("WScript.Shell")

Dim exeCmd
exeCmd = "runas /user:test02 ""RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"""
REM Call Msgbox(exeCmd)

'先ほどのrunasコマンドを発行
objShell.Run exeCmd

'3秒まつ
WScript.Sleep 3000

'パスワード文字列を送信
objShell.SendKeys( "1qaz2wsx" )
'Enterキーの入力情報を送信
objShell.SendKeys( "{ENTER}" )
-----------------------------------------------------------------

ベター案、引き続き募集中

[ 親 87814 / □ Tree ] 返信 編集キー/

▲[ 87820 ] / 返信無し
■87821 / 4階層)  Re[4]: Windowsのrunasコマンド をC#から
□投稿者/ shu (1128回)-(2018/07/02(Mon) 17:21:48)
No87820 (Ante さん) に返信
>
> ベター案、引き続き募集中
>
No87815 PANG2さんの提示したリンク先に
ユーザー、パスワード指定の方法がありますが
駄目なのでしょうか?

[ 親 87814 / □ Tree ] 返信 編集キー/

▲[ 87820 ] / ▼[ 87826 ]
■87822 / 4階層)  Re[4]: Windowsのrunasコマンド をC#から
□投稿者/ Jitta (384回)-(2018/07/02(Mon) 20:59:11)
No87820 (Ante さん) に返信

> ベター案、引き続き募集中
>

runas を使うことが目的なのか、
異なるユーザーで実行させることができれば良いのか、

どっち?
[ 親 87814 / □ Tree ] 返信 編集キー/

▲[ 87822 ] / 返信無し
■87826 / 5階層)  Re[5]: Windowsのrunasコマンド をC#から
□投稿者/ Ante (9回)-(2018/07/03(Tue) 14:13:28)
No87822 (Jitta さん) に返信
> ■No87820 (Ante さん) に返信
>
>>ベター案、引き続き募集中
>>
>
> runas を使うことが目的なのか、
> 異なるユーザーで実行させることができれば良いのか、
>
> どっち?

すんません。遅なリました。

「異なるユーザーで実行させることができれば良い。」
がしかし、実行時、そもそも、ローカルユーザーのパスワードがわからんので、runasだろうが、Process.Startだろうが、無理な気がしてきた。
[ 親 87814 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -