所以目前我有一些代码可以通过 Powershell 中的 ADSI 锁定到特定的 OU,循环遍历并将它们存储到一个数组中。反过来,我循环遍历并运行测试连接。我有我的理由...
无论如何,是否有可能(仅使用内置的 cmdlet,即没有 Quest 的东西)递归整个 AD 并将所有计算机对象添加到数组中?
$myArrayOfComputers = @()
$orgUnit = [ADSI]"LDAP://OU=foo,DC=foo,dc=co,dc=uk"
ForEach($child in $orgUnit.psbase.Children) {
if ($child.ObjectCategory -like '*computer*') { $myArrayOfComputers += $child.Name }
}
ForEach($i in $myArrayOfComputers) {
Test-Connection $i
}