运行 UNC 路径中的 PowerShell 脚本,具有来自快捷方式的管理员权限

Running A PowerShell Script At A UNC Path With Admin Privilege From Shortcut

我已经创建了一个 PowerShell 脚本来为我们公司的系统管理员安装一些按需功能。我为脚本创建了一个快捷方式,并在高级选项中选择了 "Run As Administrator"。当我 运行 脚本直接 运行s 但错误状态:

The requested operation requires elevation

如果我从快捷方式 运行 脚本,UAC 弹出允许 运行 作为管理员,我点击是,然后弹出一个黑色 CMD 框,然后立即关闭。它不会显示我的脚本的任何部分,也不会像我在脚本中那样在最后暂停。在我放置的快捷方式的目标中:

powershell.exe -ExecutionPolicy Bypass

还是一样的问题

如果我将 powershell.exe -ExecutionPolicy Bypass 放入脚本中,它会在原始 window 的顶部打开一个 Admin Powershell window,但脚本 运行s 在较低的window。我只能假设它会在 C:\Windows\System32

启动管理员 window

有没有办法 运行 以管理员身份启动 PowerShell 并直接转到我在 UNC 路径上的脚本的命令?

某事 link 这个:

开始进程Powershell.exe-Verb 运行As-File“\SERVER\Scripts\Script.ps1”

或者有没有更好的方法让我的快捷方式以管理员身份启动我的脚本到 UNC 路径上的脚本?

经过大量研究,我发现了这个问题。事实证明,我认为管理框从 C:\Windows\System32 开始是正确的,并且没有参数传递给框来告诉它要写什么。经过反复试验,这就是我开始工作并完全按照我的要求完成的工作:

在快捷方式中,我删除了高级下的 "Run As Admnistrator" 选项。我在快捷方式的目标中添加了一些值:

powershell -ExecutionPolicy Bypass "\UNC\To\Script.ps1"

这启动了一个 运行 在用户模式下的启动脚本。为了通过脚本完成管理功能,我将这些命令移动到另一个脚本 "AdminScript.ps1" 并从 Script.pst1 调用它,如下所示:

Start-Process powershell -Argument "-ExecutionPolicy Bypass -noexit \UNC\Path\to\AdminScript.ps1" -Verb runAs

这随后启动了 Administrative Powershell window 并将 ExecutionPolicy 设置为 Bypass,因为它默认启动时受限制。

从那里我能够使用管理权限完成 FoD 的安装。