Скрипт Powershell для инвентаризации (просмотра «железа» и параметров) удаленных компьютеров по сети

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

 Естественно, такие методы не годятся, и мы ищем способ решить задачу без неприятных недостатков. Воспользуемся встроенными в операционную систему 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

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *