【问题标题】:Run file NOT as administrator不以管理员身份运行文件
【发布时间】:2017-04-18 17:59:12
【问题描述】:

我正在尝试测试一个应测试管理员权限的批处理文件,但我有一个奇怪的问题,即没有管理员权限我无法运行它。

net session >nul 2>&1
if %errorLevel% == 0 (
    rem do whatever...

当然,我可以创建另一个用户帐户并从那里运行它,但这只是为了进行一次小测试。

上面的脚本示例可能不是我想要的,因为我需要一个通用的解决方案,例如测试安装程序是否可以在没有管理员权限的情况下运行。

有没有更简单的方法?可能是在没有管理员权限的情况下运行某些东西的命令行参数?

顺便说一句,如果这有什么不同,我禁用了 UAC。

【问题讨论】:

  • ...您认为不提供批处理文件或运行它的方法是获得解决方案的最佳方式,对吗?
  • 听起来您要么禁用了 UAC,要么已登录到内置管理员帐户。您可以使用net user testaccount password /add 快速轻松地创建用户帐户,并使用runas /user:testaccount cmd 测试您的批处理文件。
  • 脚本是 net session >nul 2>&1 \n if %errorLevel% == 0 ( 但我也想要一个通用的解决方案。例如测试安装程序是否可以在没有管理员权限的情况下运行。
  • 是的,我禁用了 UAC,这是真的。我会在大约 12 小时内尝试你的命令,@Harry Johnston。
  • @Compo 谢谢你的改变,我就是这么说的。

标签: batch-file windows-7 admin


【解决方案1】:

你可以试试

runas /trustlevel:0x20000 "cmd.exe /c ....."

使用runas /showtrustlevels查看可用级别

【讨论】:

  • 请注意,这会生成一个非标准令牌,即带有unusual properties 的令牌。可能不是测试的最佳环境。
  • @HarryJohnston,谢谢,我没看到。我从受限控制台尝试在 Windows 10 中,虽然 whoami /all 报告组成员身份,但它还报告唯一的活动权限是 SeChangeNotifyPrivilege。文件系统操作和通常的管理操作受到限制。可能 (?) ,对于 “小测试” 来说就足够了。
  • 我现在已经确认在 Windows 10 中使用runas 时会出现同样的问题。您可以通过whoami /groups 看到它,最后一行通常是强制标签,如果它显示“高强制级别”您仍然拥有一些提升的权限 - 具体来说,您可以以通常禁止非提升进程的方式与提升的 GUI 应用程序交互。不过,我认为就是这样,它可能与 OP 正在做的事情无关。
猜你喜欢
  • 2016-10-06
  • 2022-01-08
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 2016-09-20
  • 2010-11-26
  • 2012-05-28
  • 2011-03-24
相关资源
最近更新 更多