我有以下PowerShell脚本
$server = Get-ADComputer -filter {name -like $computerhost}
write-host $server.name
它为我提供了名称中包含
$computerhost
的ADComputer。例:
$computerhost = linuxserver
匹配的计算机名称输出:“linuxserver01”
但是如果计算机名称适合
$computerhost
,我实际上想要ADComputer。因此,如果$ computerhost是“asdf”,我想获得名称为“a”或“as”或“asd”或“asdf”的计算机,而不是“asda”例:
$computerhost = linuxserver (new)
匹配的计算机名称输出:“linuxserver”
我不知道如何以这种方式使用通配符。
最佳答案
感谢您通过评论进行澄清。我认为这可能是您要寻找的:
Get-ADComputer -filter * | where-object { $computerhost -like "*$($_.name)*" }
例如(我在这里使用$ computers代替get-adcomputer):$computers = 'a','as','asd','asdf','asda'
$computerhost = 'asdf'
$computers | where-object { $computerhost -like "*$_*" }
返回值: