Цитата Iska:
Вы ринулись в бой, не продумав стройной системы сбора. »
|
вы абсолютно правы, но дело не в том, что я не хочу этого делать, дело в том, что не могу из-за отсутствия знаний в PS, а делать уже надо. Я начал изучать ps, но пока мало знаю. С последнего сообщения переделал скрипт и получил часть того чего хотел.
ремикс
Код:

Param(
[String]$a=((Get-Date).ToShortDateString() | Foreach-Object {$_ -replace "\.", ""}) ,
[string]$outfile = "D:\PowerShell\франкин\test\1111.csv",
$pp = "05server"
)
$PSComputerName = Get-WmiObject -computername $pp Win32_NetworkAdapter -Filter "NetConnectionStatus>0" |foreach {$_.PSComputerName}
$MACAddress = Get-WmiObject -computername $pp Win32_NetworkAdapter -Filter "NetConnectionStatus>0" |foreach {$_.MACAddress}
$namenet = Get-WmiObject -computername $pp Win32_NetworkAdapter -Filter "NetConnectionStatus>0" |foreach {$_.name}
$AdapterType = Get-WmiObject -computername $pp Win32_NetworkAdapter -Filter "NetConnectionStatus>0" |foreach {$_.AdapterType}
$Speed = Get-WmiObject -computername $pp Win32_NetworkAdapter -Filter "NetConnectionStatus>0" |foreach {$_.Speed}
$Manufacturer = Get-CimInstance -computername $pp -ClassName Win32_ComputerSystem |foreach {$_.Manufacturer}
$Model = Get-CimInstance -computername $pp -ClassName Win32_ComputerSystem |foreach {$_.Model}
$SN = Get-WmiObject -computername $pp Win32_BaseBoard | foreach {$_.SerialNumber}
$hash_object = [ordered] @{PSComputerName = $PSComputerName; Manufacturer = $Manufacturer; Model = $Model; Serialnumber = $SN; MACAddress = $MACAddress; name = $namenet; AdapterType = $AdapterType; Speed = $Speed; }
$ps_object = [pscustomobject]$hash_object
$ps_object | export-csv $outfile -notype -enc utf8 -d ';' -append
резуьлтат
Код:

"PSComputerName";"Manufacturer";"Model";"Serialnumber";"MACAddress";"name";"AdapterType";"Speed"
"05server";"Hewlett-Packard";"HP ProDesk 400 G2 MT";"CZC44843RP";"A0:D3:C1:4D:6B:CE";"Realtek PCIe GBE Family Controller #4";"Ethernet 802.3";"1000000000"
как всегда есть проблема, не могу допереть умом как в это все еще добавить инфу о мониторах, в соседней теме подсказали как получить инфу
Код:

$m = gwmi wmimonitorid -Namespace root\wmi
[string][char[]] ($m.UserFriendlyName) -join ""
[string][char[]] ($m.SerialNumberID) -join ""
результат
Код:

HP E231 HP E231
3CQ4070X4Z 6CM4221RHC
не могу понять как из этого вычленить сначала первый монитор, а потом второй и записать в одну строку подобно остальной инфе. И как заполнить пустые столбики чем-либо если конфигурация одним монитором.
А точнее, лучше не вычленять из результата, а сразу писать результат как надо.