我正在尝试将类对象作为参数传递给Invoke-Command。
class A {
[string]$str_a
A($sa) {
$this.str_a = $sa
}
}
class B {
[string]$str_b
[A[]]$a_list
B($sb, $al) {
$this.str_b = $sb
$this.a_list = $al
}
}
$a_obj = [A]::new('a-object')
$b_obj = [B]::new('b-object', $a_obj)
Invoke-Command -Computername 'abc' -ScriptBlock {
param($b) $b
} -ArgumentList $b_obj
执行上面的命令后,我希望它能从对象$ b中打印$ str_b和$ a_list。
相反,仅打印$ str_b。这是有道理的,因为$ a_list在类型B的对象内是“等效指针”。
在将其发送到远程计算机之前,是否有办法将其展平?
或其他任何可以解决此问题的方法?