分類:[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
|