Имя пользователя:
Пароль:
 

Название темы: Данные о системе
Показать сообщение отдельно

Старожил


Сообщения: 280
Благодарности: 72

Профиль | Отправить PM | Цитировать


Вот ваш отредактированный
Ваш вариант

Код: Выделить весь код
# Имя компьютера
$file="C:\temp\1.txt"
"Имя компьютера" |out-file $file
$systeminfo = Get-WmiObject -Class Win32_ComputerSystem
$name = '{0}.{1}' -f $systeminfo.DNSHostName, $systeminfo.Domain 
$name  |out-file $file -append
# Операционная система
"Операционная система" |out-file $file -append
$systeminfo = Get-CimInstance -ClassName Win32_OperatingSystem 
($systeminfo | fl Caption, InstallDate |Out-String).trim()|out-file $file -append
# Процессор
"Процессор"  |out-file $file -append
$cpuinfo = Get-CimInstance -ClassName CIM_Processor
($cpuinfo | fl Name, CurrentClockSpeed  |Out-String).trim()|out-file $file -append
# Оперативная память
"Оперативная память" |out-file $file -append
(Get-WMIObject -class win32_physicalmemory | 
Measure-Object -Property capacity -Sum | 
select @{N="Total Physical Ram"; E={[math]::round(($_.Sum / 1MB),2)}} | Out-String).trim() |out-file $file -append
# Свободное место на диске
"Свободное место на диске" |out-file $file -append
(Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" | Select DeviceID,@{Name="size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}},@{Name="freespace(GB)";Expression={"{0:N1}" -f($_.freespace/1gb)}} | Format-Table -AutoSize |Out-String).trim()|out-file $file -append

Добавляет он строчки из-за Format-List (fl). В вашем скрипте, просто сделал trim в каждом выводе.
Ну и так бонусом второй вариант

Еще вариант

Код: Выделить весь код
$file="C:\temp\2.txt"
$infoObject = New-Object PSObject
$OSInfo  = Get-WmiObject  Win32_OperatingSystem
$HOSTNAME = Get-WmiObject -Class Win32_ComputerSystem | select DNSHostName, Domain
$OS = Get-CimInstance -ClassName Win32_OperatingSystem  | select  Caption, InstallDate 
$CPU = Get-CimInstance -ClassName CIM_Processor | Select Name, CurrentClockSpeed
$RAM=Get-WMIObject -class win32_physicalmemory | Measure-Object -Property capacity -Sum | select @{N="Total Physical Ram"; E={[math]::round(($_.Sum / 1MB),2)}}
$HDDFree=Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" | Select DeviceID, FreeSpace, Size
 
Add-Member -inputObject $infoObject -memberType NoteProperty -name "Имя компьютера" -value ($HOSTNAME.DNSHostName+"."+$HOSTNAME.Domain).trim()
Add-Member -inputObject $infoObject -memberType NoteProperty -name "ОС" -value $OS.Caption
Add-Member -inputObject $infoObject -memberType NoteProperty -name "Дата установки ОС" -value $OS.InstallDate
Add-Member -inputObject $infoObject -memberType NoteProperty -name "Процессор" -value $CPU.Name
Add-Member -inputObject $infoObject -memberType NoteProperty -name "Частота процессора" -value $CPU.CurrentClockSpeed
Add-Member -inputObject $infoObject -memberType NoteProperty -name "Оперативная память" -value $RAM.'Total Physical Ram'

foreach ($HDD in $HDDFree )
{
  $Razdel=$HDD.DeviceID
  Add-Member -inputObject $infoObject -memberType NoteProperty -name "Свободное место раздела $Razdel"  -value  ([math]::Round(($HDD.FreeSpace)/1gb))
  Add-Member -inputObject $infoObject -memberType NoteProperty -name "Занятое место раздела $Razdel" -value ([math]::Round(($HDD.Size)/1gb))
}


($infoObject | fl * | Out-String).Trim() | out-file $file


Ну и отредактировал куда выводится результат в первом случае C:\temp\1.txt, во втором случае в C:\temp\2.txt

Последний раз редактировалось Molchune, 12-04-2019 в 16:17.


Отправлено: 11:09, 12-04-2019 | #2

Название темы: Данные о системе