Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Orione
    Registrato dal
    Oct 2002
    Messaggi
    148

    [Windows Server 2019] Utente ed esecuzione file

    Ciao a tutti, mi succede una cosa molto strana, ho un eseguibile che se viene eseguito da cmd tutto funziona correttamente, ma se lo eseguo da servizio o se lo eseguo da task scheduler da un errore durante l'esecuzione. L'errore sembra che in queste circostanze, l'eseguibile non sia in grado di eseguire firefox.exe anche se viene eseguito come amministratore.

    La cosa che mi lascia molto perplesso è proprio la mia incapacità di capire perchè eseguito da cmd funziona ma in altri modi non c'è verso. Non ho più idee, ho dato i permessi a tutti i file e a tutte le cartelle coinvolte. Non ho una conoscenza avanzata dei server ma qualcuno ha qualche idee?

    Grazie mille a tutti

  2. #2
    loggati come amministratore e prova a lanciare firefox

  3. #3
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,521
    Quote Originariamente inviata da Orione Visualizza il messaggio
    Ciao a tutti, mi succede una cosa molto strana, ho un eseguibile che se viene eseguito da cmd tutto funziona correttamente, ma se lo eseguo da servizio o se lo eseguo da task scheduler da un errore durante l'esecuzione. L'errore sembra che in queste circostanze, l'eseguibile non sia in grado di eseguire firefox.exe anche se viene eseguito come amministratore.

    La cosa che mi lascia molto perplesso è proprio la mia incapacità di capire perchè eseguito da cmd funziona ma in altri modi non c'è verso. Non ho più idee, ho dato i permessi a tutti i file e a tutte le cartelle coinvolte. Non ho una conoscenza avanzata dei server ma qualcuno ha qualche idee?

    Grazie mille a tutti
    Ciao,
    Il motivo è semplice: non è possibile interagire con il desktop tramite un servizio di Windows per ovvi motivi. A meno che non autorizzi il servizio a farlo (apri il servizio e spunta l'opzione relativa). Il fatto che non possa utilizzare il task scheduler è scontato. Infatti queste sono pratiche atte a scavalcare questa protezione, ad esempio per tentare di lanciare un exe che interagisce con il desktop tramite l'utente connesso alla macchina (quello che poi eseguirà il task con le sue autorizzazioni). Non farlo, al 99% è una pratica per tentare di scavalcare le protezioni, e credo tu lo sappia.
    Ultima modifica di U235; 21-03-2023 a 16:19

  4. #4
    Utente di HTML.it L'avatar di Orione
    Registrato dal
    Oct 2002
    Messaggi
    148
    Ciao,
    il fatto di interagire con il desktop è una delle cose che ho letto più e più volte. Quello che mi lascia perplesso è il fatto di avere altri server (Windows server 2019) sparsi per il mondo che non presentano questo problema e tutti i software, installati sempre allo stesso modo, funzionano. Era una curiosità, alla fine ho modificato il codice del mio software e sono riuscito a farlo funzionare ugualmente.

    Grazie a tutti

  5. #5
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,521
    Ciao,
    la questione, come detto in precedenza, sta tutta nelle autorizzazioni date ed accesso all'interfaccia grafica. Di default i servizi di Windows girano con i permessi Local System o Network Service, che di base hanno un accesso molto ampio, praticamente paragonabile a quello dell’amministratore per molte cose, ma non hanno accesso all'utente che usa il desktop, a meno che non vengono attribuiti dei permessi appositi dall'amministratore di sistema. Il modo meno invasivo sarebbe quello di attribuire al singolo servizio il permesso di interagire col desktop, ma esistono molti modi per farlo, ad esempio puoi farlo girare con un utente specifico con permessi specifici, oppure attribuire permessi al gruppo a cui appartiene Local System o ad esso stesso ecc., questi ultimi in linea di principio… non ho testato come va in questi casi nello specifico sistema server 2019. In tutti questi casi, comunque, va sempre considerato il fatto che i servizi di Windows partono prima di qualsiasi accesso al desktop, sempre che ce ne sia uno, come ad esempio nel caso dei server che nella maggioranza dei casi non vengono quasi mai (o almeno non dovrebbero) aperti come utente desktop, quindi sarebbe illogico tentare di interagire con un desktop ed interfaccia grafica che non c’è. Per cui se non hai fatto (tu o comunque un amministratore legittimo) nessuna di queste modifiche alle autorizzazioni di gruppi o utenti specifici e riesci a lanciare un exe da servizio di Windows, ti dovresti preoccupare.
    Con questo spero di avere risposto alla tua curiosità, diversamente parliamone!
    Tu come hai risolto? Cosa intendi quando dici che hai modificato il software? Non usi più un servizio oppure hai fatto modifiche ai permessi?
    Ultima modifica di U235; 04-04-2023 a 12:14

  6. #6
    Utente di HTML.it L'avatar di Orione
    Registrato dal
    Oct 2002
    Messaggi
    148
    Ciao

    il mio programma semplicemente chiamava due eseguibili uno che creava dei PDF e un altro che mandava le mail con i PDF appena creati. Sfruttavo la creazione di queste due funzionalità (creazione pdf e invio mail) con due exe che già funzionavano.
    Il mio eseguibile quando partiva, al suo interno aveva la chiamata a questi due eseguibili. Se facevo funzionare tutto da CMD andava senza problemi, se viceversa chiamavo il mio software in altri modi, per esempio semplicemente facendo doppio click sul mio eseguibile, le due chiamate non le faceva semplicemente ignorava l'esecuzione del file exe che doveva fare l'operazione. Io per risolvere questo ho modificato il mio programma per creare internamente il PDF e spedire la mail senza l'utilizzo di software di terze parti.
    Ti faccio un altro esempio, eseguo una funzione che cliccando un bottone dovrebbe eseguire firefox.exe, se eseguo il programma da CMD, firefox si esegue se clicco sul bottone che ha il compito di eseguire un file exe, in questo caso firefox.exe, non mi apre nulla, non da errore e non cresha non ho errori negli eventi di sistema, sembra ignorare l'esecuzione degli exe se eseguiti da un altro exe.
    E' un casino lo so spero di essermi spiegato alla fine.

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,521
    In principio hai parlato di servizio di windows e task scheduler, e per quello hai dei problemi in più come spiegato in precedenza, per il CMD e il click probabilmente si tratta dello stesso, ovvero questioni di permessi. Ad esempio se avvii CMD come amministratore i tuoi eseguibili vengono eseguiti con quei permessi, con il click vengono invece eseguiti con i permessi dell'utente che li ha avviati. Questi possono riguardare diverse cose, tipo la posizione diversa nelle cartelle oppure il fatto che un determinato utente possa avere o no i permessi per accedere alla rete e cose simili, comunque problemi legati ai criteri di sicurezza stabiliti dall'amministratore. Oppure magari in alcuni potrebbero esserci dei sistemi di sicurezza euristici aggiuntivi e cose del genere. Potrebbero essere tanti i motivi, ma a prescindere da questo secondo me hai fatto bene a rendere tutto più compatto e meno dispersivo.


    edit: hai controllato nell’event viewer di windows per maggiori dettagli sull’errore?
    Ultima modifica di U235; 04-04-2023 a 17:48

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.