PDA

View Full Version : Prompt comandi - funzione IF


Baboo85
17-06-2016, 09:27
Ciao a tutti,

sto sviluppando un file BAT (che trasformerò poi in EXE) per rimuovere una policy di sicurezza aziendale. Questa policy blocca l'esecuzione di file EXE nella cartella Temp degli utenti, policy inserita a seguito di 2 attacchi consecutivi di Conficker sui nostri server.

Pero' per gli utenti con privilegi di admin che vanno spesso in trasferta, questa policy e' fastidiosa. La soluzione e' rimuoverla localmente in modo temporaneo.

Quello che mi serve e' cercare di limitare a determinati nomi utenti e nomi pc l'esecuzione di questo programma.
Per il nome utente non e' un problema essendo fisso. Esempio:
IF /i %USERNAME% EQU mario.rossi GOTO RUN1

la stessa cosa la vorrei fare per i %COMPUTERNAME% peccato pero' che questi pc cambiano nome iniziale quando vengolo sostituiti o formattati. Esempio:
NB-MROSSI
NB2-MROSSI

e cosi' via.

sarebbe bello poter inserire qualcosa del tipo:
IF /i %COMPUTERNAME% EQU *rossi GOTO RUN1

cosi' da restringere il campo solo ai nomi pc che finiscono per il cognome dell'utente.

Non c'e' alcun modo per sistemare questa cosa, ovvero sostituire i primi caratteri con qualcosa di generico?

Dumah Brazorf
17-06-2016, 10:14
Prova costì:

http://stackoverflow.com/questions/7005951/batch-file-find-if-substring-is-in-string-not-in-a-file

Altrimenti, sapendo che la stringa deve finire con il testo che ti interessa, potresti contare quante lettere è lungo il testo, fare il substring della stringa alle ultime x lettere e confrontare il risultato.
Però occorre stare attenti alle stringhe più corte della lunghezza del testo, occorre fare un ulteriore controllo prima del substring.

Baboo85
17-06-2016, 10:30
Prova costì:

http://stackoverflow.com/questions/7005951/batch-file-find-if-substring-is-in-string-not-in-a-file

Altrimenti, sapendo che la stringa deve finire con il testo che ti interessa, potresti contare quante lettere è lungo il testo, fare il substring della stringa alle ultime x lettere e confrontare il risultato.
Però occorre stare attenti alle stringhe più corte della lunghezza del testo, occorre fare un ulteriore controllo prima del substring.

Grazie :) alla prossima versione o quando ho tempo la provo.

Al momento per "far prima" ho inserito a mano tutti i nomi pc e i nomi utenti da inserire.
Sembra lungo ma con excel e notepad ho fatto in fretta.