我有一个 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"
}
ScriptPS:所有这些都发生在所需状态配置中的用户 SetScript 中。