C#:加载漫游配置文件并以用户身份执行程序
Posted
技术标签:
【中文标题】C#:加载漫游配置文件并以用户身份执行程序【英文标题】:C#: Load roaming profile and execute program as user 【发布时间】:2008-12-03 13:55:14 【问题描述】:在应用程序中,我需要使用其他用户的凭据执行其他程序。目前我使用System.Diagnostics.Process.Start来执行程序:
public static Process Start(
string fileName,
string arguments,
string userName,
SecureString password,
string domain
)
但是,此功能不会从网络加载漫游配置文件 - 这是必需的。
我可以使用“runas /profile ...”来加载配置文件并执行命令,但这会要求输入密码。一定有更优雅的方式...
但是在哪里呢?
【问题讨论】:
【参考方案1】:我的解决方案(基于 leppie 的提示):
Process p = new Process();
p.StartInfo.FileName = textFilename.Text;
p.StartInfo.Arguments = textArgument.Text;
p.StartInfo.UserName = textUsername.Text;
p.StartInfo.Domain = textDomain.Text;
p.StartInfo.Password = securePassword.SecureText;
p.StartInfo.LoadUserProfile = true;
p.StartInfo.UseShellExecute = false;
try
p.Start();
catch (Win32Exception ex)
MessageBox.Show("Error:\r\n" + ex.Message);
【讨论】:
很好,我认为应该让更多人发布他们的最终解决方案 :)【参考方案2】:System.Diagnostics.ProcessStartInfo.LoadUserProfile
【讨论】:
以上是关于C#:加载漫游配置文件并以用户身份执行程序的主要内容,如果未能解决你的问题,请参考以下文章