如何解决使用管理员权限从 C# 运行 PsExec,无需 UAC
我想从用户空间启动 PSExec
应用程序,运行需要管理员权限的 C#
操作。当然,复杂的是,我不想要 UAC。
我想运行这样的操作:
PsExec.exe -i -s powershell.exe -command "whoami *> 'out.txt'"
- 如果我以管理员权限在 cmd/powershell 中运行示例,则可以正常工作。
- 如果我在 C# exe 中运行带有
verb = "runas"
进程的示例,它正在运行 - 如果我在 C# exe 中运行带有用户/密码/域的进程的示例,则它不起作用
我尝试了很多其他的东西,但我没有找到一个好的技巧。 (带有凭据的 powershell,运行 .bat 或 .ps1,...)
我对所有解决方案和/或是否真的可行持开放态度。
解决方法
你不能这样做。 Windows 是一个安全的操作系统,您需要成为管理员才能执行管理员任务。
假装 UAC 不存在。
- 假装我们回到了 Windows XP
- 您是标准用户
- 并且您想使用
PsExec
作为System
帐户运行某些内容
你不能。不允许标准用户这样破坏系统的安全。
您可以做到这一点的唯一方法是以管理员身份运行。
- 在 Windows XP 上,您必须注销,然后让管理员为您登录
Windows Vista 和 UAC 比完全切换到另一个用户更容易:
- 您只需在 UAC 对话框中输入他们的凭据(或按继续)
但您不能随意将自己提升为管理员——这违背了拥有安全操作系统的全部目的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。