Unten ist der letzte Teil eines Skripts, das ich für eine Remote-Inventarisierung von Hosts in meinem Netzwerk übernommen habe. Ich habe am Ende des Skripts mit dem Export-Csv zu kämpfen. Die einzige Möglichkeit, CSV-Dateien zu erhalten, besteht darin, das "-Append" für "-Force" zu ersetzen. Wie erwartet, wird nur der letzte Host in der angegebenen Datei in die foreach-Schleife geschrieben (weil die Schleife jeden Eintrag ohne überschreibt) das "-Append", so dass mir nur die Informationen des letzten Hosts in der exportierten CSV-Datei verbleiben). Mit dem -Append wird die CSV-Datei nicht einmal erstellt; Ich habe auch versucht, die CSV-Datei vor dem Ausführen des Skripts zu erstellen, jedoch wird nichts in die Datei geschrieben. Was mache ich falsch?Export-Csv-Hilfe in PowerShell
foreach ($Network in $Networks) {
$IPAddress = $Network.IpAddress[0]
$MACAddress = $Network.MACAddress
$systemBios = $Bios.serialnumber
$OutputObj = New-Object -Type PSObject
$OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()
$OutputObj | Add-Member -MemberType NoteProperty -Name Manufacturer -Value $Hardware.Manufacturer
$OutputObj | Add-Member -MemberType NoteProperty -Name Model -Value $Hardware.Model
$OutputObj | Add-Member -MemberType NoteProperty -Name CPU_Info -Value $cpu.Name
$OutputObj | Add-Member -MemberType NoteProperty -Name SystemType -Value $Hardware.SystemType
$OutputObj | Add-Member -MemberType NoteProperty -Name BuildVersion -Value $SysBuild.BuildVersion
$OutputObj | Add-Member -MemberType NoteProperty -Name OS -Value $OS.Caption
$OutputObj | Add-Member -MemberType NoteProperty -Name SPVersion -Value $OS.csdversion
$OutputObj | Add-Member -MemberType NoteProperty -Name SerialNumber -Value $systemBios
$OutputObj | Add-Member -MemberType NoteProperty -Name IPAddress -Value $IPAddress
$OutputObj | Add-Member -MemberType NoteProperty -Name MACAddress -Value $MACAddress
$OutputObj | Add-Member -MemberType NoteProperty -Name UserName -Value $username.Name
$OutputObj | Add-Member -MemberType NoteProperty -Name Last-Login -Value $username.LastWriteTime
$OutputObj | Add-Member -MemberType NoteProperty -Name C:_GBfreeSpace -Value $driveSpace.GBfreespace
$OutputObj | Add-Member -MemberType NoteProperty -Name Total_Physical_Memory -Value $totalMemory
$OutputObj | Add-Member -MemberType NoteProperty -Name Last_Reboot -Value $lastboot
$OutputObj | Export-Csv -Append -Path "C:\Users\User1\Desktop\Scripts\pcInventory.csv" -NoTypeInformation
Erhalten Sie irgendeine Ausnahme? Welche Version von PowerShell verwenden Sie? – pabrams
Danke für die Antwort. Keine Ausnahmen. Ich verwende PSVersion 2.0 – adequ
Der Append-Parameter für Export-Csv wurde nur in PowerShell 3.0 eingeführt – pabrams