2014-04-01 28 views
0

我正在玩一個PS腳本來拉取PC的價值使用Get-ADComputer(這是一個較大的腳本的一部分,但我正在處理它中塊)的代碼是:Powershell出文件到csv不打印到單行

Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=domain,DC=local" -Properties Name,lastLogonTimestamp | ForEach-Object {$_.Name,[DateTime]::FromFileTime($_.lastLogonTimestamp)} | Out-File time.csv 

當我導出爲CSV以上線,我得到一個新的生產線的每個條目:

Thursday, October 31, 2013 8:49:26 AM 
COMPUTER1 
Sunday, March 02, 2014 1:34:37 PM 
COMPUTER2 

我想獲得輸出閱讀(假裝「|」是同一行中的新列):

COMPUTER1 | Thursday, October 31, 2013 8:49:26 AM 
COMPUTER2 | Sunday, March 02, 2014 1:34:37 PM 

另外,我已經到了使用Out-File的地步,因爲當我運行上面的腳本時,Export-Csv給了我計算機名稱的長度。謝謝您的幫助!

回答

0

而不是做一個foreach的,請在選擇代替,折騰即席哈希表,讓您的LastLogonTime轉換是這樣的:

Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=domain,DC=local" -Properties Name,lastLogonTimestamp | select Name,@{l="Last Logon";e={[DateTime]::FromFileTime($_.lastLogonTimestamp)}}|Export-Csv time.csv -NoTypeInformation