Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Modifying existing script - modifying how data is written out to csv

$
0
0

I have an existing script written in Powershell 3.0 that gathers data from my virtual machines.  It's working to give me the data, but I'd like to modify how it writes it out.  Currently the data looks as follows:

I would prefer the output to be all one one line as follows:

Here is my script.  How would I modify this to give me the .csv file with all data for each server on one line?

#param (
    $inputFile = "C:\Apps\Powershell\IP_Mac\testlist.txt"
    $csvFile = "C:\Apps\Powershell\IP_Mac\results.csv"
#    ) 


$report = @()
foreach($Computer in (gc -Path $inputFile)){
get-wmiobject -computer $Computer win32_logicaldisk -filter "drivetype=3" | ForEach-Object {
$device = $_.deviceid
$freespce = ($_.freespace/1GB).tostring("0.00")+"GB"
$Totalspce = ($_.size/1GB).tostring("0.00")+"GB"
if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {
   $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Computer | ? {$_.IPEnabled}
   foreach ($Network in $Networks) {
    $IPAddress  = $Network.IpAddress[0]
    $SubnetMask  = $Network.IPSubnet[0]
    $DefaultGateway = $Network.DefaultIPGateway
    $DNSServers  = $Network.DNSServerSearchOrder
    }
    $MACAddress  = $Network.MACAddress
    $OutputObj  = New-Object -Type PSObject
    $OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()
    $OutputObj | Add-Member -MemberType NoteProperty -Name IPAddress -Value $IPAddress
    $OutputObj | Add-Member -MemberType NoteProperty -Name SubnetMask -Value $SubnetMask
    $OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value ($DefaultGateway -join “,”)
    $OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value ($DNSServers -join ",")
    $OutputObj | Add-Member -MemberType NoteProperty -Name MACAddress -Value $MACAddress
    $OutputObj | Add-Member -MemberType NoteProperty -Name device -Value $device
    $OutputObj | Add-Member -MemberType NoteProperty -Name Totalspce -Value $Totalspce
    $OutputObj | Add-Member -MemberType NoteProperty -Name freespce -Value $freespce
    #$OutputObj
    $report += $OutputObj
                 }
          }
 }

      Write-Output $report
#}  

$report | Select-Object -Property $properties | Export-Csv -Path $csvFile -NoTypeInformation

Thank you.



Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>