将服务器信息输出到Excel文件

我有一个PowerShell脚本,可以为我生成服务器状态信息。 我现在的问题是我想输出结果到一个Excel文件。

PowerShell代码:

function getwmiinfo ($svr) { gwmi -Query "select * from Win32_ComputerSystem" -ComputerName $svr | select Name, Model, Manufacturer, Description, DNSHostName, Domain, DomainRole, PartOfDomain, NumberOfProcessors, SystemType, TotalPhysicalMemory, UserName, Workgroup | Format-Table -Property * -Autosize | Out-String -Width 10000 gwmi -Query "select * from Win32_OperatingSystem" -ComputerName $svr | select Name, Version, FreePhysicalMemory, OSLanguage, OSProductSuite, OSType, ServicePackMajorVersion, ServicePackMinorVersion | Format-Table -Property * -Autosize | Out-String -Width 10000 gwmi -Query "select * from Win32_PhysicalMemory" -ComputerName $svr | select Name, Capacity, DeviceLocator, Tag | Format-Table -Autosize gwmi -Query "select * from Win32_LogicalDisk where DriveType=3" -ComputerName $svr | select Name, FreeSpace, Size | Format-Table -Autosize } $servers = Get-Content 'servers.txt' foreach ($server in $servers) { $results = gwmi -query "select StatusCode from Win32_PingStatus where Address = '$server'" $responds = $false foreach ($result in $results) { if ($result.statuscode -eq 0) { $responds = $true break } } if ($responds) { getwmiinfo $server } else { Write-Output "$server does not respond" } } 

输出到Excel:

在这里输入图像说明 在这里输入图像说明

您可以使用Export-CsvExport-Csv file path -NoTypeInformation )。 这是命令。 如果你想使用数组,那么你将不得不定义。 你可以检查这个问题 。

例如$variable | Export-Csv c:\output.csv -notypeinformtion $variable | Export-Csv c:\output.csv -notypeinformtion