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

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

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

Re[1]: schtasksについて


(過去ログ 60 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■34658 / inTopicNo.1)  schtasksについて
  
□投稿者/ teru (1回)-(2009/04/05(Sun) 02:54:38)

分類:[ASP.NET (VB)] 

お世話になります。

windows2003 server環境にてasp.net(vb)を使ってWebアプリを作っているのですが、
その中で他のスクリプトをwindowsタスクに登録しようとする処理があり、
xp環境ではうまくいくのですが、windows2003では登録されません。
登録の仕方なのか、OSによる原因なのか、調べてもよくわからず
どなたか教えていただけないでしょうか。

ちなみに、登録部分の処理はこんな感じで書いています。

taskstr = "schtasks /create /tn 00001 /tr "C:\test\script\00001.vbs"
/st 00:00:00 /ru "user" /rp "password" /sd 2009/04/04 /sc once /F"

Microsoft.VisualBasic.Shell(taskstr)

ちなみにshell関数がこけているかと思い戻り値をとってみましたが、
FileNotFoundExceptionなどの値は戻っていませんでした。

以上、つたない表現で申し訳ありませんがよろしくお願い足します。

引用返信 編集キー/
■34662 / inTopicNo.2)  Re[1]: schtasksについて
□投稿者/ ちゃっぴ (222回)-(2009/04/05(Sun) 10:19:34)
ちゃっぴ さんの Web サイト
普通に権限で弾かれていそうですけど。

Task Scheduler の権限は "%SYSTEMROOT%\tasks" の ACL によって制限されます。
あとは、cmd.exe の ACL によっても制限を受けますね。

また、この処理は Web server 側で任意の process を実行脆弱性につながるので、最新の注意を払って作成する必要があるでしょう。Process は絶対に変更 (injection も含めて) できないようにする必要がありますね。

とりあえず、sample では command parameters に password を渡していますが、これは password の漏えいにつながりやすいため避けるべきですね。
該当の処理部分だけ、COM+ とかに切り出してやって job を実行する user で実行するように構成してやる。そうすれば、password を渡さなくても job が作成できますね。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -