Powershell get-adcomputer - 过滤器选项对象值

时间:2018-06-02 15:00:17

标签: powershell object casting

$server = Get-ADComputer -SearchBase "a OU in a domain*" -Filter {Name -like "*79234*"} | Select -Property *

这项工作它可以像我想的那样拉动计算机对象。名称中包含这些数字的计算机对象。

在之前的代码中,我定义了一个

$array[$where] = 79234 
$server = Get-ADComputer -SearchBase "a OU in a domain*" -Filter {Name -like "*$($array[$where])*"} | Select -Property *

失败,并没有给我我的比赛。为什么呢?

命令行中

$($ array [$ where])”= 79234 ..

我通过在搜索

之前创建我要搜索的对象名称来确实使用它
$FilterName = "*$($Array[$Where])*"

$server = Get-ADComputer -SearchBase "a OU in a domain*" -Filter {Name -like $filterObjectname} | Select -Property *

给我正确的对象,我认为根本问题是它们在对象之间过去的方式(转换?)但我错过了它。

1 个答案:

答案 0 :(得分:0)

看看this tutorial with arrays。你不能像在原来的那样在powershell中定义一个数组元素。

你可以像这样创建一个哈希表:

$array = @{}

然后添加如下元素:

$array.asdf = 'qwert'

$array.$where = 'value'

因此,对于您的示例代码,我建议

$array = @{}
$array.$where = 79234
$FilterName = $array.$where