首页 > 解决方案 > Powershell get-adcomputer - 过滤选项对象值

问题描述

$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 *

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

标签: powershellobjectcasting

解决方案


用数组看一下本教程。您不能像以前那样在 powershell 中定义数组元素。

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

$array = @{}

然后添加如下元素:

$array.asdf = 'qwert'

或者

$array.$where = 'value'

所以对于您的示例代码,我建议

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

推荐阅读