将嵌套类作为参数传递给Invoke-Command

时间:2019-08-16 20:21:03

标签: powershell class invoke-command

我正在尝试将类对象作为参数传递给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的对象内是“等效指针”。

在将其发送到远程计算机之前,是否有办法将其展平?

或其他任何可以解决此问题的方法?

0 个答案:

没有答案