purebasic.info

PureBasic forum
Текущее время: Чт дек 12, 2019 4:36 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 11:22 am 
Не в сети
профессор

Зарегистрирован: Вс авг 31, 2014 12:11 am
Сообщений: 470
Благодарил (а): 51 раз.
Поблагодарили: 21 раз.
Пункты репутации: 10
Всем, привет.
Вопрос в названии темы. Допустим заведомо известно, что на удалённой машине установлена Windows, но какой версии? Есть ли возможность достоверно это узнать? Самое простое, что здесь видится, это использовать утилиту PsExec от Марка Руссиновича. Ну и собственно выполнить скрипт с единствееной командой ver. Хотелось бы обойтись только средствами PB. Кто что думает/знает по этому поводу?
Встечалась инф-я про ping(TTL=), но это такая чушь...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 12:11 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Ср июн 18, 2014 6:34 pm
Сообщений: 180
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Утилиты Руссиновича это исполняемые файлы, а они скриптов не выполняют.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 12:13 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 341
Благодарил (а): 14 раз.
Поблагодарили: 41 раз.
Пункты репутации: 2
OSVersion() не подходит? Можно через командную строку глянуть systeminfo.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 3:31 pm 
Не в сети
профессор

Зарегистрирован: Вс авг 31, 2014 12:11 am
Сообщений: 470
Благодарил (а): 51 раз.
Поблагодарили: 21 раз.
Пункты репутации: 10
Дегтярёв, ошибаетесь. Да, это исполняемые файлы, но при помощи вышеуказанной утилиты я спокойно могу запустить/выполнить на удалённой машине свой bat/vbs скрипт.

repeat, ну конечно не подходит. Ведь OSVersion() только для локальной машины. А мне надо так: я запускаю программу на своём ПК и передаю ей (каким образом - не суть) имя ПК, который в сети (LAN). И программа возвращает мне версию ОС, что установлена на удалённом ПК.
Цитата:
Можно через командную строку глянуть systeminfo.

Избыточно, но спасибо. Что-то я действительно упёрся в ver, а про systeminfo забыл совсем. Вижу заветный ключик /S. Надо будет попробовать позже. Ещё раз спасибо.

Есть ещё nmap. Но это получается очень мудрено.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 4:22 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Ср июн 18, 2014 6:34 pm
Сообщений: 180
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
knower, я не ошибаюсь.
Если вы пуриком запустите батник, то, записанный в батнике "скрипт", будет выполнять CMD.EXE.
Если вы пуриком запустите VBS, то этим вы запустите WScript.exe, который обработает скрипт и выполнит сценарий.
Во всех указанных случаях, никаких скриптов пурик выполнять не будет.
И вообще, имейте в виду, что батник это не скрипт, а набор команд для командной строки.
Называть батник скриптом это непонимание его сущности.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 4:35 pm 
Не в сети
профессор

Зарегистрирован: Чт сен 22, 2011 6:21 pm
Сообщений: 295
Благодарил (а): 44 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
Чем не угодил стандартный метод? (OSVersion()).
Можно и в реестре взять.
Код:
1
2
3
4
5
6
7
8
9
Procedure.s MyGetReg(Reg,Branch$,Key$)  ;читаем реестр
  Protected Size=#MAX_PATH, Var$=Space(Size), HKey
  If RegOpenKeyEx_(Reg,Branch$,0,#KEY_READ,@HKey)=0
    RegQueryValueEx_(HKey,Key$,0,0,@Var$,@Size)
    RegCloseKey_(HKey)
  EndIf
  ProcedureReturn Trim(Var$)
EndProcedure
Debug MyGetReg(#HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","ProductName")



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Пн ноя 25, 2019 4:56 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11551
Благодарил (а): 4 раз.
Поблагодарили: 476 раз.
Kuzmat писал(а):
Чем не угодил стандартный метод?
Думаю из названия темы понятно что информацию нужно получить из компа подключенного по сети.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Вт ноя 26, 2019 8:29 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Ср июн 18, 2014 6:34 pm
Сообщений: 180
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
knower писал(а):
А мне надо так: я запускаю программу на своём ПК и передаю ей (каким образом - не суть) имя ПК, который в сети (LAN). И программа возвращает мне версию ОС, что установлена на удалённом ПК.

То, что "вам надо так", это уголовное преступление, возвращать вам версию ОС чужого компьютера.

Статья 272 УК РФ. Неправомерный доступ к компьютерной информации (действующая редакция)
1. Неправомерный доступ к охраняемой законом компьютерной информации, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации, -


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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Определить ОС на удалённом ПК
СообщениеДобавлено: Вт ноя 26, 2019 10:47 am 
Не в сети
профессор

Зарегистрирован: Вс авг 31, 2014 12:11 am
Сообщений: 470
Благодарил (а): 51 раз.
Поблагодарили: 21 раз.
Пункты репутации: 10
Пётр
Цитата:
Думаю из названия темы понятно что информацию нужно получить из компа подключенного по сети.

Именно так.

repeat
Цитата:
Можно через командную строку глянуть systeminfo.

Да, это работает. Спасибо!
Было бы замечательно если эта команда также определяла MACOS и Linux. Ещё одно неудобство - это необходимость в файле-списке, где будут записаны имена всех хостов и соответствующие им учётные данные. Неужели это такая сверхсекретная информация? Без паролей узнать под чем сидит клиент.

Дегтярёв
Цитата:
Называть батник скриптом это непонимание его сущности.

Не собираюсь тут спорить с вами. Только для информации. Ну и пара цитат оттуда:
Цитата:
Пакетный файл — аналог скриптовых файлов командной строки (shell script) в Unix-подобных операционных системах.

Цитата:
Пакетный файл
Расширение - .bat
Тип формата - Скриптовый язык программирования

Цитата:
Статья 272 УК РФ

Просто вам не видна вся картина. Оттого и пишете здесь такое, вместо помощи. К этой сети у меня есть доступ (при необходимости). И мне прекрасно известна каждая машина в ней, включая информацию об установленных ОС. А получение версии ОС программным способом мне понадобилось в самых мирных целях. Хотел переписать одну свою давнюю программу, привести её к надлежащему виду. Чтобы было как по науке. В связи с чем возникла необходимость использовать некоторую API ф-ю. НО... у неё есть ограничения по установленной ОС. Вот и всё, что могу сказать по этому поводу.
Дальнейшее обсуждение здесь считаю нецелесообразным, так как не удалось заставить нормально работать вышеуказанную ф-ю (не заполняется интересующее поле структуры). Хотя она оформлена по всем канонам MS.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB