微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用管理员权限从 C# 运行 PsExec,无需 UAC

如何解决使用管理员权限从 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 举报,一经查实,本站将立刻删除。