我有一個PowerShell腳本/函數,它只需要很少的參數並運行它。作爲另一個用戶運行「Invoke-Expression」語句
Invoke-Expression ".\ScriptFile.ps1 $($Node.Name).xml C:\TempFolder\ $($Node.Name) local"
現在我想運行的其他用戶。
Invoke-Expression
沒有固有的參數credential
,這有利於此。另一方面,Invoke-Command
具有便於作爲另一用戶運行的Credential
(Get-Credential
)參數。我試圖用Invoke-Command
代替Invoke-Expression
,但沒有運氣。
我該如何解決這個問題以作爲另一個用戶運行上述表達式?
腳本資源的結構。
Script Deploy
{
SetScript =
@"
Set-Location D:\Deploy
Invoke-Expression ".\ScriptFile.ps1 $($Node.Name).xml C:\TempFolder\ $($Node.Name) local"
"@
TestScript =
{
return $false
}
GetScript = {
return @{
GetScript = $GetScript
SetScript = $SetScript
TestScript = $TestScript
}
}
DependsOn = "[File]CopyMe"
}
P.S .:所有這些都發生在用戶處於期望狀態配置中的SetScript中。
定義「沒有運氣」。你的'Invoke-Command'語句是什麼樣的?你有錯誤嗎? – 2014-10-09 06:39:44
這是我的錯誤消息'PowerShell提供程序MSFT_ScriptResource未能執行Set-TargetResource功能,並顯示錯誤消息: 無法使用指定的命名參數解析參數集。「# – Learner 2014-10-09 07:23:38
請使用**'Invoke-Command'語句更新您的問題* *和**完整的錯誤信息**。 – 2014-10-09 08:12:01