这是一个简单的脚本,我只需要在几台机器上安装几个软件。
C:\Users\user\Downloads\executable.exe /S /D=C:\Program Files\Executable\
C:\Users\user\Downloads\executable1.exe /S /D=C:\Program Files\Executable1\
C:\Users\user\Downloads\executable2.exe /S /D=C:\Program Files\Executable2\
但是,我们的管理员要求您从下拉列表中选择原因,并在每次需要管理员访问权限时输入密码。
有解决方法吗?
编辑:就像现在一样,它看起来像是在安装,但它失败了。如果我关闭静音,则弹出窗口,输入正确的值后,它将继续安装。
答案 0 :(得分:1)
只需使用管理权限运行PowerShell:
或者:
两个命令都执行相同操作并使用提升的权限打开程序。这可以防止UAC弹出,因为PowerShell已经以提升的权限运行。
答案 1 :(得分:1)
至于......
"our admins require you to select a reason from a dropdown and enter your password every time you need admin access to do something.
Is there a workaround for this?"
因此,他们正在使用本机Windows策略或3rdP工具监控安装事件,以防止未经授权的安装???
Soooooo .... 您是要求论坛成员帮助您使用代码来规避/违反您组织的安全/风险管理政策??? 在大多数组织中,违反安全/风险政策的是RPE(恢复生成事件)。你不应该先与你的组织决策者谈谈吗?
无论如何,如果您有权进行此安装工作,那么该方法与尝试将数据推送到表单没有什么不同。您捕获窗体窗口,枚举输入框以便能够知道它们是什么并采取所需的操作。 PoSH,开箱即用,真的不是为那种东西而设计的。您需要一个可以以编程方式处理GUI的工具,以及可能没有已知接口来自动化的GUI。
看看像WASP这样的工具,它有点陈旧,但可能适合你。
WASP是用于Windows自动化任务的PowerShell管理单元,例如选择窗口和控件以及发送鼠标和键盘事件。我们有自动化cmdlet,如Select-Window,Select-Control,Send-Keys,Send-Click,Get-WindowPosition,Set-WindowPosition,Set-WindowActive,Remove-Window ......等。
或AutoIT
https://www.autoitscript.com/site/autoit
顺便说一句,如果您尝试在远程主机上的用户环境中执行此操作,PoSH将不允许您这样做,它受Windows安全主体边界的限制。像PSExec这样的工具可以帮助AutoIt。