Newsgroup: it.comp.lang.delphi
Titolo: Applicazioni remote

Sempre tornando al mio tormentone...
Ho disperato bisogno di informazioni per eseguire una delle 3 operazioni:
- Esecuzione di un eseguibile su computer remoto
- Installazione e messa in autoesecuzione di un EXE su pc remoto
- Pianificazione di un'operazione schedulata su pc remoto.
Messa così sembra che devo creare un virus ma vi assicuro che non devo fare 
niente di illegale. La necessità è quella di ricevere quante maggiori 
informazioni possibili su client che si trovano dislocati in svariati posti.
Premesso che non posso raggiungere in nessun modo il cliente se non tramite 
rete, quindi non posso installare software o eseguire installazioni di 
programmini vari tipo vnc ecc.. e non devo usare programmi di III parti tipo 
psexec.
Sono ben'accetti tutti i tipi di suggerimenti anche eventuali documentazioni 
sull'argomento visto che sui ng è abbastanza dibattuto ma non si trova una 
soluzione comprensibile (sicuramente anche a causa della mia scarsa 
esperienza in materia).
Grazie mille

Quello che mi viene in mente di primo acchito č
1 ) un activex che installa la tua applicazione sulla macchina remota
(logicamente deve essere aperto un link tramite explorer dal client)
2) la tua applicazione viene controllata tramite comunicazione tcp
(utilizzando magari i componenti indy idcmdclient/idcmdserver)
se poi vuoi qualche suggerimento in piů ... scrivi
ciao

 - Pianificazione di un'operazione schedulata su pc remoto.
Quello che chiedi, come avrai capito, non è facilissimo. In pratica tu 
vorresti fare un inventario in remoto, e come puoi vedere
http://www.google.it/search?q=network+inventory&start=0&ie=utf-8&hl=it
ci sono tanti programmi che lo fanno, ma la maggior parte sono a pagamento.
Il fatto è che questo è un argomento forse troppo ampio per essere 
discusso sul newsgroup.
Certo non è impossibile, ma IMHO devi valutare:
- se sei in grado di affrontare il problema
- se il gioco vale la candela, ossia se pensi che valga la pena 
buttartici piuttosto che comprare un prodotto già pronto
Tornando al tuo problema, io ho fatto una cosa del genere, appoggiandomi 
ad un db mysql e utilizzando un componente di terze parti che fa 
l'inventario, ma per eseguire l'exe ho utilizzato le policy di gruppo.
E' una soluzione che si può applicare alla tua situazione?
-- 
Jax


Se intendi le policy a livello di rete credo che non siano implementate.
Comunque fammi sapere ugualmente cosa hai fatto...
Grazie 


Dove posso trovare informazioni al riguardo
ciao 

 - Esecuzione di un eseguibile su computer remoto
Ti ho già risposto.
Ti ho consigliato un'utility free che fa esattamente questo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 -- 
Hai ragione infatti me lo ricordo...   ;)
Però nel messaggio ho poi scritto che non devo usare programmi di terze 
parti tipo psexec.
Mettiamola così non mi interessa tanto la soluzione quanto capirne il 
funzionamento.
Infatti cerco informazioni e documentazioni su queste procedure.
Grazie mille
Ciao 

 Comunque fammi sapere ugualmente cosa hai fatto...
Come ti ho anticipato, ho realizzato un programmino che, se lanciato in 
locale su un pc in rete, reperisce un bel po' di informazioni: cpu, 
scheda madre, memoria, sistema operativo, hard disk, programmi 
installati e altro, dopodiché li va a scrivere su un database mysql che 
gira su un server, indicizzato per indirizzo ip.
I problemi sono due:
- per reperire le informazioni di sistema utilizza un componente di 
terze parti, che oltretutto se non hai comprato i sorgenti ti mostra 
un'orrendo splash screen mentre analizza il sistema 
(
http://www.mitec.cz/
), ma magari ce ne sono altri free simili
- hai bisogno di un qualcosa per farlo girare sui pc che vuoi 
analizzare: io avevo quasi risolto usando i login script, ma siccome non 
tutti i miei pc sono sotto dominio, per molti ho semplicemente fatto 
girare il programma da una cartella condivisa sul server, in modo 
manuale (start/esegui).
Mi aggancio alla tua risposta ad Andrea: perché non vuoi usare psexec? 
Certo, è un programma di terze parti, ma è free e, a meno che qualcuno 
non vada a spulciare nella cartella di installazione, nessuno saprà mai 
che lo utilizzi.
Sinceramente non vedo nessun motivo valido di riscrivere un programma 
che -sicuramente- funzionerebbe peggio del psexec (quelli di 
SysInternals non sono buffoni).
-- 
Jax


Per far comunicare due PC in rete una delle vie piu' semplici e' di usare un 
MailSlot, ne trovi di pronti e free su Torry o siti analoghi tipo DSP o con 
Google.
Dal Locale invii un stringa di comando al Remoto che manda in esecuzione 
l'utility di raccolta infrmazioni che a sua volta spedisce i risultati al 
Locale.
Se preferisci l'utility puo' creare un file log in cartella condivisa o 
scrivere un database che leggi poi in locale.
Non vedo altre strade piu' semplici.
Ciao Giorgio 

 non sono buffoni).
Semplicemente perchè mi piacerebbe scoprire questa tecnologia, in genere le 
cose già fatte mi piacciono poco. Certo se il tutto diventa proibitivo a 
quel punto...
PsExec comunque mi da degli errori quando provo ad eseguire, ache perchè io 
vado ad eseguire un programma che si trova su una cartella di rete 
condivisa, proprio per non passare per tutti i client a copiare il 
programma.
Forse sbaglio la sintassi:
psexec \\ indirizzo ip \\ condivisione\nomeprogramma.exe

 -- 
Ho trovato la sintassi adatta per psexec,
come la lancio in delphi con shellexecute?
Ciao 

 funzionamento.
Se cerchi informazioni sul funzionamento di PsExec, vedrai che ti vengono
spiegati anche gli "internals".  Sostanzialmente quel programma contiene
un servizio vero e proprio come risorsa, lo estrae, lo installa
temporaneamente (usando la share Admin$) sulla macchina remota e ci
comunica.
