【问题标题】:Bypassing the need to enter Admin Credentials when running a Batch/Powershell script运行 Batch/Powershell 脚本时无需输入管理员凭据
【发布时间】:2020-06-27 01:11:31
【问题描述】:

我需要为我的客户开发一个脚本来禁用/启用他笔记本电脑上的 WWAN 卡。

  • 客户端应该能够在不提供客户端管理员凭据或帐户的情况下启用/禁用 WWAN 卡
  • 应该是用户友好的。就像双击桌面上的启用或禁用快捷方式来打开/关闭一样。
  • 避免使用任何可能危及安全的方法,例如禁用所有应用程序对提升凭据提示的需要。 (只想绕过这个脚本)

我有禁用/启用 WiFi 适配器的命令。但是,它要求 powershell 以管理员身份运行,否则访问将被拒绝。

Disable-NetAdapter -Name "Wi-Fi" -Confirm:$false

我尝试了以下没有成功。 (访问被拒绝或 UAC 弹出并提示输入管理员凭据):

  • 使用 ExecutionPolicy -Bypass 创建运行 PS 脚本的 .Bat 文件
powershell.exe -executionpolicy bypass -windowstyle hidden -noninteractive -nologo -file "c:\Users\%username%\Desktop\DisableWifi.ps1"
  • 在启用“以管理员身份运行”的情况下创建 PS 脚本的快捷方式
  • 使用以管理员身份运行的 .Bat 文件创建快捷方式,以启用/禁用网络适配器。
netsh interface set interface Wi-Fi disable
  • PS 脚本内的 ExecutionPolicy 绕过
Start-Process powershell.exe -ArgumentList "/noexit", "-executionpolicy bypass","-file C:\Users\$env:UserName\Desktop\DisableWiFi.ps1"

是否允许我的客户无需输入管理员凭据即可通过桌面上的脚本打开/关闭 WWAN 卡?

谢谢!

【问题讨论】:

  • 能够绕过脚本中的安全限制将是一个大问题。请通知您的客户,他们的请求是不可能的。
  • 您已经违反了通过 ExecutionPolicy 使用 ByPass 的安全规则。你为什么做这个?这样做的唯一原因是公司 ExecutionPlicy 设置为 Restricted 或 RemoteSigned。这意味着他们根本不希望脚本代码运行,或者您需要对脚本进行签名。管理方面的事情,如果不完全禁用 UAC 就无法完成,这是不明智的。更谨慎的做法是将其设置为使用所需凭据运行的计划任务。
  • 有专门用于此目的的工具。以管理员身份安装,设置要启用的适配器及其设置的配置文件,然后作为标准用户,他们可以单击当时要启用的配置文件。尝试谷歌搜索“网络设置管理器”
  • this 你在找什么?
  • “您已经违反了通过 ExecutionPolicy 使用 ByPass 的安全规则” - 我不得不不同意这种说法,因为 PowerShell 执行策略是一项安全功能,不是 i> 安全边界(请参阅 PowerShell 语言的首席设计师 Bruce Payette 在stackoverflow.com/questions/49772982 处接受的答案)。

标签: powershell batch-file uac administrator elevated-privileges


【解决方案1】:

可以的。

  • 用户必须以管理员身份运行。

想象一下,我们又回到了 Windows XP 时代。如果用户作为标准用户运行,他们根本无法执行管理员功能。您可以随心所欲地哭泣和抱怨 - 但标准用户不能仅仅因为他们想要管理员权限而获得管理员权限。

这没有改变:您必须是管理员才能进行管理。

如果用户是标准用户:您根本无法绕过它。

  • 那么如何做到让用户无需让管理员输入他们的管理员凭据?
  • 让他们成为管理员!

这很容易做到:

  • 不要让他们成为标准用户
  • 让他们成为管理员

但我们都知道你在抱怨 UAC

我们都知道您说的是必须在 UAC 对话框上单击 OK。尽管用户讨厌它:告诉他们灌肠并做一些深度膝盖弯曲。

或者:您必须关闭 UAC - 所以它们始终以管理员身份运行。

因此,任何恶意软件都能够在运行的瞬间完全接管他们的机器。

【讨论】:

  • 我不明白这个答案的反对意见。它在技术上是正确的,也解释了为什么禁用 UAC 不是一个好主意。
猜你喜欢
  • 2012-09-23
  • 2019-09-26
  • 2013-11-24
  • 1970-01-01
  • 2019-03-30
  • 1970-01-01
  • 2023-01-24
  • 2020-04-30
  • 2016-03-22
相关资源
最近更新 更多