powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в серваке посмотреть конфиг рабочей машины?
10 сообщений из 10, страница 1 из 1
Как в серваке посмотреть конфиг рабочей машины?
    #38258859
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
процы \частоты
размер харда
размер оперативки

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259103
Константин Цветков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259142
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Цветков,

PowerShell:

Get-WmiObject Win32_Processor | Format-List *
Get-WmiObject Win32_PhysicalMemory | Format-List *
Get-WmiObject Win32_LogicalDisk | Format-List *
Get-WmiObject Win32_DiskDrive | Format-List *

Вместо * можете поставить то, что вам интересно... (Еще вместо Format-List можно использовать Select-Object например)
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259174
Змей Гарыныч.3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Цветков SpiceWorks
когда они по русски заговорят? :)
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259198
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

Msinfo32
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259521
Константин Цветков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Змей Гарыныч.3Константин Цветков SpiceWorks
когда они по русски заговорят? :)
http://community.spiceworks.com/regional/russian-federation
http://community.spiceworks.com/topic/252109-
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259522
Константин Цветков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchPowerShell: Get-WMIObject... И так для каждого компьютера из сотни, потом собрать всё это в БД (SQLite) и показать результаты с аналитической обработкой.
Так всё уже сделали за нас и раздают бесплатно.
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259596
AxuliON
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,
Была у меня на WSH
Пишет в Ёксель
Но можете для себя переделать как угодно
Тут сам принцип обращения к WMI классам важен
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Dim wshShell
Set WshShell = WScript.CreateObject("WScript.Shell")

Dim wmio
Dim tf
Dim printer_serial, printer_name, printer_ip, monitor_diag,  monitor_model, monitor_serial, EDID, user_name, serial, compname, product_name, short_info, part_number, network_name, domain, mac, ip, subnet, gate, bios, strBIOS, os, ram, hdd, proc_freq, cd, uuid, n_proc, n_ram, n_hdd
compname = "."
short_info = ""
part_number = ""
network_name = ""
mac = ""
ip = ""
subnet = ""
gate = ""
bios = ""
strBIOS = ""
os = ""
ram = 0
hdd = 0
proc_freq = 0
cd = ""
uuid = ""
n_proc = 0
n_ram = 0
n_hdd = 0

If Not fso.FileExists("KE.xls") then
	WScript.Echo "Где файл KE.xls?!"
	WScript.Quit
End If

Set wmio = GetObject("WinMgmts:{impersonationLevel=impersonate}!\\" & compname & "\Root\CIMV2")

Set colItems = wmio.ExecQuery("Select * from Win32_BaseBoard")
For Each objItem In colItems
    short_info = objItem.Manufacturer & " " & objItem.Product
    part_number = objItem.SerialNumber
Next

Dim nwo, comp
Set nwo = CreateObject("WScript.Network")
comp = LCase(nwo.ComputerName)

Set colItems = wmio.ExecQuery("Select * from Win32_ComputerSystem")
For Each objItem In colItems
    network_name = objItem.Name
    domain = objItem.domain
Next
Set colItems = wmio.ExecQuery("Select * from Win32_NetworkAdapter where NetConnectionStatus > 0 AND NOT (Name LIKE 'VMware%')")
For Each objItem In colItems
    mac = mac + objItem.MACAddress + " "
Next

Set colAdapters = wmio.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

For Each objAdapter in colAdapters
   If Not IsNull(objAdapter.IPAddress) Then
      For i = 0 To UBound(objAdapter.IPAddress)
         ip = ip + objAdapter.IPAddress(i) + " " 
      Next
   End If
 
   If Not IsNull(objAdapter.IPSubnet) Then
      For i = 0 To UBound(objAdapter.IPSubnet)
         subnet = subnet + objAdapter.IPSubnet(i) + " "
      Next
   End If
 
   If Not IsNull(objAdapter.DefaultIPGateway) Then
      For i = 0 To UBound(objAdapter.DefaultIPGateway)
         gate = gate + objAdapter.DefaultIPGateway(i) + " "
      Next
   End If

Next

Set colItems = wmio.ExecQuery("Select * from Win32_BIOS")
For Each objItem In colItems
    bios = objItem.Manufacturer
    bios = bios+ " "+objItem.Name
    bios = bios+ " "+objItem.SMBIOSBIOSVersion
    bios = bios+ " "+objItem.SerialNumber
    bios = bios+ " "+objItem.Version
Next
Set colItems = wmio.ExecQuery("Select * from Win32_ComputerSystemProduct")
For Each objItem In colItems
    strBIOS = objItem.uuid
    product_name = objItem.Name
Next
uuid = Mid(strBIOS, 7, 2) + Mid(strBIOS, 5, 2) + Mid(strBIOS, 3, 2) + Mid(strBIOS, 1, 2) + "-" + _
    Mid(strBIOS, 12, 2) + Mid(strBIOS, 10, 2) + "-" + Mid(strBIOS, 17, 2) + Mid(strBIOS, 15, 2) + _
    Right(strBIOS, 18)
Set colItems = wmio.ExecQuery("Select * from Win32_OperatingSystem")
For Each objItem In colItems
    os = objItem.Caption & " " & objItem.Version
Next
Set colItems = wmio.ExecQuery("Select * from Win32_PhysicalMemory")
For Each objItem In colItems
    ram = ram + objItem.Capacity
    n_ram = n_ram + 1
Next
Set colItems = wmio.ExecQuery("Select * from Win32_CDROMDrive")
For Each objItem In colItems
    cd = objItem.Name
Next
Set colItems = wmio.ExecQuery("Select * from Win32_Processor")
For Each objItem In colItems
    proc_freq = objItem.CurrentClockSpeed
    n_proc = n_proc + 1
Next
Set colItems = wmio.ExecQuery("Select * from Win32_DiskDrive where InterfaceType <> 'USB'")
For Each objItem In colItems
    hdd = hdd + objItem.Size
    n_hdd = n_hdd + 1
Next

Set colItems = wmio.ExecQuery("Select * from Win32_SystemEnclosure")
For Each objItem In colItems
    serial = objItem.SerialNumber    
Next

Set colItems = wmio.ExecQuery("Select * from Win32_NetworkLoginProfile")
For Each objItem In colItems
    if Not IsNULL(objItem.FullName) AND objItem.FullName <> "" AND objItem.FullName <> "null" Then
        user_name = objItem.FullName
    End If
Next


Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
If Err.Number <> 0 Then
	WScript.Echo Err.Number & ": " & Err.Description
	WScript.Quit
End If


For Each objMon In objService.ExecQuery("SELECT * FROM Win32_DesktopMonitor")
	'WScript.Echo "PNPDeviceID "+CSTR(objMon.PNPDeviceID)
	On Error Resume Next
	EDID=WshShell.RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\" & objMon.PNPDeviceID & "\Device Parameters\EDID" )
	IF EDID(0)=0 AND EDID(1)=255 AND EDID(2)=255 AND EDID(3)=255 AND EDID(4)=255 AND EDID(5)=255 AND EDID(6)=255 AND EDID(7)=0 THEN
		Get_Monitor_Serial_Number
		Get_Monitor_Name
	END IF
	Dim digits
	monitor_diag=""
	digits=0
	FOR i = 1 to LEN(monitor_model) 
	IF ISNUMERIC(mid(monitor_model,i, 1)) THEN
		IF digits = 0 AND CINT(mid(monitor_model,i, 1))<>0 AND CINT(mid(monitor_model,i, 1))>2 THEN
			monitor_diag = "1" & mid(monitor_model,i, 1)
			digits = 2
		END IF
		IF CINT(mid(monitor_model,i, 1))<>0 AND digits<2 THEN
			monitor_diag = monitor_diag & mid(monitor_model,i, 1)
			digits = digits+1
		END IF		
	END IF
	NEXT
	'WScript.Echo "Диагональ=" & CStr(monitor_diag) & " Модель " & monitor_model
Next

'Set colItems = wmio.ExecQuery("Select * from Win32_Printer where (Local = True OR Network = False) AND (PortName LIKE '%USB%' OR PortName LIKE '%LPT%')",,48)
'Set colItems = wmio.ExecQuery("Select * from Win32_Printer where (Local = True OR Network = False)",,48)
Set colItems = wmio.ExecQuery("Select * from Win32_Printer",,48)
For Each objItem in colItems
	IF objItem.Default THEN
		printer_name = objItem.DriverName
		IF objItem.Network THEN
			printer_ip = objItem.ServerName
		END IF
		IF objItem.Local THEN
			printer_ip = objItem.PortNmae
		END IF
		printer_serial = objItem.PNPDeviceID				
	END IF
Next

If fso.FileExists(comp + ".xls") then
	fso.DeleteFile comp & ".xls"
end if
fso.GetFile("KE.xls").Copy comp & ".xls"

'Set WshShell = CreateObject("WScript.Shell") 
Set ms = CreateObject("Scripting.FileSystemObject") 

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(ms.GetParentFolderName(WScript.ScriptFullName)+"\"+comp+".xls")

Dim filial

if CStr(domain) = "vas.ru" then
	filial = "VAS"
elseif CStr(domain) = "das.ru" then
	filial = "DAS"
else
	filial = "Не определен"
end if

ram = CStr(Round(ram / 1024 ^ 2))
hdd = CStr(Round(hdd / 1024 ^ 3))
if product_name = "System Product Name" then
	product_name = short_info
end if
if serial = "Chassis Serial Number" then
	serial = part_number
end if




objWorkbook.CheckCompatibility = False
objExcel.Cells(6,2).Value = filial

objExcel.Cells(12,2).Value = product_name

objExcel.Cells(22,2).Value = network_name
objExcel.Cells(23,2).Value = ip
objExcel.Cells(24,2).Value = subnet
objExcel.Cells(25,2).Value = gate
objExcel.Cells(26,2).Value = mac

objExcel.Cells(31,2).Value = bios
objExcel.Cells(32,2).Value = os
objExcel.Cells(34,2).Value = CSTr(ram) + " Мб"
objExcel.Cells(35,2).Value = CSTr(hdd) + " Гб"
objExcel.Cells(36,2).Value = CStr(proc_freq) + " МГц"

objExcel.Cells(48,2).Value = user_name

objExcel.Cells(57,2).Value = monitor_model
objExcel.Cells(58,2).Value = monitor_serial
objExcel.Cells(59,2).Value = monitor_diag

objExcel.Cells(61,2).Value = printer_name
objExcel.Cells(62,2).Value = printer_ip
objExcel.Cells(63,2).Value = printer_serial



objExcel.Cells(5,4).Value = serial
objExcel.Cells(31,4).Value = cd
objExcel.Cells(32,4).Value = uuid
objExcel.Cells(34,4).Value = CSTr(n_proc)
objExcel.Cells(35,4).Value = CSTr(n_ram)
objExcel.Cells(36,4).Value = CStr(n_hdd)


objWorkbook.Close 1
'objExcel.DefaultSaveFormat = 56
'objExcel.Save true
objExcel.Quit




'Set tf = fso.CreateTextFile(comp & ".txt", True)
'tf.WriteLine ("Домен: " & domain)
'tf.WriteLine ("Сетевое имя: " & comp)
'tf.WriteLine ("Краткая инфо: " & short_info)
'tf.WriteLine ("Артикул: " & part_number)
'tf.WriteLine ("Имя компьютера: " & network_name)
'tf.WriteLine ("MAC: " & mac)
'tf.WriteLine ("IP: " & ip)
'tf.WriteLine ("SUBNET: " & subnet)
'tf.WriteLine ("GATE: " & gate)
'tf.WriteLine ("БИОС: " & bios)
'tf.WriteLine ("ОС: " & os)
'ram = CStr(Round(ram / 1024 ^ 2))
'tf.WriteLine ("Память: " & ram)
'hdd = CStr(Round(hdd / 1024 ^ 3))
'tf.WriteLine ("Винты: " & hdd)
'tf.WriteLine ("Частота: " & proc_freq)
'tf.WriteLine ("CD: " & cd)
'tf.WriteLine ("BIOS-UUID: " & uuid)
'tf.WriteLine ("Процессоров: " & n_proc)
'tf.WriteLine ("Планок памяти: " & n_ram)
'tf.WriteLine ("Винтов: " & n_hdd)
'tf.WriteLine ("Серийный номер: " & serial)
'tf.WriteLine ("Продукт: " & product_name)
'tf.WriteLine ("Усер!: " & user_name)'=

'tf.Close
MsgBox "Отчет сохранен в файл:" & vbCrLf & comp & ".xls", vbInformation, "Готово!"



Sub Get_Monitor_Serial_Number
sernumstr=""
sernum=0
for i=0 to ubound(EDID)-4
  if EDID(i)=0 AND EDID(i+1)=0 AND EDID(i+2)=0 AND EDID(i+3)=255 AND EDID(i+4)=0 Then
     if sernum<>0 then 
		WScript.ECHO "a second serial number has been found!"
	suspicious=1
     end if
     sernum=i+4
  end if
next
if sernum<>0 then
   endstr=0
   sernumstr=""
   for i=1 to 13
     if EDID(sernum+i)=10 then endstr=1
        if endstr=0 then sernumstr=sernumstr & chr(EDID(sernum+i))
   next
   monitor_serial = sernumstr
 else
   sernumstr=""   
end if
End Sub
'-------------------------------------------------------------------------
Sub Get_Monitor_Name
name=0
for i=0 to ubound(EDID)-4
  if EDID(i)=0 AND EDID(i+1)=0 AND EDID(i+2)=252 AND EDID(i+3)=0 Then
     if name<>0 then 
	suspicious=1
     end if
     name=i+3
  end if
next
if name<>0 then
   endstr=0
   namestr=""
   for i=1 to 13
     if EDID(name+i)=10 then endstr=1
	if endstr=0 then namestr=namestr & chr(EDID(name+i))
   next
   monitor_model = namestr   
else
   namestr=""   
end if
End Sub
'-------------------------------------------------------------------------
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38259845
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Цветков,

Что мешает на PowerShell такой скрипт написать?)
...
Рейтинг: 0 / 0
Как в серваке посмотреть конфиг рабочей машины?
    #38261047
Константин Цветков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchЧто мешает на PowerShell такой скрипт написать?) Философский вопрос — начнём переписывать готовые программы, напишем свой Офис, потом операционную систему.
Если нужно один раз посмотреть что-то одно , то можно и скрипт. Если много раз многое используем программы готовые и пишем сами. Так вот просто :-)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в серваке посмотреть конфиг рабочей машины?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]