使用 cmd/powershell 使用存储的管理员密码启动 .exe

start .exe with stored admin password using cmd/powershell

我想在点击时为所有域用户创建一个快捷方式,例如notepad++ 在管理员模式下弹出窗口而不要求用户输入密码。 即notepad++ in admin mode

与我告诉用户管理员用户名和密码并要求他们右键单击记事本++图标然后输入用户名和密码的效果相同。

我试过关注,但没用。

  1. 在命令中
"runas /savecred /user:{hostname}\admin "C:\Program Files\Notepad++\notepad++.exe"

即使我输入管理员密码,它实际上只能在正常模式下启动notepad++。

我尝试了 autoit,但由于甚至 运行 上面没有在管理员模式下启动 notepad++,所以它也不起作用。我认为 sanur 也不起作用。

  1. 在 powershell 中
Start-Process 'C:\Program Files\Notepad++\notepad++.exe' -Verb runAs

提升window弹出要求输入admin用户名和密码,notepad++启动是admin模式,但我不想弹出。而且我找不到输入用户名和密码的方法。

  1. 在 powershell 中
$username = "admin"
$password = "password"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))

powershell Start-Process "C:\Program Files\Notepad++\notepad++.exe" -Credential ($credentials)

它实际上只在正常模式下启动notepad++。

谢谢 Theo 的评论。

解决方法是

  1. 创建一个快捷方式并将其运行设置为管理员,例如C:\temp\Notepad++.lnk

通过右键单击普通快捷方式-->高级-->勾选运行作为管理员-->确定

  1. 创建一个.bat来启动快捷方式eg, C:\temp\notepad.bat(我们需要这一步,因为运行as不能启动.lnk文件) 这里的 .bat 文件也是为了避免在 运行
  2. 时弹出 cmd window

    @echo off
    @start "" "C:\temp\Notepad++.lnk"

  1. 通过 运行as 为 运行 .bat 创建 autoit 脚本,例如。 notepad.au3
    RunAs ( "{adminAccount}", "{hostname}", "{adminPassword}", 1, "C:\temp\notepad.bat")
  1. 使用autoit将au3脚本转成exe

管理员模式下的 notepad++ 将在没有任何提升的情况下启动 window 弹出询问您管理员凭据。