我正在尝试运行以下 Powershell 脚本。
import-module ActiveDirectory
$computers = Get-ADComputer -filter * -SearchBase "OU=myOU,DC=vw,DC=local" | select-object name
Invoke-Command -ComputerName $computers -ScriptBlock {gpupdate /target:Computer}
问题$computers
不是string[]
像-ComputerName
预期的那样。它实际上是一个ADComputer
带有一个名为 name 的参数的数组。
# Get-ADComputer -filter * -SearchBase "OU=myOU,DC=vw,DC=local" | select-object name | Format-Custom
class ADComputer
{
name = PC1
}
class ADComputer
{
name = PC2
}
class ADComputer
{
name = PC3
}
获取名称字符串数组的正确方法是什么?如果我在 C# 中,我知道它会是
string[] computerNames = computers.Select(computer => computer.name).ToArray();
但我想学习如何在 Powershell 中正确地做到这一点。