2

我是Power Shell的新手,我正在測試一些命令和想法。我堅持我覺得應該很簡單。我想將AD中的計算機對象的名稱拖到一個文件中。我想到目前爲止,該方法是這樣的從AD獲取計算機名稱

$computers = Get-ADComputer -Filter * | Format-List name 
write($computers) | Out-File -FilePath .\computers.txt 

我有這個雖然問題是,這是輸出的文件看起來像這樣

name : SERVER1 

name : SERVER2 

name : WORKSTATION1 

name : WORKSTATION2 

我期待的只是一條直線名稱列表中沒有出現在前面的「名稱:」部分。我不確定是否有更好的方法來實現這一點。

回答

3

這應該是比憑藉通過對每一趟通過(1.7S他與1.1s在我的AD環境礦寫入磁盤的結果&不循環的@ MDMoore313的解決方案快,寫入RAMDisk):

$computers = Get-ADComputer -Filter * | select-object -expandproperty name | out-file .\computers.txt 
+0

這適用於我所需要的!非常感謝! – ParadoxCTRL

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

如果您使用的是PowerShell 3,則可以使用下面的短點標記。

(Get-ADComnputer -filter *).name > .\computers.txt 
or 
(Get-ADComnputer -filter *).name | out-file .\computers.txt 
0

我發現(GET-adcomputer型濾波器*)名> \ computers.tx沒有工作,但如果有一個原來的一些:放置修改它工作正常:。

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

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

這裏的普通麪包黃油&:

Get-ADComputer -Filter * | Format-Table name

就改字「列表」在你的命令詞「表」,你會得到你aske什麼d代表 - 主機名前面沒有「name:」文本(每個結果之間也沒有換行符)。