Что нового

Вытаскиваем uuid, версию биоса и тд. из cmd

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0
Всем привет! мне нужно проидентифицировать юзера на уникальность и решил смотреть на версию биоса, uuid и прочее, но как правильно вытащить из cmd не знаю. Прошу помочь :scratch: Команды в cmd и что нужно вытащить:
BLxsad5L.png
Что сделал:
Код:
$Handle = Run(@ComSpec & ' /c wmic csproduct get name,identifyingnumber,uuid', '', @SW_HIDE, 2)
    $read = ""
    Do
        $read &= StdoutRead($Handle)
    Until @error

Всем заранее спс! :IL_AutoIt_1:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
royalfint
Попробуйте так:
Код:
#include<Array.au3>

_ArrayDisplay(_GetSystemInfo())

Func _GetSystemInfo()

   Local $oScriptControl = ObjCreate('Scripting.Dictionary')
   If Not IsObj($oScriptControl) Then
	  Return SetError(1, 0, '')
   EndIf

   Local $oService = ObjGet('winmgmts:\\.\root\cimv2')

   If Not IsObj($oService) Then
	  Return SetError(2, 0, '')
   EndIf

   $oSystem = $oService.ExecQuery('SELECT * FROM Win32_ComputerSystemProduct')
   If Not IsObj($oSystem) Then
	 Return SetError(3, 0, '')
   EndIf

   For $Property In $oSystem
	  $oScriptControl.Add('IdentifyingNumber', $Property.IdentifyingNumber)
	  $oScriptControl.Add('Name', $Property.Name)
	  $oScriptControl.Add('SKUNumber', $Property.SKUNumber)
	  $oScriptControl.Add('UUID', $Property.UUID)
	  $oScriptControl.Add('Vendor', $Property.Vendor)
	  $oScriptControl.Add('Version', $Property.Version)
   Next

   $oBIOS = $oService.ExecQuery('SELECT * FROM Win32_BIOS')
   If Not IsObj($oBIOS) Then
	  Return SetError(4, 0, '')
   EndIf

   For $Property In $oBIOS
	  $oScriptControl.Add('IdentificationCode', $Property.IdentificationCode)
	  $oScriptControl.Add('Manufacturer', $Property.Manufacturer)
	  $oScriptControl.Add('Name', $Property.Name)
	  $oScriptControl.Add('SerialNumber', $Property.SerialNumber)
	  $oScriptControl.Add('SMBIOSMajorVersion', $Property.SMBIOSMajorVersion)
	  $oScriptControl.Add('SMBIOSMinorVersion', $Property.SMBIOSMinorVersion)
   Next

   $aRet = $oScriptControl.Items
   $oScriptControl = 0
   Return SetError(0, 0,  $aRet)
EndFunc ;==> _GetSystemInfo()
 
Автор
royalfint

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0
Верх