【发布时间】:2021-02-19 12:38:41
【问题描述】:
我想从用户空间的C# 应用程序启动运行需要管理员权限的PSExec 操作。当然,复杂的是,我不想要 UAC。
我想运行这样的操作:
PsExec.exe -i -s powershell.exe -command "whoami *> 'out.txt'"
- 如果我以管理员权限在 cmd/powershell 中运行示例,则可以。
- 如果我在 C# exe 中运行带有
verb = "runas"进程的示例,它就可以工作 - 如果我在 C# exe 中使用带有用户/密码/域的进程运行示例,则无法正常工作
我尝试了很多其他的东西,但我没有找到一个好的技巧。 (带有凭据的 powershell,运行 .bat 或 .ps1,...)
我对所有解决方案和/或是否真的可行都持开放态度。
【问题讨论】:
-
为什么要使用
psexec?你想做什么?您可以在代码中创建和执行 Powershell 管道,不需要psexec或Process.Start。另一方面,您不能绕过 UAC 警告。如果这么简单,作为安全措施将毫无用处 -
这听起来像XY problem。你想解决什么问题?