rosalin
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 'для получения имени машины раскоментировать строку strComputer = "." 'объявление констант 'set constant Const ForReading = 1 Const ForWriting = 2 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_CURRENT_USER = &H80000001 ' указание папки для создания файла отчета ' set folder for generate report strPath = "u:\Report\" 'определение типа и параметров процессора 'get processor properties Set objFSO = CreateObject("Scripting.FileSystemObject") Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor") strInfo="Параметры процессора (процессоров)" strInfo=strInfo + vbCrLf+ "====================" For Each objItem in colItems strInfo=strInfo + vbCrLf+ "Производитель: " & objItem.Manufacturer strInfo=strInfo + vbCrLf+ "Модель: " & objItem.Name Next strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "" 'определение видеоадаптера и параметров видеоотображения 'get video properties Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_DisplayControllerConfiguration") For Each objItem in colItems strInfo=strInfo + vbCrLf+ "Видеопараметры" strInfo=strInfo + vbCrLf+ "====================" strInfo=strInfo + vbCrLf+ "Модель видеокарты: " & objItem.Name 'strInfo=strInfo + vbCrLf+ "Setting ID: " & objItem.SettingID strInfo=strInfo + vbCrLf+ "Видеорежим: " & objItem.VideoMode Next strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "" 'определение сетевых параметров 'get network properties Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration") strInfo=strInfo + vbCrLf+ "Оборудование доступа к сети" strInfo=strInfo + vbCrLf+ "====================" For Each objItem in colItems If objItem.DNSHostName <> "" then strInfo=strInfo + vbCrLf+ "Модель: " & objItem.Caption 'strInfo=strInfo + vbCrLf+ "Default IP Gateway: " & objItem.DefaultIPGateway strInfo=strInfo + vbCrLf+ "Имя в сети: " & objItem.DNSHostName 'strInfo=strInfo + vbCrLf+ "IP Address: " & objItem.IPAddress strInfo=strInfo + vbCrLf+ "MAC адрес сетевой карты: " & objItem.MACAddress End if strPC1 = objItem.DNSHostName Next strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "" 'определение параметров жестких и сменных дисков 'get drive disk properties Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive",,48) strInfo=strInfo + vbCrLf+ "Постоянные и сменные носители информации" strInfo=strInfo + vbCrLf+ "====================" For Each objItem in colItems strInfo=strInfo + vbCrLf+ "Название: " & objItem.Description strInfo=strInfo + vbCrLf+ "Модель: " & objItem.Caption strInfo=strInfo + vbCrLf+ "Количество логических разделов: " & objItem.Partitions strInfo=strInfo + vbCrLf+ "Общий размер: " & Round (objItem.Size/1000/1000) & "Mb" strInfo=strInfo + vbCrLf+ "" Next strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "" 'определение объема оперативной памяти и информации о пользователе 'get RAM memory properties and user account Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48) For Each objItem in colItems strUName = Right(objItem.UserName,6) strInfo=strInfo + vbCrLf+ "Оперативная память" strInfo=strInfo + vbCrLf+ "====================" strInfo=strInfo + vbCrLf+ "Общее количество оперативной памяти: " & Round (objItem.TotalPhysicalMemory/1024/1024) & "Mb" strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "Информация о пользователе" strInfo=strInfo + vbCrLf+ "====================" strInfo=strInfo + vbCrLf+ "PrimaryOwnerName: " & objItem.PrimaryOwnerName strInfo=strInfo + vbCrLf+ "Полное имя пользователя: " & objItem.UserName strInfo=strInfo + vbCrLf+ "" Next strInfo=strInfo + vbCrLf+ "" strInfo=strInfo + vbCrLf+ "" 'получение списка ПО 'get PC's software Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv") strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall" oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys strInfo=strInfo + vbCrLf+ "Список установленного ПО" strInfo=strInfo + vbCrLf+ "====================" For Each subkey In arrSubKeys If Left (subkey,1) <> "{" and Right (subkey,1) <> "}" Then strInfo=strInfo + vbCrLf+ subkey End If Next 'запись собранной информации в файл 'write properties in report file Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv") strKeyPath = "SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName\" strValueName = "ComputerName" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue strPC1 = strValue strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" strValueName = "DefaultUserName" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue strUName = strValue strPCsFile= strPC1 & "_" & strUName &".txt" 'WScript.Echo strUName Set objTextFile = objFSO.OpenTextFile(strPath & strPCsFile, ForWriting, True) objTextFile.WriteLine strInfo 'WScript.echo strInfo WScript.Quit |