[ chips @ 30.10.2003. 21:48 ] @
ExitwindowsEx(EWX_SHUTDOWN,0); ... ovo gasi racunar.
Zeleo bih da sa jednog racunara, kroz lokalnu mrezu, ugasim jedan od racunara pomocu TCP/IP protokola.
Koje komponente u Dephi-ju treba koristiti? (za tako nesto).

Unapred hvala
[ morlic @ 30.10.2003. 22:54 ] @
Najbolje je da koristis Indy komponente za mrezu, i to UDP server i UDP klijent. Sa servera saljes npr. tekst a klijent na osnovu teksta uradi sta treba. To znaci da klijent treba da radi u pozadini na udaljenom racunaru.
[ silverglider @ 31.10.2003. 13:59 ] @
Valjda obratno? UDP server cuci na udaljenom racunari i "listenuje" na odredjenom portu. Sa svojeg racunara putem udp clienta posaljes telegramcic, uradi se eventualno filtriranje IP adrese (da se limitira sa kog racunara sme da se gasi) i okida shutdown.

Mada je u principu moguce sve uraditi i sa dva udp klijenta.

P.S.
Imas vec gotove alate za udaljenu administraciju koji ti lepo rade u mrezi, a izmedju ostalog omogucavaju remote shutdown.
[ morlic @ 31.10.2003. 14:07 ] @
U pravu si, greska. UDP server ide na udaljeni racunar. Ovo za gotove alate si u pravi, ali ovo je lepa stvar za vezbanje :)
[ nikola.j @ 31.10.2003. 19:52 ] @
Citat:
chips:
ExitwindowsEx(EWX_SHUTDOWN,0); ... ovo gasi racunar.
Zeleo bih da sa jednog racunara, kroz lokalnu mrezu, ugasim jedan od racunara pomocu TCP/IP protokola.
Koje komponente u Dephi-ju treba koristiti? (za tako nesto).

Unapred hvala


Postoji (bar u D7) funkcija InitiateSystemShutdown kojoj možeš da pošalješ ime mašine koju da ugasi.
[ chips @ 10.11.2003. 07:24 ] @
Napisao sam sledece:
InitiateSystemShutdown(LPTSTR('ime racunara'),LPTSTR('poruka'),5,true,false);

Ovo radi samo na NT platformama, a na 10 winXP home Edition umrezenih uspeo sam da ugasim samo svoju masinu sa ovim programcicem. Verovatno nisam umeo da zadam pravilno ime masine u komsiluku.

Na Delphiu 7 nisam nasao paletu (bar) koja ima gotovu komponentu za ovakvo nesto, pa ako Nikoli nije tesko da mi napise tacno koja je to paleta i koja komponenta i kako se instalira.
Unapred hvala.

Sa Mikijevim resenjem sa UDP komponentama nisam makao od pocetka.
Napravim obrasce postavim komponentu i sta sada?
Kako podesim polja u pregledu komponente i sta koje polje znaci?

Pozdrav i hvala.
[ morlic @ 10.11.2003. 09:48 ] @
Za gasenje udaljene masine treba ti privilegija SE_REMOTE_SHUTDOWN_NAME.

Za Indy komponente imas primere na

http://www.nevrona.com/indy

[ nikola.j @ 10.11.2003. 10:30 ] @
Citat:
chips:
Napisao sam sledece:
InitiateSystemShutdown(LPTSTR('ime racunara'),LPTSTR('poruka'),5,true,false);


Nisam isprobavao, već imam par primera na datu temu. Ako hoćeš, piši mi na jankoni na sezamu (@sezampro.yu) da ti pošaljem.

Citat:

Na Delphiu 7 nisam nasao paletu (bar) koja ima gotovu komponentu za ovakvo nesto, pa ako Nikoli nije tesko da mi napise tacno koja je to paleta i koja komponenta i kako se instalira.


Nema komponente. U Delphi 7 funkcija čak nije ni dokumentovana. Doduše, ko je pogledao help od D7, neće ga ni začuditi Zato ne mogu ni da proverim za koje sisteme je namenjena.
[ chips @ 10.11.2003. 12:07 ] @
Dali to znaci da treba da napisem klijentski programcic koji je uvek aktivan na racunaru u komsiluku i da ovoj privilegiji SE_REMOTE_SHUTDOWN_NAME
nekako dodelim ime servra???
[ morlic @ 11.11.2003. 19:07 ] @
Ne, ne, ne sinak, gresis. Ako pises gore pomenuti UDP programcic onda ti na klijent masini treba samo privilegija za gasenje lokalnog racunara jer ga gasi program sa lokalnog racunara. Ako ides preko Windows-owog sistema za udaljeno gasenje onda ti treba pomenuta privilegija za gasenje udaljenog sistema.


InitiateSystemShutdown() - mozes da gasis udaljen racunar. Na udaljenom racunaru moras da imas privilegiju za tu radnju (SE_REMOTE_SHUTDOWN_NAME ). Tu privilegiju na udaljenom sistemu daje administrator tog sistema. Za detalje konsultuj MSDN.