Powershell输出到csv的文件未打印到单行

Powershell输出到csv的文件未打印到单行,powershell,csv,export,Powershell,Csv,Export,我正在使用PS脚本使用Get-ADComputer提取PC的值(这是一个更大脚本的一部分,但我正在分块处理)。代码是: Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=domain,DC=local" -Properties Name,lastLogonTimestamp | ForEach-Object {$_.Name,[DateTime]::FromFileTime($_.lastLogonTimestamp)} | Out-Fi

我正在使用PS脚本使用Get-ADComputer提取PC的值(这是一个更大脚本的一部分,但我正在分块处理)。代码是:

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
我想让输出读取(假装“|”是同一行中的新列):


此外,我还要使用Out文件,因为当我运行上述脚本时,Export Csv给了我计算机名的长度。谢谢你的帮助

不要使用ForEach,而是使用Select,并放入一个即兴哈希表,将您的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
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