我有一个 PowerShell 脚本/函数,它需要很少的参数并运行它。
Invoke-Expression ".\ScriptFile.ps1 $($Node.Name).xml C:\TempFolder\ $($Node.Name) local"
现在我想以另一个用户的身份运行它。
Invoke-Expression
没有credential
促进这一点的固有参数。另一方面Invoke-Command
,有一个Credential
( Get-Credential
) 参数,便于作为另一个用户运行。我尝试替换Invoke-Expression
为Invoke-Command
没有运气。
我如何解决这个问题以作为另一个用户运行上述表达式?
脚本资源的结构。
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"
}
Script
PS:所有这些都发生在所需状态配置中的用户 SetScript 中。