Pagina 1 di 1

[VB script] popup per inserire manualmente una variabile

Inviato: mar ott 14, 2014 3:49 pm
da Al3x
Cerco di spiegare la cosa nella maniera più chiara possibile.
Ho uno script batch che serve per installare da remoto dei package MSI. All'interno del batch ho definito una variabile che corrisponde al nome del computer in modo da poter lanciare da riga di comando qualcosa simile a:

Codice: Seleziona tutto

c:\>setup\flash.cmd computer1
dove flash.cmd è il batch che contiene la variabile, mentre computer1 è il nome del pc remoto in cui installare il programma.

La mia esigenza pratica è quella di avere uno script vbs che evochi una textbox dove inserire il nome computer (la variabile) e che, senza dover accedere per forza alla riga di comando, si prenda carico di passare il dato quando lancia il batch

spero si capisca

Re: [VB script] popup per inserire manualmente una variabile

Inviato: mar ott 14, 2014 3:53 pm
da Al3x
dimenticavo, questo è lo script

Codice: Seleziona tutto

net use s: \\%1\c$
s:
md s:\setup
del s:\setup\. /s /q
copy c:\setup\7zip\7z920.msi s:\setup
wmic /node:"%1" product call install true,"", "c:\setup\7z920.msi"
c:
net use s: /delete

Re: [VB script] popup per inserire manualmente una variabile

Inviato: mar ott 14, 2014 9:08 pm
da crazy.cat
Con gli script vbs non sono pratico ma io usavo (e uso) questo batch (adattato a seconda del bisogno):

robocopy c:\patch\ \\nomepc\c$\patch /r:1 /w:2>>c:\pippo.txt
psexec -u administrator -p password \\@listapc.txt Xcopy c:\patch\variabile.* c:\winnt /y >> c:\pippo.txt 2>>&1
psexec -u administrator -p password \\@listapc.txt Xcopy "c:\patch\Ripris*" "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" /y >> c:\pippo.txt 2>>&1
psexec -u administrator -p password \\@listapc.txt "c:\patch\office2003-KB2553072-FullFile-ENU.exe" /q >> c:\pippo.txt 2>>&1
psexec -u administrator -p password \\@listapc.txt Regedit.exe /s c:\patch\patch.reg >> c:\pippo.txt 2>>&1
rem isola 7
del \\nomepc\c$\patch\*.* /q

copio i file via robocopy sul pc locale, poi se mi serve li copio all'interno di determinate cartelle, avvio l'eseguibile che devo installare, aggiungo chiavi di registro.
LIstapc.txt contiene tutti i nomi dei pc su cui installare, l'usavo anche per le operazioni di robocopy e di del, ma poi l'avevo abbandonata (ma non ricordo perché di preciso).

Re: R: [VB script] popup per inserire manualmente una variabile

Inviato: mar ott 14, 2014 9:25 pm
da Al3x
Sono amministratore di una OU della gerarchia AD e la parte delle credenziali per fortuna posso ometterla.

Nel mio caso ho la necessità di installare su singoli pc e mi servirebbe per l'appunto una interfaccia grafica per risparmiare l'uso della riga di comando ai miei collaboratori (non mi va di perdere tempo a spiegare loro come fare).

Per il deploy massivo uso anche io una lista che rende superflua la necessità di immettere il nome del client.

Grazie comunque

Re: [VB script] popup per inserire manualmente una variabile

Inviato: mar ott 14, 2014 9:34 pm
da hashcat
Forse non ho capito bene cosa intendi fare: non ti basta utilizzare la variabile d'ambiente %COMPUTERNAME% (riporta il nome del computer dal quale viene richiamata)?

Re: R: [VB script] popup per inserire manualmente una variabile

Inviato: mar ott 14, 2014 9:45 pm
da Al3x
Purtroppo no, non mi serve il nome computer locale (è quello che estrae quella variabile) ma devo indicare al batch su quale computer remoto eseguire il comando.
Domani con più calma (e una vera tastiera) spiego meglio la cosa

Re: [VB script] popup per inserire manualmente una variabile

Inviato: mer ott 15, 2014 10:05 am
da Al3x
la situazione attuale è la seguente:

nella cartella c:\setup ho un file batch e un installer MSI, nello specifico 7z920.msi e 7z.cmd
il contenuto del file batch

Codice: Seleziona tutto

net use s: \\%1\c$
s:
md s:\setup
del s:\setup\. /s /q
copy c:\setup\7zip\7z920.msi s:\setup
wmic /node:"%1" product call install true,"", "c:\setup\7z920.msi"
c:
net use s: /delete
come puoi notare, c'è una variabile (%1) che serve per passare il nome computer alle istruzioni di mappatura, copia ed installazione presenti nel batch
- il comando net use mappa c$ del computer remoto e lo abbina alla lettera di unità locale S:
- md crea la cartella setup nel computer remoto in caso ancora non esista
- del elimina eventuali file e cartelle per preparare un ambiente di installazione pulito
- copy copia l'installer nella macchina target
- wmic esegue l'installazione
- il successivo net use elimina l'unità logica

attualmente per installare 7z su un computer remoto devo aprire la console, entrare nella cartella setup e digitare:
7z nome_computer_remoto

non è una gran fatica e funziona perfettamente ma volevo velocizzare ulteriormente la cosa creando un file VBS che con un semplice doppioclic apra una textbox in cui immettere il nome computer e che passi quella stringa al file batch o a eventuale istruzione similare via VBscript.
Sarebbe ancora più rapido ed immediato.

spero di aver chiarito le mie finalità

Re: [VB script] popup per inserire manualmente una variabile

Inviato: mer ott 15, 2014 6:10 pm
da hashcat
Il seguente script VBS dovrebbe fare ciò che chiedi (esegue il file batch specificando come parametro d'avvio il nome del computer immesso nella casella di testo):

Codice: Seleziona tutto

Dim nomecomp
nomecomp = InputBox("Inserire il nome del computer","VBS InputBox")
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "test.bat " & nomecomp
Per renderlo funzionante devi modificare la stringa test.bat con il nome dello script batch da richiamare.

N.B.: Il file VBS deve trovarsi nello stesso percorso del file batch.

Se hai modo di provarlo, sarei lieto di sapere se funziona correttamente.

;)

Re: R: [VB script] popup per inserire manualmente una variabile

Inviato: mer ott 15, 2014 7:05 pm
da Al3x
Grazie!!! Ho modo di provare solo al lavoro e ci torno venerdi. Ti faccio sapere appena lo provo.

Re: [VB script] popup per inserire manualmente una variabile

Inviato: ven ott 17, 2014 11:00 am
da Al3x
Funziona! :grazie

Re: [VB script] popup per inserire manualmente una variabile

Inviato: ven ott 17, 2014 6:50 pm
da hashcat
Buono a sapersi!

:approvo