Powershell 仅从AD获取计算机名称

Powershell 仅从AD获取计算机名称,powershell,active-directory,powershell-2.0,powershell-3.0,Powershell,Active Directory,Powershell 2.0,Powershell 3.0,我是PowerShell的新手,正在测试一些命令和想法。我被困在我觉得应该很简单的事情上。我想把AD中计算机对象的名称拉入一个文件。到目前为止,我尝试的方法是 $computers = Get-ADComputer -Filter * | Format-List name write($computers) | Out-File -FilePath .\computers.txt 但我的问题是,输出的文件如下所示 name : SERVER1 name : SERVER2 name : W

我是PowerShell的新手,正在测试一些命令和想法。我被困在我觉得应该很简单的事情上。我想把AD中计算机对象的名称拉入一个文件。到目前为止,我尝试的方法是

$computers = Get-ADComputer -Filter * | Format-List name
write($computers) | Out-File -FilePath .\computers.txt
但我的问题是,输出的文件如下所示

name : SERVER1

name : SERVER2

name : WORKSTATION1

name : WORKSTATION2

我要找的只是一个没有“名字:”部分的名字列表。我不确定是否有更好的方法来实现这一点

这应该比@MDMoore313的解决方案快,因为它不会循环遍历结果并在每次遍历时写入磁盘(在我的广告环境中,他的为1.7秒,而我的为1.1秒,写入RAMDisk):

$computers = Get-ADComputer -Filter * | foreach { $_.Name | Add-Content -Path .\computers.txt}

如果您使用的是PowerShell 3,则可以使用下面的短点符号

(Get-ADComnputer -filter *).name > .\computers.txt
or
(Get-ADComnputer -filter *).name | out-file .\computers.txt
我发现(get-adcomputer-filter*).name>\computers.tx不工作,但如果对原始位置进行了一些修改,则可以正常工作:

$computers = Get-ADComputer -Filter * | Format-table name

write($computers) | Out-File -FilePath .\computers.txt

这是纯黄油面包:

Get-ADComputer-Filter*|格式化表名


只需将命令中的单词“List”改为单词“Table”,您就可以得到您想要的内容-没有“name:”主机名前面的文本(每个结果之间也没有换行!)。

这正是我所需要的!非常感谢!
$computers = Get-ADComputer -Filter * | Format-table name

write($computers) | Out-File -FilePath .\computers.txt