file - 如何在PowerShell中将所有Active Directory计算机读入数组?

标签 file loops powershell active-directory powershell-2.0

当我做:

# Gets all domain-joined computer names and properties in one object
$strCategory = "computer"
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.Filter = ("(objectCategory=$strCategory)")

$colProplist = "name"

foreach ($i in $colPropList) {
    $objSearcher.PropertiesToLoad.Add($i)
}

$Reader = $objSearcher.FindAll()

foreach ($Computer in $Reader) {
   Write-Host $Computer
}
$ComputerSystem.DirectoryServices.SearchResult的形式出现。如何查询所有计算机的Active Directory并将它们的字符串值存储在这样的数组中?

我需要保留foreach语法(即foreach $Computer in $Reader),因为我的代码使得$Reader也可以接受这样的计算机文件:
$Reader = Get-Content ((Resolve-Path $iL).Path)

总而言之,我想要一种既适用于输入文件,又适用于使用相同循环语法查询AD的东西。

编辑:我的输入文件是一个文本文件,该文件用换行符分隔计算机名称,如下所示:
win7box1
win7box2
win10box3

最佳答案

我解决了要从System.DirectoryServices.DirectorySearcher获得一个字符串,您可以像我的示例那样做一个循环,然后执行:

foreach ($Computer in $Reader) {
     $ComputerString = $Computer.Properties.Name
}

关于file - 如何在PowerShell中将所有Active Directory计算机读入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987475/

相关文章:

string - End_Error 帮助,在 Ada 中使用无界字符串

javascript - 文件未上传时如何绕过文件上传脚本

c# - 如何在 Silverlight 应用程序中将 byte[] 保存为 wav 文件?

c++ - 从文件中读取数字

r - 快速建立参数组合模型

c - 32x32 乘加优化

javascript - 如何在node js中循环,等待每次迭代

c# - 从 Session 0 隔离启动进程

powershell - 在PowerShell中的Word文档文件的不同页面上的不同标题?

mysql - 将SQL查询结果存储在变量中