0

**我试过n " N '”'N'PowerShell的换行符不工作我想`N “'N” ''N'

块引用

**

GC D:\code\ServerList.txt | % { 
$Comp = $_ 
#write-output "server Information" 
If (Test-Connection $Comp -Quiet){ 
$Luser = (Get-WmiObject -class win32_process -Filter 
"Name='Explorer.exe'" -ComputerName $Comp | % {$_.GetOwner().User} | 
Sort-Object -Unique) -join "," 
$Mem = GWMI -Class win32_operatingsystem -computername $COMP 
    New-Object PSObject -Property @{ 
      "ServerInfo" = "" 
      Server = $Comp 
      "CPU usage" = "$((GWMI -ComputerName $COMP win32_processor 
| Measure-Object -property LoadPercentage -Average).Average) %" 
      "Memory usage" = "$("{0:N2}" -f 
((($Mem.TotalVisibleMemorySize - $Mem.FreePhysicalMemory)*100)/ 
$Mem.TotalVisibleMemorySize)) %" 
      "Total FreeSpace" = "$("{0:N2}" -f ((Get-WmiObject -Class 
win32_logicaldisk -ComputerName $COMP -Filter "DriveType = '3'" | 
       Measure-Object -property FreeSpace -Sum).Sum /1GB)) GB" 
      "DiskSpace" = "$("{0:N2}" -f ((Get-WmiObject -Class 
win32_logicaldisk -ComputerName $COMP -Filter "DriveType = '3'" | 
       Measure-Object -property Size -Sum).Sum /1GB)) GB" 
     "Comment" = "" 
    "logged Users" = $Luser 
    } 
} 
Else{ 
"" | Select @{N="Server";E={$Comp}},"CPU usage","Memory usage","Total 
FreeSpace","logged Users","DiskSpace" 
} 
}| Select "ServerInfo",Server,"logged Users","CPU usage","Memory 
usage","Total FreeSpace" ,"DiskSpace", "Comment" | 
Export-Csv "D:\code\Diskncpu.csv" -nti –Append 

输出
enter image description here

所需输出
enter image description here

回答

0

尝试使用`r`n换行。它需要新的线路和回车工作。

+0

嗨杰森 尝试'n'r这也但没有奏效。谢谢 –

+0

您是否尝试过使用'[System.Environment] :: NewLine'的.NET格式? –

+0

如何使用此[System.Environment] :: NewLine –

0
"`r`n" 

需要双引号我相信。

+0

我也试过这个,但没有运气 –

0

使用[System.Environment]::NewLine可以在需要的地方添加新线。

说了这么多我格式化您的清晰的代码和针对阵列执行

@("MECDEVAPP01","MECDEVAPP01")| % { 
    $Comp = $_ 
    #write-output "server Information" 
    If (Test-Connection $Comp -Quiet){ 
     $Luser = (Get-WmiObject -class win32_process -Filter "Name='Explorer.exe'" -ComputerName $Comp | % {$_.GetOwner().User} | Sort-Object -Unique) -join "," 
     $Mem = GWMI -Class win32_operatingsystem -computername $COMP 
     New-Object PSObject -Property @{ 
      "ServerInfo" = "" 
      Server = $Comp 
      "CPU usage" = "$((GWMI -ComputerName $COMP win32_processor | Measure-Object -property LoadPercentage -Average).Average) %" 
      "Memory usage" = "$("{0:N2}" -f ((($Mem.TotalVisibleMemorySize - $Mem.FreePhysicalMemory)*100)/ $Mem.TotalVisibleMemorySize)) %" 
      "Total FreeSpace" = "$("{0:N2}" -f ((Get-WmiObject -Class win32_logicaldisk -ComputerName $COMP -Filter "DriveType = '3'" | Measure-Object -property FreeSpace -Sum).Sum /1GB)) GB" 
      "DiskSpace" = "$("{0:N2}" -f ((Get-WmiObject -Class win32_logicaldisk -ComputerName $COMP -Filter "DriveType = '3'" | Measure-Object -property Size -Sum).Sum /1GB)) GB" 
      "Comment" = "" 
     "logged Users" = $Luser 
     } 
    } 
    Else{ 
     "" | Select @{N="Server";E={$Comp}},"CPU usage","Memory usage","Total FreeSpace","logged Users","DiskSpace" 
    } 
}| Select "ServerInfo",Server,"logged Users","CPU usage","Memory usage","Total FreeSpace" ,"DiskSpace", "Comment"| 
Export-Csv "C:\Users\asarafian\Downloads\Diskncpu.csv" -nti –Append 

CSV文件是这样

"ServerInfo","Server","logged Users","CPU usage","Memory usage","Total FreeSpace","DiskSpace","Comment" 
"","MECDEVAPP01","","7 %","70,24 %","203,97 GB","278,36 GB","" 
"","MECDEVAPP01","","0 %","70,25 %","203,97 GB","278,36 GB","" 

这是什么,我会从一个记录的转换期待(这就是你正在用所有这些管道构建)成csv。

我想要产生一个格式化的文本,那么你不能使用CSV或你需要结合它的元素。