Что нового

Как узнать информацию на удаленном компьютере

eropov

Jury
Сообщения
195
Репутация
25
Здравствуйте. Есть удаленный компьютер (81.25.44.126;buh2;111). Как зайти на него по средствам AutoIT и узнать информацию о компьютере(железе), хотя бы о видеокарте.
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
У AutoIT нет средств для решения подобной задачи.
Код:
$res=''
$comp='.';сетевое имя компьютера, точка - локальный компьютер
$obj = ObjGet("WinMgmts:\\"&$comp&"\root\cimv2")
$que = $obj.ExecQuery("SELECT * FROM Win32_VideoController")
For $o in $que
$res&=$o.VideoModeDescription&'|'&$o.VideoProcessor&@CRLF
Next
MsgBox(0,'',$res)
 
Автор
E

eropov

Jury
Сообщения
195
Репутация
25
sngr
Скажите, а как в моем случае подключиться к удаленному рабочему столу, дабы использовать выше описанный вами код?
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
$comp='.';сетевое имя компьютера, точка - локальный компьютер
Какой рабочий стол? Если болтит вот вариант с юзером/паролем
Код:
$oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$user='';юзверь на удалённой машине
$pasw='';его пароль
$comp='';сетевое имя компьютера
$cre = ObjCreate("WbemScripting.SWbemLocator")
$obj=$cre.ConnectServer ($comp, "root\cimv2", $comp&"\"&$user, $pasw)
$obj.Security_.ImpersonationLevel = 3
$que = $obj.ExecQuery("SELECT * FROM Win32_VideoController")
$res=''
For $o in $que
$res&=$o.VideoModeDescription&'|'&$o.VideoProcessor&@CRLF
Next
MsgBox(0,'',$res)
$oMyError = 0
Func MyErrFunc()
    MsgBox(4096, "AutoItCOM Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
            "err.description is: " & @TAB & $oMyError.description & @CRLF & _
            "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
            "err.number is: " & @TAB & hex($oMyError.number, 8) & @CRLF & _
            "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
            "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
            "err.source is: " & @TAB & $oMyError.source & @CRLF & _
            "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
            "err.helpcontext is: " & @TAB & $oMyError.helpcontext)
    Exit 1
EndFunc
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
eropov
Если на локальном и удалённом компьютере есть администратор с одним и тем же именем и паролем, то практически любую информацию можно получить из удалённого реестра с помощью функции:

Код:
RegRead('\\COMPUTER1\KEY','VALUE')
 
Автор
E

eropov

Jury
Сообщения
195
Репутация
25
snoitaleR
eropov
Если на локальном и удалённом компьютере есть администратор с одним и тем же именем и паролем, то практически любую информацию можно получить из удалённого реестра с помощью функции:
К сожалению администратор и его пароль не совпадают на локальном и удаленном компьютере.

В качестве параметров использовал:
Код:
$user='administrator';юзверь на удалённой машине
$pasw='gfhjkm';его пароль
$comp='213.234.9.178';сетевое имя компьютера


В результате работы скрипта выпадает ошибка:
Код:
We intercepted a COM Error !

err.description is: 	Сервер RPC недоступен. 
err.windescription:	Сервер RPC недоступен.

err.number is: 	80020009
err.lastdllerror is: 	0
err.scriptline is: 	6
err.source is: 	SWbemLocator
err.helpfile is: 	
err.helpcontext is: 	0

Доступы верные, что не так?
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
$comp='213.234.9.178';сетевое имя компьютера
Где здесь написано вставить ip адресс? Сетевое или доменное имя здесь вероятно будет buh2.
Это полный список возвращаемых характеристик.
Код:
For $o in $que
$res&= "Adapter Compatibility: " & _
              $o.AdapterCompatibility & @crlf & _
   "Adapter DAC Type: " & _
              $o.AdapterDACType & @crlf & _
   "Adapter RAM: " & _
              $o.AdapterRAM & @crlf & _
   "Color Table Entries: " & _
              $o.ColorTableEntries & @crlf & _
   "Current Bits Per Pixel: " & _
              $o.CurrentBitsPerPixel & @crlf & _
   "Current Horizontal Resolution: " & _
              $o.CurrentHorizontalResolution & @crlf & _
   "Current Number Of Colors: " & _
              $o.CurrentNumberOfColors & @crlf & _
   "Current Refresh Rate: " & _
              $o.CurrentRefreshRate & @crlf & _
   "Current Refresh Rate: " & _
              $o.CurrentRefreshRate & @crlf & _
   "Current Vertical Resolution: " & _
              $o.CurrentVerticalResolution & @crlf & _
   "Description: " & _
              $o.Description & @crlf & _
   "Device ID: " & _
              $o.DeviceID & @crlf & _
   "Device Specific Pens: " & _
              $o.DeviceSpecificPens & @crlf & _
   "Driver Date: " & _
              $o.DriverDate & @crlf & _
   "Driver Version: " & _
              $o.DriverVersion & @crlf & _
   "INF Filename: " & _
              $o.InfFilename & @crlf & _
   "INF Section: " & _
              $o.InfSection & @crlf & _
   "Installed Display Drivers: " & _
              $o.InstalledDisplayDrivers & @crlf & _
   "Name: " & _
              $o.Name & @crlf & _
   "PNP Device ID: " & _
              $o.PNPDeviceID & @crlf & _
   "Specification Version: " & _
              $o.SpecificationVersion & @crlf & _
   "Video Architecture: " & _
              $o.VideoArchitecture & @crlf & _
   "Video Memory Type: " & _
              $o.VideoMemoryType & @crlf & _
   "Video Mode Description: " & _
              $o.VideoModeDescription & @crlf
Next
MsgBox(0,'',$res)
 
Автор
E

eropov

Jury
Сообщения
195
Репутация
25
sngr
Где здесь написано вставить ip адресс? Сетевое или доменное имя здесь вероятно будет buh2.

buh2 - это логин пользователя удаленного рабочего стола

И я не могу понять, как можно обратиться к компьютеру через интернет, по его имени. Это удаленный рабочий стол у него нет доменного имени, а сетевое разве не может повторяться? IP адрес, вот истинное имя компьютера в сети, ведь компы общаются посредством IP. Да и по имени ни как не обратиться, ведь это удаленный сервер и он не находится в моей локальной сети.
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
Код:
$obj=$cre.ConnectServer ($comp, "root\cimv2", $user, $pasw)

Эту строку замени - будет работать через ip.
 

darkwhite

Знающий
Сообщения
129
Репутация
5
а необходимо именно средствами autoit это сделать ?
 
Автор
E

eropov

Jury
Сообщения
195
Репутация
25
а необходимо именно средствами autoit это сделать ?
Желательно, но можно и на другом, допустим на СИ ;)

Мне просто нужно сделать прогу, которая будет брать файл с доступами к дедикам и возвращать о них информацию в лог файл. Я сомневаюсь, что информацию можно получить без логина и пароля, но если это возможно, то это в идеале, то что нужно)
 

darkwhite

Знающий
Сообщения
129
Репутация
5
вооот ;D это уже немного другая и более конкретная задача задача )
думаю без клиент серверной концепции здесь не обоитись но это ИМХО
и дедик что под виндой работает ??
 
Автор
E

eropov

Jury
Сообщения
195
Репутация
25
вооот это уже немного другая и более конкретная задача задача )
думаю без клиент серверной концепции здесь не обоитись но это ИМХО
и дедик что под виндой работает ??

Да, под виндой. Если прочитать всю тему от начала и до конца, то увидите доступы на 2 деда.
 

darkwhite

Знающий
Сообщения
129
Репутация
5
а у тебя порты нужные не закрыты )) ?
из локальной сети виден сервер ?
 
Автор
E

eropov

Jury
Сообщения
195
Репутация
25
а у тебя порты нужные не закрыты )) ?
из локальной сети виден сервер ?

Да порты наверно закрыты, из локальной сети сервер не виден. Хотелось бы, без муеты реализовать, просто коннектишься к деду и получаешь инфу.
 

darkwhite

Знающий
Сообщения
129
Репутация
5
так если закрыты то как же у тебя будет удаленно проходить запрос выше,
вот читай http://vbstreets.ru/VBdotNET/Articles/66380.aspx
что наджо открыть и пробуй код выше
 

Marselos

Новичок
Сообщения
26
Репутация
0
Autoit врядли что либо получится. он создан для эмуляции действий а не для взлома!!
 

darkwhite

Знающий
Сообщения
129
Репутация
5
о взломе никто и не говорит ) вы указываете имя и пароль значит вы его знаете
 
Верх