Azure
Azure VM 上的 PowerShell 中沒有管理員/提升權限
我已經為我們的自定義 DevOps 建構代理設置了一個帶有 Windows 10 Pro 的 Azure VM。我創建的使用者是管理員,也屬於管理員組。
但是,如果我這樣做:
- 通過具有管理員權限的該使用者到 VM 的 RDP
- 執行 PowerShell(不具有管理員權限)
- 嘗試執行例如
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-Process
PowerShell 命令啟動上述命令以-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"
但是,這種方法犧牲了命令提示符的標題,因為我沒有弄清楚如何正確轉義它所需的雙引號。