ТурАгенство Акватория - доверьте свой отпуск нам!
Логин:

Пароль:
на главную страницурусский    englishнаписать письмо
Некоторые люди любят все, что делают, даже если делают то, что не любят.
Богуслав Войнар

Некоторые прилады для работы


Титульная

Денисовы


Работа


Основная работа
Частная практика
Резюме
Сертификаты
Писанина

Увлечения



Фотографии



Интернет


ШЛЮЗОВОЙ!
(экскурсия)
Самое-самое
(Чуть о природе)
Cтраничка`97
(оставлена на память)


40103370



Получение информации о железе компа.

В своей работе часто приходится сталкиваться с мелкими проблемами, которые создают нам пользователи. Иногда диву даешься, как они ухитряются это делать, пытаешься повторить - ну никак, никак не получается. Вот и приходится зачастую решать совсем уж необычные вещи. Каждый из нас привык пользоваться для их решения своими любимыми инструментами, но иногда ничего подходящего под рукой не оказывается. И приходится выкручиваться длинными обходными путями, или топать ножками к пользователю и там уже разбираться, что не так.

Сталкиваясь каждый раз с новыми задачами, мы ищем и новые инструменты, или придумываем сами решения на следующий раз. Вот одна из задач, с которой наверняка сталкивается каждый администратор, это получение информации о составляющих и настройках компьютера. Быстрый путь к этой информации предоставляет нам WMI. Чрезвычайно мощная вещь, и похоже ужасно перспективная, в последнее время продвигается все активнее и предоставляя нам все больше возможностей. Маленький кусочек ее использования - пример скриптов для получения информации об основном состоянии компьютера пользователя.

Чтобы быстро получить информацию о текущем состоянии железа компьютера.

Скрипт, которые я использую в таких случаях, я привожу ниже. Он небольшой, и лежит под рукой с прописаным путем. Вот маленькие комментарии. В начале скрипта возникает окно ввода имени компьютера. При пустом вводе подразумевается текущий компьютер.

Далее происходит сбор информации через WMI об основных компонентах, она собирается в строковую переменную, которая и выводится на экран в виде информационного окна. Сам скрипт, как вы видите, предельно прост и в использовании, и в написании. Если у кого есть необходимость, можно эту информацию записывать в выходной файл, добавив в конец всего несколько строк. У меня такой необходимости нет, данный скрипт используется только для сиюминутного получения результата. Постоянная информация собирается другим способом в базу данных.

On Error Resume Next
' скрипт сделан 12.05.2003
' Денисов Виктор, Тольятти, v-vag@mail.ru.

Input = InputBox("Введите имя компьютера:" ,_
"Отображение информации о железе : Ввод имени компьютера.")
If Input = "" Then
strComputer = "."
Dim WSHNetwork
Set WSHNetwork = WScript.CreateObject("WScript.Network")
strComput = WSHNetwork.Computername
Else
strComputer = Input
strComput = strComputer
End If

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\"_
& strcomputer & "\root\cimv2")
'----------------------------------- Processor - hardware
strproc = ""
Set colSettings = objWMIService.ExecQuery("Select * from Win32_Processor")
For Each objProcessor in colSettings
strproc = strproc & "CpuName: " & vbTab & trim(objProcessor.Name) & vbNewLine & "Description: " & vbTab & trim(objProcessor.Description) & vbNewLine & "Socket: " & trim(objProcessor.SocketDesignation) & vbTab & "MaxClock: " & trim(objProcessor.MaxClockSpeed) & vbTab & "CurrentClock: " & trim(objProcessor.CurrentClockSpeed) & vbTab & "ExtClock: " & trim(objProcessor.ExtClock) & vbTab & "L2cachesize: " & trim(objProcessor.L2cachesize) & vbTab & "l2cachespeed: " & trim(objProcessor.l2cachespeed) & vbNewLine & vbNewLine
Next
'----------------------------------- PhysicalMemory - hardware
strRam = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory",,48)
For Each objItem in colItems
strRam = strRam & "Capacity: " & objItem.Capacity & vbTab & "BankLabel: " & objItem.BankLabel & vbTab & "DeviceLocator: " & objItem.DeviceLocator & vbTab & "MemoryType: " & objItem.MemoryType & vbTab & "TotalWidth: " & objItem.TotalWidth & vbTab & "TypeDetail: " & objItem.TypeDetail & vbNewLine
Next
strRam = strRam & vbNewLine
'----------------------------------- Disk - hardware
strhard = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive",,48)
For Each objItem in colItems

Set colItems2 = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia",,48)
For Each objItem2 in colItems2
If objItem2.Tag = objItem.DeviceId Then
strserial = objItem2.SerialNumber
Else
End If
Next

strhard = strhard & "Model: " & vbTab & objItem.Model & vbTab & "SerialNumber: " & vbTab & strserial & vbNewLine & "size: " & vbTab & objItem.Size & vbTab & "TotalCylinders: " & objItem.TotalCylinders & vbTab & "TotalHeads: " & objItem.TotalHeads & vbTab & "TotalSectors: " & objItem.TotalSectors & vbTab & "TotalTracks: " & objItem.TotalTracks & vbTab & "TracksPerCylinder: " & objItem.TracksPerCylinder & vbNewLine & vbNewLine
Next
'----------------------------------- cdrom - hardware
strcdrom = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive",,48)
For Each objItem in colItems
strcdrom = strcdrom & "CDROM: " & objItem.Name & vbNewLine
Next
strcdrom = strcdrom & vbNewLine
'----------------------------------- Floppy - hardware
strflop = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_FloppyDrive",,48)
For Each objItem in colItems
strflop = strflop & "Floppy: " & objItem.Name & vbNewLine & vbNewLine
Next
'----------------------------------- sound - hardware
strsound = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_SoundDevice",,48)
For Each objItem in colItems
strsound = strsound & "soundManufacturer: " & objItem.Manufacturer & "soundName: " & objItem.Name & vbNewLine
Next
strsound = strsound & vbNewLine
'----------------------------------- video - hardware
strvideo = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController",,48)
For Each objItem in colItems
strvideo = strvideo & "VideoName: " & objItem.Name & vbNewLine & "VideoProcessor: " & objItem.VideoProcessor & vbNewLine & "AdapterRAM: " & objItem.AdapterRAM & vbTab & "VideoModeDescription: " & objItem.VideoModeDescription & vbTab & "CurrentRefreshRate: " & objItem.CurrentRefreshRate & vbNewLine & "InstalledDisplayDrivers: " & objItem.InstalledDisplayDrivers & vbTab & "DriverVersion: " & objItem.DriverVersion & vbNewLine & vbNewLine
Next
'----------------------------------- network - hardware
strnet = ""
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48)
For Each objItem in colItems
If objItem.MACAddress <> "" and instr(Lcase(objItem.ProductName), "wan") = 0 and instr(Lcase(objItem.ProductName), "ras") = 0 and instr(Lcase(objItem.ProductName), "порт") = 0 and instr(Lcase(objItem.ProductName), "direct") = 0 then
strnet = strnet & "netname: " & objItem.ProductName & vbTab & vbTab & "macaddress: " & objItem.MACAddress & vbNewLine
Else
End if
Next
strnet = strnet & vbNewLine

Wscript.Echo "На компьютере """ & strComput & """ установлено:" & vbNewLine & vbNewLine & vbTab & "Процессор:" & vbNewLine & strproc & vbTab & "Озу: " & vbNewLine & strRam & vbTab & "Hard:" & vbNewLine & strhard & vbTab & "cdrom: " & vbNewLine & strcdrom & vbTab & "floppy: " & vbNewLine & strflop & vbTab & "Sound: " & vbNewLine & strsound & vbTab & "Video: " & vbNewLine & strvideo & vbTab & "Net: " & vbNewLine & strnet

wscript.quit


Магазин Суперстрой в Тольятти
 
 


Денисов Виктор. 1997-2026.