Azure

Azure VM 上的 PowerShell 中沒有管理員/提升權限

  • January 23, 2021

我已經為我們的自定義 DevOps 建構代理設置了一個帶有 Windows 10 Pro 的 Azure VM。我創建的使用者是管理員,也屬於管理員組。

但是,如果我這樣做:

  1. 通過具有管理員權限的該使用者到 VM 的 RDP
  2. 執行 PowerShell(不具有管理員權限)
  3. 嘗試執行例如Import-Certificate命令

在 PowerShell 中,我收到一個Access Denied錯誤。

我的所有 PowerShell 實例是否有可能自動擁有管理員權限?

該解決方案將服務於該託管的 DevOps 代理。現在我無法在我們的 DevOps 管道中執行任何最終需要管理員權限的腳本。

所以我在沒有任何第三方工具的情況下弄清楚了。

啟動自定義建構代理的原始命令是:

C:\windows\system32\cmd.exe /D /S /C start "Agent with AutoLogon" "C:\agent\run.cmd" --startuptype autostartup

以上生成的非管理員命令提示符通過它 DevOps 沒有管理員/提升權限。

您可以使用Start-ProcessPowerShell 命令啟動上述命令以-Verb RunAs獲得提升的權限:

powershell -Command "Start-Process powershell -ArgumentList 'C:\windows\system32\cmd.exe /D /S /C start C:\agent\run.cmd --startuptype autostartup' -Verb RunAs"

但是,這種方法犧牲了命令提示符的標題,因為我沒有弄清楚如何正確轉義它所需的雙引號。

引用自:https://serverfault.com/questions/1050733