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

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

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

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

  1. function Get-SystemInfo
  2. {
  3.   param($ComputerName = $env:ComputerName)
  4.       $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’
  5.       systeminfo.exe /FO CSV /S $ComputerName |
  6.             Select-Object -Skip 1 |
  7.             ConvertFrom-CSV -Header $header
  8. }

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

  1. Get-SystemInfo -ComputerName <computername>

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

PowerShell

 

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

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

PowerShell

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

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

Комментарии

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

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