将变量传递给远程计算机上的scriptblock中的scriptblock

时间:2015-12-02 20:34:32

标签: powershell filter active-directory powershell-remoting invoke-command

我正在尝试使用Get-ADComputer查询域控制器,以获取有关特定计算机的Active Directory信息。此计算机由本地脚本中的变量指定。但是,我无法将局部变量传递给Invoke-Command -ArgumentList的脚本块,然后传递到-Filter{}中的Get-ADComputer块。以下是我认为可行的方法:

$computername = "nicolas"
Invoke-Command -ComputerName DomainController -ScriptBlock {
  Get-ADComputer -Filter {name -like "$args[0]"}
} -ArgumentList $computername

但是,$args[0]变量不会传递到内部过滤器;它传递给初始的scriptblock,但没有更远。它在第一个scriptblock内部定义(我可以正确返回其值),但未在-Filter{} scriptblock中定义。如何将此变量从本地脚本传递到远程脚本块,再传递到-Filter{}

我尝试过$args[]$USING:computername,但似乎都不允许我一直通过它。

0 个答案:

没有答案