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

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

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

Re[2]: Systemアカウントでユーザー指定したプログラムを実行する


(過去ログ 132 を表示中)

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

■77964 / inTopicNo.1)  Systemアカウントでユーザー指定したプログラムを実行する
  
□投稿者/ Mira (6回)-(2015/12/04(Fri) 13:08:24)

分類:[VB.NET/VB2005 以降] 

いつも参考にさせてもらっています
今回もよろしくお願いします

LocalSystemのアカウントでWindosサービスを実行しています
このサービスからユーザーを指定してプログラムを実行したいのですが

アクセスが拒否されました。
   場所 System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   場所 System.Diagnostics.Process.Start()
   場所 System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   場所 WindowsServiceTest.Service1.OnStart(String[] args)

となり実行することができません
コンソールアプリケーションでも同様なことが発生します
サービスアカウントを管理者権限のあるユーザーに変更すると改善はしますが
なんとかサービスアカウントで実行したいです

再現コード
        Dim StartInfo As New ProcessStartInfo()
        StartInfo.FileName = ProgramName
        StartInfo.Domain = DomainName
        StartInfo.UserName = UserName
        StartInfo.Password = Password
        StartInfo.UseShellExecute = False
        StartInfo.LoadUserProfile = True
        StartInfo.WorkingDirectory = IO.Path.GetTempPath
        Using ProcessRun As Process = Process.Start(StartInfo)
            ProcessRun.WaitForExit()
        End Using

環境WindowsServer2012R2 64bit(開発時はWindows7 32bit)
    FrameWork 2.0 32bit

引用返信 編集キー/
■77965 / inTopicNo.2)  Re[1]: Systemアカウントでユーザー指定したプログラムを実行する
□投稿者/ ぶなっぷ (61回)-(2015/12/04(Fri) 14:18:17)
気持ちは分かりますが、
セキュリティの問題なので無理なのでは?

なんとかできるようなら、ハッカーにもなんとかされてしまうわけで、
セキュリティは元のもくあみ。

権限がある状態で実行してもらうよう促すメッセージを表示するぐらい
しか思いつきません。
引用返信 編集キー/
■77966 / inTopicNo.3)  Re[2]: Systemアカウントでユーザー指定したプログラムを実行する
□投稿者/ Mira (7回)-(2015/12/04(Fri) 16:07:23)
No77965 (ぶなっぷ さん) に返信

回答ありがとうございました

Windwosサービスの起動アカウントを権限を持っているユーザーに変更して対応します
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -