将Powershell命令导出到Excel

我有以下命令

Get-WmiObject win32_OperatingSystem |%{"Total Physical Memory: {0}KB`nFree Physical Memory : {1}KB`nTotal Virtual Memory : {2}KB`nFree Virtual Memory : {3}KB" -f $_.totalvisiblememorysize, $_.freephysicalmemory, $_.totalvirtualmemorysize, $_.freevirtualmemory} 

我想导出上面的输出到一个excel文件。 我有:

 Get-WmiObject win32_OperatingSystem |%{"Total Physical Memory: {0}KB`nFree Physical Memory : {1}KB`nTotal Virtual Memory : {2}KB`nFree Virtual Memory : {3}KB" -f $_.totalvisiblememorysize, $_.freephysicalmemory, $_.totalvirtualmemorysize, $_.freevirtualmemory} | Select-Object VisibleMem, FreeMem, VirtualMem,FreeVirtualMem | Export-Csv -Path "C:\Test.csv" -Encoding ascii -NoTypeInformation -UseCulture 

这不会输出任何除了列的标题。我正在寻找每列中的输出。 任何帮助?

  1. 当您在Foreach-Object循环中创buildstring时,您将使用其属性丢弃对象,因此您不必再导出到csv。
  2. Select-Object中的属性名称不存在。 您不能组成列名称(不使用计算属性/列,请参阅下面的示例)。

试试这个输出数据:

 Get-WmiObject win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory, TotalVirtualMemorySize, FreeVirtualMemory | Export-Csv -Path "C:\Test.csv" -Encoding ascii -NoTypeInformation -UseCulture 

如果你需要不同的列名:

 Get-WmiObject win32_OperatingSystem | Select-Object @{n="VisibleMem";e={$_.TotalVisibleMemorySize}}, @{n="FreeMem";e={$_.FreePhysicalMemory}}, @{n="VirtualMem";e={$_.TotalVirtualMemorySize}}, @{n="FreeVirtualMem";e={$_.FreeVirtualMemory}} | Export-Csv -Path "C:\Test.csv" -Encoding ascii -NoTypeInformation -UseCulture 

如果您需要将文本写入屏幕(供用户查看),同时还要保存它们,则需要使用Write-Host并记住将对象传递到pipe道中的下一个cmdlet:

 Get-WmiObject win32_OperatingSystem | ForEach-Object { #Write to screen Write-Host ("Total Physical Memory: {0}KB`nFree Physical Memory : {1}KB`nTotal Virtual Memory : {2}KB`nFree Virtual Memory : {3}KB" -f $_.totalvisiblememorysize, $_.freephysicalmemory, $_.totalvirtualmemorysize, $_.freevirtualmemory); #Throw the original object to the next cmdlet in the pipeline $_ } | Select-Object TotalVisibleMemorySize, FreePhysicalMemory, TotalVirtualMemorySize, FreeVirtualMemory | Export-Csv -Path "C:\Test.csv" -Encoding ascii -NoTypeInformation -UseCulture