snorri
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 'получение имени машины strComputer = InputBox ("Введите имя или IP-адрес компьютера", "Запрос","") If strComputer= "" Then WScript.Quit 'объявление констант 'set constant Const ForReading = 1 Const ForWriting = 2 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_CURRENT_USER = &H80000001 ' указание папки для создания файла отчета ' set folder for generate report 'strPath = "d:\" strPath = InputBox ("Введите путь для сохранения файла", "Browse","") 'определение типа и параметров процессора '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 objTextFile.Close 'WScript.echo strInfo 'отправка почтой Set objEmail = CreateObject("CDO.Message") objEmail.From = "*@*" objEmail.To = "*@*" objEmail.Subject = "script result" objEmail.Textbody = strPCsFile objEmail.AddAttachment (strPath & strPCsFile) objEmail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objEmail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _ "*" objEmail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objEmail.Configuration.Fields.Update objEmail.Send WScript.Quit |