我正在寻找一些关于如何以本地管理员身份提升命令提示符会话并在提升的会话中运行程序的建议(或片段)。有人知道或知道如何做吗?是否可以使用单个 .bat 文件来完成此操作?例如,以管理员身份打开命令窗口并将用户添加到本地用户组。
谢谢
答案1
使用运行框(Windows 键 + r)。输入命令(如 cmd)。按住 ctrl+shift 键并按回车键。Alt+y 接受 UAC 提示。按 10 次键即可提升命令提示符。
如果您将批处理文件放在系统 PATH 上的文件夹中,则可以直接从运行框执行它。例如,创建 c:\windows\mycoolscript.bat,然后从运行框中输入 mycoolscript(更好的方法是修改路径以包含脚本所在的文件夹 - 两种方法都可以)
要将用户添加到组,请查看 net 命令:-https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc754051(v%3Dws.11)
已更新以下评论...
如果您希望非特权用户从脚本运行特权命令,您需要向他们提供凭据,或者让更有特权的帐户代表用户执行该脚本。
提供凭证 - PowerShell 可以生成“SecureStrings”,您可以将该对象的表示形式存储在文件中,然后稍后重新加载,以便您可以。理论上,该文件只能在该机器上读取,但它使用可逆加密,因此它并不是那么安全 - 但它很容易,可能足够好?例如https://4sysops.com/archives/encrypt-a-password-with-powershell/
另一个选项是利用 Windows 任务计划程序 - 使用具有脚本所需的任何权限的帐户以及基于 Windows 事件日志事件的触发器来设置您的 ps2 脚本。这允许您的非特权 ps1 用户向 Windows 事件日志写入消息(使用自定义事件 ID),并让您的 ps2 脚本在不同凭据下响应该自定义 ID 执行。这更安全,但需要做相当多的工作。
答案2
我这样做:
{START}
向下滚动到 Windows 系统,单击展开它,右键
单击命令提示符,选择以管理员身份运行
一旦打开命令提示符窗口,启动脚本。
如果你想提升现存的 命令提示符,使用鲁纳斯执行脚本。男人RUNAS 页面提供了示例以及可用的选项和开关。
或者尝试使用 Elevate CommandVista 版 Powertoys,看看它是否还能起作用。