Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите разоьраться с ф-ей

1.7K
26 июля 2006 года
alektrik
140 / / 16.01.2006
Есть такая функция LookupAccountName... можно-ли с помощью нее узнать кто залогинен на удаленной машине? если нет, то с помощью чего можно это сделать?
354
27 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Может это то что ты ищешь? ;-)))
1.7K
27 июля 2006 года
alektrik
140 / / 16.01.2006
Почти... я не совсем правильно поставил вопрос... каюсь... надо узнать кто залогинен в данный момент на удаленной машине...
p.s. система с одним доменом
1.7K
27 июля 2006 года
alektrik
140 / / 16.01.2006
надо типа GetUserName... тока удаленно...
была мысля написать такую систему клиент-сервер... например на удаленную тачку ставится софтина (сервер по сути), к нему с админской машины (клиент) поступают запросы на необходимую инфу... а сервер собсно гря возвращает эту самую инфу... но опять же, вопрос как??? я в жизни этим не занимался... это по моему из серии RPC или как?
354
27 июля 2006 года
ШпиЁн
468 / / 19.02.2006
так... вот тебе примерчик, котрый выдает список залогиненых юзеров на удаленной машине.

Насчет твоего клиента-сервера ;-) для начала перечисли что ты узнавать собрался, можно кое-что узнать просто по сети, не ставя всякие софтинки ;-) Перечисли что ты ХОЧЕШЬ узнать.
1.7K
27 июля 2006 года
alektrik
140 / / 16.01.2006
хе-хе... из серии "пользуемся MSDN'ом, люди!!!"... я тоже хотел, тока не мог придумать запрос... ;-P
Не плохо было бы еще:
1) узнать какие приложения запущены
2) как заблокировать машину... причём, что-б разблокировать мог тока админ <- (это сааамое главное)
вроде все...
1.7K
27 июля 2006 года
alektrik
140 / / 16.01.2006
кстати у тя чё-нть типа аську случаем... моя - 258464925...
354
27 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Получить список процессов можно многими способами :-))) через
NtQuerySystemInformation например, как это делает наш любимый виндовский Диспетчер Задач :-)

Можно проще, я использую EnumProcesses, примерчик во вложении :-)))

Насчет разблокирования-заблокирования можно подробнее? ;-)) как именно? чтоб Окно Входа в Систему высветить, или что покруче, типа своего собственного? может, как в компьютерных клубах - блокировка/разблокировка по сети, так? :о)

Я не спец, тока начинающий, на 4 курс перешел, но помочь МОГУ и буду РАД! :-)))
1.7K
27 июля 2006 года
alektrik
140 / / 16.01.2006
Ну я в принципе тоже на 4-ом курсе, тока я немного в другом понимаю... администрирование не для меня... стандартное в принципе можно, тока надо, что-б снять блокировку мог ТОЛЬКО админ... я так еще подумал и одна ну просто очень замечательная идея родилась!!! а вот и она: удаленно отключать глобальную учетную запись юзера... кстати на счет NetWkstaUserEnum, самое первое имя в списке она возвращает "PC-HOME$"... так вот это имя моего, компа... это случайно так получилось, то что это первое имя или так задумано??? если не так то надо еще узнать имя удаленного компа... и чисто теоретически если указать в имени сервера имя локальной машины, то ф-я должна подгребсти те же записи, что и при NULL... почему она этого не делает??? у меня ща просто сетки нет под рукой, а надо бы проверить прогу... чё-т я разошолся ;-P
1.7K
27 июля 2006 года
alektrik
140 / / 16.01.2006
кстати... процессы с удаленной машины надо...
354
28 июля 2006 года
ШпиЁн
468 / / 19.02.2006
насчет процессов с удаленной машины... все так муторно и сложно, что проще написать сетевого клиента запущенного ТАМ, который присылает нам все ;-) Тем более что для блокировки компа клиента все равно писать надо :о) Кстати есть варианты как машину наглухо залочить? ;) LockWorkStation - вроде может особо не парясь... Но если пользователь знает пасс, тогда дело пропало.:( У меня есть парочка нестандартных вариантов, но это такой изврат, что страшно вслух произносить....
1.7K
28 июля 2006 года
alektrik
140 / / 16.01.2006
кстати... сегодня поставил VMWare, сделал виртуальную сеть без доменов... машины (вирт. и реальная) друг друга видят прекрасно, файлы перекидывают и всё такое... так вот... та прога которая должна возвращать юзеров с удал. машины нифига не возвращает, хотя если с локальной машины, то всё норма... я думаю мож то что домена нет... это из соображений комментария к проге:
//Only members of the Administrators local group
//can successfully execute NetWkstaUserEnum
//locally and on a remote server.
а у тебя есть соображения по этому поводу?
354
28 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Ну, соображения есть всегда.. :-))) только они неправильные могут быть.
Предлагаю выход из всей этой дребедени - проги-клиенты собирают инфу(если локально - то NetWkstaUserEnum прокатывает, можно потом полученные данные просто переслать по сети) и блокируют систему если надо. Прога-сервак ими управляет, собирает всю эту инфу. Это будет ГОРАЗДО проще, чем собирать всякую информацию с компов удаленно(мозг аж вскипит, пока разберусь с привелегиями и др.) :-)))
354
28 июля 2006 года
ШпиЁн
468 / / 19.02.2006
а насчет:
//Only members of the Administrators local group
//can successfully execute NetWkstaUserEnum
//locally and on a remote server.
ну я перевожу это так: "только члены локльной группы Администраторы могут удачно выполнить NetWkstaUserEnum локально или на удаленном сервере". :-))) домены тут врядли имели в виду....
1.7K
28 июля 2006 года
alektrik
140 / / 16.01.2006
Ну с англ. у меня всё в порядке в принципе...
Я про то что само по себе слово "УДАЛЕННОМ", говорит про то что "администраторы локальных групп сервера", то биш domain'овские админы... по моему так... ну это уже я так понял не важно... пришли к тому, что я хотел в самом начале... тута появляется вопрос - как??? я тока поверхностно знаю как пишутся все эти клиенты, серверы... но думаю неплохо было бы написать клиента (то что НЕ на сервере) в виде службы... и неплохо было-бы поговорить в реал-тамйме (тобишь аська, mail agent...)
354
28 июля 2006 года
ШпиЁн
468 / / 19.02.2006
насчет реалтайма - сорри, пока не могу, с асей не все благополучно;-)))

А насчет клиента- сервера - вот тебе самый простенький примерчик на WinAPI, просто строчку туда-сюда отсылает... Короч, разберешься, там два раза надо запустить, тока галки Client Server поставить самому надо.
Переделывать влом пример было, как скачал - так и отсылаю...

P.S. Службы я писать пробовал, вроде бы они даже работали! (чудеса просто %) ), могу пример скинуть если надо... Если время будет(завтра например) и те оч. надо - могу клиента в виде службы сам забубенить ради интереса... :-)))
1.7K
28 июля 2006 года
alektrik
140 / / 16.01.2006
я как-раз написал, службу которя работает с LPT портом, а потом переделал ее под драйвер... писал на masm'e... весело-то было... ну это так маленькое лирическое отступление... =) а от службы не откажусь... ;-)
1.7K
28 июля 2006 года
alektrik
140 / / 16.01.2006
кстати... вообще я пишу на C# (недавно перешел с С++)... так вот исходник не хочет никуда коннектиться... на C# нашел тоже примерчик, примерно такую-же бадягу тока под консолью... и там тоже не хочет коннектится, грит Connection Refused... тобишь моя тачка никого не пускает, уже все (один) брандмауэры повырубал... кучу портов пререпробывал (даже 80-ый не катит!!!) нифига!!! прям ХЗ что млин =(((
354
28 июля 2006 года
ШпиЁн
468 / / 19.02.2006
ну дык есть два способа - бить в шаманский бубен, приплясывая перед компом и ждать что само поправится - это раз :-)))
два - юзать С++ =) У меня книжка когда-то была по С#, но я так и не начал им заниматься серьезно.... не понравилось что куча dll'ок проги за собой тянут... вникать не стал - забил! =)

Завтра вечерком службу нарисую, время выкроил уже =)
1.7K
29 июля 2006 года
alektrik
140 / / 16.01.2006
вроде всё норма, та прога была тока клиентом, коннектится некуда было вот и гнала... терь хотя-бы не службу, а так чот-б на экране и таскбаре не светилась... тока в пущай будет трее например... а на счет C# никаких dll'ок проги за собой не тянут (за исключением .NET Framework =) )...
354
29 июля 2006 года
ШпиЁн
468 / / 19.02.2006
[QUOTE=alektrik]а на счет C# никаких dll'ок проги за собой не тянут (за исключением .NET Framework =) )...[/QUOTE]

mscoree или что-то типа того :-)))

Насчет системных служб: они тока в диспетчере задач будут палиться, с пометочкой SYSTEM. Никакого интерфейса кроме редких MessageBox не будет :-))) Лень делать.
1.7K
29 июля 2006 года
alektrik
140 / / 16.01.2006
можно... а вот лучше вариант - трей... щелк - вылетает инфа всякая... настройки всякие под паролем (типа где сервак, порт и т.д.) по моему (не знаю) это будет гораздо проще сделать... воть...
354
29 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Э-э-э... Я сделаю так вначале. Служба-клиент запущена на всех компах.
Админская прога на одном компе, в ней список всех машин, небольшой интерфейс. В прогах клиентах не нужно вводить адрес главного компа, они просто СЛУШАЮТ порт. Поэтому интерфейс не нужен. Кстати, я где-то в MSDN прочел что в сервисах нельзя сделать человеческий интерфейс..., а ладно, видно будет :-)))) щас кодить начну.
1.7K
29 июля 2006 года
alektrik
140 / / 16.01.2006
а ну да... на счет адресса админ. компа чё-т погнал... давай парень, вперед!!! я верю в тебя!!! :-D
841
29 июля 2006 года
_nic
199 / / 29.07.2006
Плииз кто нибудь напишите действующий рабочий пример RegSetKeyValue(C++) , сколько раз не пытался компилятор ругается:"Call to undefined function"
1.7K
29 июля 2006 года
alektrik
140 / / 16.01.2006
Вырезка из MSDN:
Requirements:
Client Requires Windows XP, Windows 2000 Professional, or Windows NT Workstation 3.1 and later.
Server Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 3.1 and later.
Header Declared in Winreg.h; include Windows.h.

Library Link to Advapi32.lib.

DLL Requires Advapi32.dll.

пример честно гря оочень влом ща писать... тем более ты не очень в тему а так если компилятор ругается до добавь: #include <windows.h>
=)
а если линкер (Build) ругается, то: #pragma comment(lib, "advapi32.lib")

но у меня всё прекрасно сработало и без #pragma...
354
29 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Так. Я скидываю пока просто набросок. Пока еще не служба, просто два приложения. Проверь, работает ли у тебя(у меня работает :-))) )
Если все нормаль - то либо поздней ночью либо днем завтра скину саму службу(клиент щас в виде простой exe, не успел переделать)

Проверь вначале локально!
Запусти client.exe, это приложение должно работать на компах-клиентах.
Интерфейса у него нет, и быть не должно.

Далее, запусти admin.exe - там надо ввести адрес - там введен 127.0.0.1 по умолчанию(попробуй так) Нажми "подключить". Дальше все просто и ясно. У тебя есть виртуальная машина, тестани там, у меня щас локалка закрыта.

:-))))
354
29 июля 2006 года
ШпиЁн
468 / / 19.02.2006
[QUOTE=_nic]Плииз кто нибудь напишите действующий рабочий пример RegSetKeyValue(C++) , сколько раз не пытался компилятор ругается:"Call to undefined function"[/QUOTE]

Хе хе.. :-))) какая забавная функция! ЕЕ НЕТ В ПРИРОДЕ! есть RegSetValue.

 
Код:
HKEY key;
DWORD value = 7;
RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\SuperProgram", &key);
RegSetValueEx(key, "DWORD Value Sample", 0, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
RegCloseKey(key);


Это работает. :о)
841
30 июля 2006 года
_nic
199 / / 29.07.2006
[QUOTE=ШпиЁн]Хе хе.. :-))) какая забавная функция! ЕЕ НЕТ В ПРИРОДЕ! есть RegSetValue.

[/QUOTE]
приогромное спасибо.
Насчет того что нет в природе ;)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regsetkeyvalue.asp
354
30 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Мдааа... я тупею день ото дня :-))) что делать? как быть? кто виноват? наверное, проблема в ДНК.

Я имел в виду в ХР нету. Оказалось что RegSetKeyValue есть в Vista. под Висту еще не кодил :-))))
1.7K
30 июля 2006 года
alektrik
140 / / 16.01.2006
чё-т меня пугает почуть эта Виста... требования у нее прикольные =)
короче... пробовал на локальной всё норма... на удаленной - админ не может приконектится... кстати я уже почти всё сам накатал на C# правда... пока правда почуть глючно, но работает... терь остается гл. задача - подгребсти всё и передать =) а на счет службы можно и дописать - мне будет sampl'oм... вдруг еще захочу клиента на NT перенести... а там ведь 2-ой framework не поставишь... =)
354
30 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Хм... я на локалке проверил. Ноут и моя машина - все прекрасно работает! если есть firewall - client.exe надо допустить действовать сервером! и всякие брандмауэры надо отрубить - проверь - у меня работает. :-))))

Так. теперь насчет службы - я соорудил. Распакуй архивчик, тока потом устанавливай. Сервис надо устанавливать(можно потом и снести).
в папке bin лежит installer.exe, прямо из этой папки с командной строки запусти "installer.exe /install" - сервис установится, client.exe должен лежать в этой же папке(лучше сам положи его в C:\WINDOWS\system32). Проверишь на вкладке Manage->Services and Applications->Services(у меня англ. виндовс ;о)) появится NetClient Service. Служба написана не особо, времени не было рехтовать ее...
Но работает! :-) чтобы установить службу нужны привеллегии админа.
Тип запуска службы стоит manual, но в исходниках installer.exe посмотришь как поменять на автозагрузку службы. Проверь локально вначале... поотрубай всякие брандмауэры и т.д.

еще одна фишка... удаленная перезагрузка... :-))))
1.7K
30 июля 2006 года
alektrik
140 / / 16.01.2006
Да вроде работает... тока меня интересует еще одна вещь... например... комп. включен, но в логоффе... если админская прога захочет узнать имя компа, то её пошлют куда подальше так же??? ведь еще ничего не запущено или как??? так вот как можно убрать этот "глюк"???
354
30 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Хм... сервис работает под аккаунтом SYSTEM, и собстна, грузится до всяких юзеров.... вроде бы так. По крайней мере моя прога выдавала список процессов на удаленном компе, а на этом компе было тока окно выбора пользователя при старте винды. =)

Я проверял в сетке.

Прога заработала на удаленном компе? firewall'ы ее гасят...
354
30 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Насчет имени пользователя... там было только первое имя(имя машины), начинающиеся с $... вот у меня и высветило $FLINT.
1.7K
31 июля 2006 года
alektrik
140 / / 16.01.2006
work it!!! брандм... мешал =)
дальше сам пойду надеюсь... =)
354
31 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Ну ды можно конечно написать волшебную библиотечку чтобы брандмауэр даже не знал об client.exe :-)))) уже даже готовый примерчик есть как firewall обойти... если надо - могу скинуть..
1.7K
31 июля 2006 года
alektrik
140 / / 16.01.2006
давай мне как почти начинаещему винд.-прогеру пригодится всё...
354
31 июля 2006 года
ШпиЁн
468 / / 19.02.2006
Лови :-)))) в статье все написано.... жаль что клиента для обхода firewall'a надо оформлять в виде dll.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог