Существует целый ряд программ, позволяющих собрать сведения об удалённом компьютере, о его аппаратном обеспечении. Но у этих программ, как правило, есть один неприятный недостаток - за них надо платить деньги.
Естественно, такие методы не годятся, и мы ищем способ решить задачу без неприятных недостатков. Воспользуемся встроенными в операционную систему Windows инструментами: Powershell и systeminfo.exe
Скрипт выглядит так:
- function Get-SystemInfo
- {
- param($ComputerName = $env:ComputerName)
- $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'
- systeminfo.exe /FO CSV /S $ComputerName |
- Select-Object -Skip 1 |
- ConvertFrom-CSV -Header $header
- }
Далее остаётся только вызвать функцию, указав имя компьютера
- Get-SystemInfo -ComputerName <computername>
Отчёт получается таким:
Есть и другой способ - использовать для отчета WMI объекты.
При использовании данного способа отчёт получается таким:
Если в отчёте неправильно отображается текст, то, возможно, причина в кодировке. В таком случае можно воспользоваться конвертером.
Источник скрипта: technet.microsoft.com