【发布时间】:2012-04-23 07:33:06
【问题描述】:
我正在尝试使用 process.start() 作为另一个具有管理员权限的用户运行 vb 脚本,但我总是得到带有用户名和密码的 UAC 弹出窗口来填写。我做错了什么?
var scriptProc = new Process
{
StartInfo =
{
FileName = @"cscript,
WorkingDirectory = @"\\AShare\AFolder",
Arguments = "\"" + "Install.vbs" + "\"",
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden,
Domain = domain,
UserName = username, //Admin username
Password = MakeSecureString(secureString),
}
};
scriptProc.Start();
我希望 UAC 弹出是和否选项,而不是使用用户名和密码来填写选项。
尝试查看:How to call a VBScript file in a C# application? 但这没有帮助。
【问题讨论】:
-
这闻起来像病毒。这是干什么用的?
-
我正在开发一个小应用程序,所以当您点击一个图标时,它会根据您点击的图标从本地服务器安装一个程序,用户名和密码由我的 IT 服务团队提供.这里没有制造病毒:) 我在 UAC 弹出窗口没有显示之前做了一些事情,然后我在 startInfo 中更改了一些内容,现在 UAC 弹出窗口显示 x|
-
UAC 将始终弹出用于执行需要提升的操作的程序。故事结束。
-
抱歉,我的问题并不清楚。没关系,UAC 总是弹出,您可以单击是或否,但会发生 UAC 弹出用户名和密码供用户填写。在我的代码中,我在 StartInfo 中添加了 UserName 和 Password,以认为这样可以避免您必须输入用户名和密码,但仍会使用是/否选项弹出 UAC。
-
如果您已经知道用户的密码,那么在没有提示的情况下运行应用程序会容易得多。
标签: c# vbscript passwords process.start