Canali
![]() Ultime news
![]() Ultimi articoli
![]() Le ultime dal Forum |
![]() Trasformare file batch in eseguibili e avviare programmi come amministratore20/01/2010 - A cura di
![]() Correlati
![]() TagPassa qui con il mouse e visualizza le istruzioni per utilizzare i tag! Un esempio pratico: "Windows Update fai da te."Per darvi un idea pratica di quello che si può realizzare con Bat to Exe vi spiego quello che ho dovuto affrontare. Il servizio di distribuzione centralizzato degli aggiornamenti di Windows dei PC che mi trovo ad assistere, provocava dei fortissimi rallentamenti ai computer rendendo impossibile il loro utilizzo per parecchie ore. Gli amministratori di rete, per motivi troppo lunghi da spiegarvi, decidono di disabilitare il servizio lasciando a me il compito di distribuire gli aggiornamenti su 160 computer. Dopo alcune prove riesco ad aggirare il problema creando tre eseguibili. Alcune delle soluzioni adottate sono state scelte a causa delle limitazioni imposte al tipo di utenza utilizzata per accedere alla rete, in altri ambienti e con meno limiti si potrebbe fare in maniera diversa. Copia.exeIl primo file, copiato su tutti i computer, conteneva queste righe di comando.
La terza riga del file si occupa di controllare se sul disco di rete N, nella cartella patch, esiste il file Installa.exe. Se lo trova, si sposta all'etichetta :copia ed inizia a copiare i file sul disco locale del computer da aggiornare. In seguito manda in esecuzione il file installa.exe che prosegue l'installazione delle patch. Se sul disco di rete non è presente il file installa.exe, ci si sposta all'etichetta :esci e il programma si chiude. L'eseguibile è stato compilato con Bat to Exe lasciandolo visibile, perché è stato scelto di avviarlo tramite icona posizionata sul desktop e volevo evitare che l'utente ci cliccasse sopra troppe volte. In questo modo si apre la console di comando del file per alcuni secondi e visualizza solo la scritta Aggiornamento pc in corso. Poi si chiude la schermata e l'installazione prosegue in maniera completamente invisibile. È possibile anche mettere il file in esecuzione automatica, oppure se l'utente ha i permessi adeguati, far eseguire il file all'accensione o allo spegnimento del PC. Installa.exeQuesto file deve contenere la password dell'amministratore locale del computer e avviare il file che gestisce la vera installazione delle patch
Patch.exeL'ultimo file è stato il più complicato da realizzare, anche a causa delle limitazioni imposte agli utenti di rete. Mi serviva avere una sorta di report di fine installazione direttamente sul mio computer di rete, non riuscendo dal file batch a scrivere sul disco di rete N: visto in precedenza. Per fare questo uso il comando net use, che si vede nella seconda riga del file, per mappare dal riga di comando una cartella condivisa del mio PC dove ho dato i permessi di scrittura solo al mio utente. Importante è inserire il nome del dominio, l'utenza di rete e la password utilizzata per accedere alla rete. Nella terza riga c'è la verifica della presenza di un file di controllo utilizzato per impedire di rifare l'installazione delle patch. Se trova il file nella cartella scelta, l'esecuzione dei comandi si sposta all'etichetta :exit1 e abbandona l'installazione, se il file di controllo non è presente va a :copia1 e inizia l'installazione. Potete utilizzare lo stesso metodo anche per copiare dei file come vedete nella quinta riga: l'opzione /y finale serve per sovrascrivere eventuali file presenti che abbiano lo stesso nome senza richiedere conferma all'utente. Sempre dallo stesso file si possono aggiungere delle chiavi di registro, come vedete nella sesta riga. Dalla settima riga comincia l'elenco delle patch da installare: le opzioni finali servono per impedire al PC di riavviarsi dopo l'installazione (/z), installare le patch automaticamente (/m), installarle senza intervento da parte dell'utente (/q). Alcuni tipi di patch, per esempio mi è capitato l'aggiornamento di Net Framework, potrebbero richiedere delle opzioni diverse. Per scoprirle, basta che da Start - Esegui selezioniate l'eseguibile della patch aggiungendo, in fondo al comando, uno spazio e l'opzione /? così da visualizzare tutte le possibili opzioni previste per quel file. Con l'ottava riga copiamo il file di controllo nella cartella che abbiamo scelto in modo da impedire di rilanciare l'installazione delle patch. Nella nona riga faccio creare una cartella nel mio PC che ha il nome %computername% del PC su cui sono state installate le patch. Ho scelto di fare in questo modo perché la copia di un file che aveva nel nome la variabile %computername% non me la lasciava fare e mi chiedeva sempre la conferma della copia. La decima riga chiude la connessione alla cartella condivisa e disconnette il disco Z. La riga seguente cancella il contenuto della cartella contenente le patch, tranne il file patch.exe perché è in uso, se decidete di tenerlo come file di comandi (magari perché eseguite gli aggiornamenti allo shutdown del PC) viene cancellato pure questo.
I primi due file sono stati fatti per rimanere sempre uguali, a meno che non cambi la password di amministratore. L'unico a cambiare ogni mese è l'ultimo file che contiene la lista delle patch da installare. Seguendo lo stesso metodo si possono forzare le modifiche ad alcune configurazioni, come le stampanti di default: basta un unico file in esecuzione automatica che inserisca le chiavi di registro delle stampanti giuste con il comando c:\windows\Regedit.exe /s Chiavi_Registro.reg. ![]() Trasformare file batch in eseguibili e avviare programmi come amministratore Segnala ad un amico |
© Copyright 2025 BlazeMedia srl - P. IVA 14742231005