以“RunAs”提示启动WPF应用程序

4
我有一个WPF应用程序,我希望它可以做到以下事情。 我可以右键单击可执行文件,选择以不同的用户身份运行,并在Windows安全框中输入用户名和密码,以及智能卡登录。 我想知道是否有一种方法可以自动启动Sysinternals“以不同用户身份运行”,而无需右键单击并选择“以不同用户身份运行”。 有什么想法吗?
我能够进入程序集清单并强制其以管理员身份运行,但这不是我需要的。 我真的需要使用智能卡凭据来运行它。 预先感谢您!
1个回答

1
据我所知,唯一可行的方法是使用以下方式使用RunAs exe/savecred将缓存凭据,但您的用户仍然必须在第一次使用时输入凭据(这可能会影响您的使用情况)。
runas.exe  /savecred /user:<localmachinename>\administrator "path to your WPF exe"

或者,如果您在一个域上:
runas.exe  /savecred /user:<DomainName>\<AdministratorAccountName> "path to your WPF exe"

示例:为了以管理员模式运行Visual Studio 2012,我尝试了以下方法并成功了。第一次我被提示输入密码。

runas.exe  /savecred /user:<My_DomainName>\<My_AdministratorAccountName>  "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"

进一步阅读:Runas文档。

谢谢 - 我明白你的意思。但我想我要的有点不同。我想让WPF应用程序自己打开提示,而不是打开另一个程序。我的程序是Active Directory的替代品,需要IT工作人员使用他们的安全令牌来重置密码。我不能让它以管理员身份运行,但需要整个应用程序使用智能卡凭据。这样说清楚了吗? - user3050992
所以基本上我是从桌面开始,然后点击通过WPF创建的可执行文件图标。 - user3050992
是的,那很有道理。抱歉我的回答没有帮到你。我会继续寻找并让你知道如果我找到了方法... - Shiva
实际上,我认为你可能有所发现 - 在Runas文档中有一个 /smartcard 选项,说明 - 指示是否从智能卡提供凭据。此参数不能与 /savecred 参数一起使用。 - user3050992
@Shiva - 所以我有点明白了... 我打开了命令提示符并输入了以下内容:runas /smartcard /user:<mydomain><mysmartcardusername> "path to exe",然后它可以正常工作。有没有关于如何将其集成到应用程序中的想法-也许不使用cmd提示符? - user3050992
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接