【发布时间】:2017-03-10 04:59:02
【问题描述】:
这个
var psi = new ProcessStartInfo("cmd")
{
Verb = "runas",
UseShellExecute = true,
Arguments = "/user:domain\\username"
};
var ps = Process.Start(psi);
不使用给定的凭据启动命令行窗口,也不要求输入密码。我想知道如何正确使用它。
有人告诉我,不应该使用 StartInfo.UserName、Domain 和 Password 方法,因为它不安全。
【问题讨论】:
-
它到底有什么不安全的地方?
-
"请不要在源代码中保存密码!"所以我被告知了。
-
无需保存,您可以自己提示用户并在实际启动之前将其传递给您的
ProcessStartInfo;) -
问题根本不在于使用它们,而在于将秘密嵌入到您的脚本中。有许多安全技术可以将凭据、密钥和其他机密信息放入脚本中,而无需将值存储在脚本本身中。
标签: c# process.start runas