Существует целый ряд программ, позволяющих собрать сведения об удалённом компьютере, о его аппаратном обеспечении. Но у этих программ, как правило, есть один неприятный недостаток - за них надо платить деньги.

 Естественно, такие методы не годятся, и мы ищем способ решить задачу без неприятных недостатков. Воспользуемся встроенными в операционную систему Windows инструментами: Powershell и systeminfo.exe

Скрипт выглядит так:

 
  1. function Get-SystemInfo   
  2. {   
  3.   param($ComputerName = $env:ComputerName)   
  4.     
  5.       $header = 'Hostname','OSName','OSVersion','OSManufacturer','OSConfig','Buildtype''RegisteredOwner','RegisteredOrganization','ProductID','InstallDate''StartTime','Manufacturer','Model','Type','Processor','BIOSVersion''WindowsFolder' ,'SystemFolder','StartDevice','Culture''UICulture''TimeZone','PhysicalMemory''AvailablePhysicalMemory' , 'MaxVirtualMemory''AvailableVirtualMemory','UsedVirtualMemory','PagingFile','Domain' ,'LogonServer','Hotfix','NetworkAdapter'   
  6.       systeminfo.exe /FO CSV /S $ComputerName |    
  7.             Select-Object -Skip 1 |    
  8.             ConvertFrom-CSV -Header $header   
  9. }   

Далее остаётся только вызвать функцию, указав имя компьютера

  1. Get-SystemInfo -ComputerName <computername>  

Отчёт получается таким:

PowerShell

 

Есть и другой способ - использовать для отчета WMI объекты.

При использовании данного способа отчёт получается таким:

PowerShell

 Если в отчёте неправильно отображается текст, то, возможно, причина в кодировке. В таком случае можно воспользоваться конвертером.

Источник скрипта: technet.microsoft.com