Get only computer names from AD
Solution 1
This should be faster than @MDMoore313's solution by virtue of not looping through the results & writing to disk on each trip through (1.7s for his vs. 1.1s for mine in my AD environment, writing to a RAMDisk):
$computers = Get-ADComputer -Filter * | select-object -expandproperty name | out-file .\computers.txt
Solution 2
If you are using PowerShell 3, you could use short-hand dot notation below.
(Get-ADComnputer -filter *).name > .\computers.txt
or
(Get-ADComnputer -filter *).name | out-file .\computers.txt
Solution 3
Here's the plain bread & butter:
Get-ADComputer -Filter * | Format-Table name
Just change the word "List" in your command to the word "Table" and you get exactly what you asked for - no "name:" text in front of the hostnames (and no line-feed between each result, either!).
ParadoxCTRL
Updated on July 09, 2022Comments
-
ParadoxCTRL almost 2 years
I'm new to Power Shell and I'm testing some commands and ideas. I'm stuck on what I feel should be pretty simple. I want to pull the names of computer objects in AD in to a file. The method I'm trying so far is this
$computers = Get-ADComputer -Filter * | Format-List name write($computers) | Out-File -FilePath .\computers.txt
the issue I have with this though is that the file that is output looks like this
name : SERVER1 name : SERVER2 name : WORKSTATION1 name : WORKSTATION2
And I'm looking for just a straight list of names with out the "name : " part that comes in front. I'm not sure if there is a better way to accomplish this.