Создайте пользовательский объект с требуемыми свойствами. Используйте New-Object, чтобы создать его. Используйте Add-Member, чтобы добавить noteproperty
членов к объекту. Получить данные с помощью WMI (Get-WmiObject - alias gwmi
) и заполнить их свойствами.
Соберите объекты в массив и экспортируйте их как CSV с Export-Csv.
Попробуйте, как это так,
$computers = @("System1", "System2") # An array of computer names.
$arr = @() # Array for CSV export
foreach($comp in $computers){
$o = new-object psobject # New object
# Add Owner property and set its value with a WMI call
$o | add-member -membertype noteproperty -name Owner -value (gwmi win32_computersystem -computername $comp).PrimaryOwnerName
# Ditto for Serial property
$o | add-member -membertype noteproperty -name Serial -value (gwmi win32_bios -computername $comp).SerialNumber
$arr += $o
}
# Export the object data as CSV
$arr | select -property Owner,Serial | export-csv -notypeinformation c:\temp\ownerdata.csv
Да, это может быть сделано, и это довольно распространенный сценарий. Сколько исследований вы сделали в этом, и что вы пытались достичь цели? И почему вы не используете уже построенный инструмент, такой как SCCM, который предназначен для инвентаризации систем в вашей сети и может автоматически создать этот отчет для вас? – alroc