簡體   English   中英

以管理員身份在遠程計算機上運行 Invoke-Command

[英]Run Invoke-Command in remote computer as administrator

我正在嘗試運行 invoke-command 以在remote computerpowershell script in a powershell file 我正在使用credentials for a user with Administrator privilege 該命令需要以running powershell as an administrator來執行。 我嘗試使用 powershell 腳本調用的應用程序存在許可問題,因此我無法將憑據更改為管理員,但需要使用該特定用戶本身運行。 我曾嘗試在 Invoke-Command 末尾使用-RunAsAdministrator ,但我收到一條錯誤消息:

Invoke-Command: Parameter set cannot be resolved using the specified named parameters.

$command = {
    cd Folder
    C:\Folder\build.ps1
} 
Invoke-Command -ComputerName $RemoteSystemIP -ScriptBlock $command -credential $Credentials1 -ErrorAction Stop -AsJob

我正在嘗試將此作為后台作業執行,這就是我添加-AsJob參數的原因。

已經好幾天了,我還沒有找到解決方案。

tl;博士

  • 讓遠程 PowerShell session 執行提升(具有管理員權限)的唯一方法是與在目標計算機上具有管理員權限的用戶帳戶(隱式或通過-Credential )連接。

  • 使用這樣的帳戶,session 會自動且始終運行升高。


Invoke-Command-RunAsAdministrator開關只能用於(虛擬化)容器-ContainerId參數) ,不能用於常規遠程處理( -ComputerName參數)。

不能在遠程 session中按需提升(您可以在本地,Start-Process -Verb RunAs交互的方式)。 [1]

相反,您必須確保您傳遞給Invoke-Command -Credential以連接到遠程計算機的憑據是指(也)在目標計算機上具有管理權限的用戶帳戶,在這種情況下遠程 session 會自動並且總是運行提升(具有管理員權限)。 [2]

如果您無法通過此類憑據,我認為您不走運。


測試當前用戶是否具有管理權限

# Returns $true if elevated, otherwise $false.
[Security.Principal.WindowsPrincipal]::new(
  [Security.Principal.WindowsIdentity]::GetCurrent()
).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)

一個利用net session的簡單快捷方式僅在提升時成功:

# Returns $true if elevated, otherwise $false.
[bool] (net session 2>$null)

[1] 除非 session已經提升,否則-Verb RunAs會彈出一個用戶必須以交互方式確認的 UAC 對話框,遠程 session 不支持該對話框。

[2] 如果您使用“環回遠程處理”,即如果您使用Invoke-Command -ComputerName.通過遠程處理以本地計算機為目標,這同樣適用。 ,例如,有額外的限制,但是:您不能使用被授權進行遠程處理但不屬於本地Administrators組的用戶,並且如果您使用當前用戶(無論是否具有顯式憑據),調用session本身必須被提升。

我認為你應該這樣做:

$command = {
    Start-Process "powershell" -Verb runas -Workingdirectory "C:\Folder\" -ArgumentList "build.ps1"
}

Invoke-Command -ComputerName $RemoteSystemIP -ScriptBlock $command -credential $Credentials1 -ErrorAction Stop -AsJob

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM