gpt4 book ai didi

powershell - 使用 Invoke-Command 修改 ScriptBlock 中的远程变量

转载 作者:行者123 更新时间:2023-12-03 16:37:09 25 4
gpt4 key购买 nike

是否可以修改远程变量?我正在尝试执行以下操作:

$var1 = ""
$var2 = ""

Invoke-Command -ComputerName Server1 -ScriptBlock{
$using:var1 = "Hello World"
$using:var2 = "Goodbye World"
}

当我尝试这个时,我得到了错误:

The assignment expression is not valid.  The input to an assignment operator must be an object that is able to accept assignments, such as a variable or a property.

很明显,使用这种方法行不通,但是我可以采用其他方法吗?我需要在远程和本地范围内使用和修改这些变量

最佳答案

所以你正在尝试做的事情是行不通的。但这里有一个解决方法。

将您想要返回的数据放入哈希表中,然后捕获结果并枚举它们并将值放入变量中。

$var1 = ""
$var2 = ""

$Reponse = Invoke-Command -ComputerName Server1 -ScriptBlock{
$Stuff1 = "Hey"
$Stuff2 = "There"
Return @{
var1 = $Stuff1
var2 = $Stuff2
}
}

$Reponse.GetEnumerator() | %{
Set-Variable $_.Key -Value $_.Value
}

$var1
$var2

这将返回

Hey
There

关于powershell - 使用 Invoke-Command 修改 ScriptBlock 中的远程变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60743194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com