Posts Tagged “VBScript”

Nella giornata di ieri è stato rilasciato VMware Workstation 8, che introduce diverse novità. A causa dell'aggiornamento tuttavia lo script da me creato per attivare le interfacce di rete e i servizi di VMware non funziona più a dovere. Ecco quindi la versione nuova!

'/*
' * This script first starts services for VMWARE, then starts VMWARE Workstation.
' * Once VMWARE stops, services are stopped and terminated again.
' * Prerequisites for this script:
' * Modify: Computer Management -> Services -> VMware USB Arbitration Service -> Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware Nat Service -> Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware DHCP Service -> Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware Authorization Service -> Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware Workstation Server -> Startup Type:Manual
' * Remove HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VMware hqtray
' * Remove HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\vmware-tray
' * Modify: Disable VMware Network Adapter VMnet1 network interface
' * Modify: Disable VMware Network Adapter VMnet8 network interface
' *
' * written 080821 by w_m0zart / Marc Nijdam. http://www.nijdam.de/marc.html
' * modified by Angaran Stefano http://blog.upyou.it
' * modified by Andrea Giacomin http://www.badalis.it
' */

Il funzionamento è del tutto simile a quello per la versione 7, se avete difficoltà quindi date un'occhiata al mio vecchio post.
Qua sotto il link per il download. Buona virtualizzazione. ;)
vmware_StartStop_vmware_8 - File .zip di dimensioni 1.7 kB e scaricato 161 volte.

Comments Nessun Commento »

Qual'è la cosa che al giorno d'oggi su un computer non ne possiamo proprio fare a meno? Sbagliato... non è Facebook. Si tratta ovviamente della rete. Chi fa uso di dispositivi portatili: come laptop, conosce il disagio causato dal trovarsi connesso ad una rete con i parametri TCP/IP errati, perchè riferiti ad un'altra rete. E il DHCP in molti casi non ci toglie questo problema dal groppone. Se ci serve un IP statico preciso o il DHCP è configurato a regola d'arte oppure non ce ne facciamo niente.
Pensate a quei 2 minuti persi per entrare nel menù della scheda di rete e modificare IP, gateway, DNS. Ebbene io ora vi dico che tutto questo sta per finire :D

Premetto che esistono moltissimi programmi che creano profili per le schede di rete ( ad esempio Intel Proset/Wireless ). Ma voi sapete quanto io sia riluttante ad installare software inutile che funzioni ininterrottamente in background quando il sistema operativo ci dà nativamente tutti gli strumenti per risolvere il problema. :)

Quindi ecco due soluzioni. L'una vale l'altra. La prima è una soluzione basata su VBScript. Per l'occasione ho rispolverato le mie conoscenze su questo linguaggio di scripting. L'altra invece si basa su netsh, un'utilità di sistema, disponibile dalla cmd di Windows. Vediamole:

VBScript is the way!!!

L'archivio rar che trovate qui sotto contiene due file vbs, dhcp.vbs e static.vbs. Prima di eseguirli dovete ovviamente impostare i parametri desiderati.

dhcp-and-static-vbs-script - File .rar di dimensioni 1.48 kB e scaricato 167 volte.

La prima cosa che vi serve è il nome della scheda di rete a cui applicare lo script. Questo lo potete trovare in "Pannello di controllo -> Centro di connessioni di rete e condivisione -> Modifica impostazioni scheda ( menù a sinistra )". Prendete il nome corretto, come nella foto. Lo script funziona con il nome della scheda di rete, non con quello della connessione.

Apriamo il file dhcp.vbs con un editor di test qualsiasi ( Notepad++, non mi stuferò mai di far pubblicità a questo software :D ) ed inseriamo il nome della scheda al posto di "HERE THE NAME" in questo blocco:

' EDIT THIS VALUE IF YOU WANT TO CHANGE NETWORK CARD NAME
dim interfaceName
interfaceName = "HERE THE NAME" ' network card's name

Il DHCP è ok. Passiamo ora al file static.vbs.
Qui dovremmo inserire, nome scheda, indirizzo ip, subnet mask, gateway, DNS ( primario e, opzionale, il secondario ).

' EDIT THESE VALUES IF YOU WANT TO CHANGE NETWORK CARD SETTINGS
dim interfaceName, strIPAddress, strSubnetMask, strGateway, strGatewayMetric, strDNS
interfaceName = "HERE THE NAME" 'network card's name
strIPAddress = Array("192.168.1.2") ' ip address
strSubnetMask = Array("255.255.255.0") ' subnetmak
strGateway = Array("192.168.1.1") ' gateway address
strGatewayMetric = Array(1) ' don't touch
strDNS = Array("212.216.112.112", "208.66.222.222") ' dns address array

Facendo doppio click sul file dhcp.vbs la scheda di rete da voi scelta sarà impostata su modalità DHCP ( IP e DNS ). Un popup vi confermerà che il dhcp è stato attivato.
Il secondo file, static.vbs, una volta eseguito imposterà la scheda su IP statico. Anche in questo caso sarete notificati da un popup sull'effettiva modifica.

Per gestire più reti vi basterà salvare lo stesso file con parametri diversi. Con un semplice doppio click varierete le impostazioni della scheda di rete secondo le vostre esigenze. ;)

I due script dovrebbero funzionare anche su Windows XP e Windows Vista.

netsh, un po' meno geek ma ugualmente efficace

Oltre agli script vbscript che ho creato, i parametri delle schede di rete si possono modificare utilizzando i comandi netsh. Dato che per effettuare un settaggio completo dovremmo dare più comandi netsh, per velocizzare l'operazione utilizzeremo un file batch ( estensione .bat ).
Creiamo quindi un file chiamandolo ad esempio dhcp-wifi.bat e all'interno scriviamo le seguenti stringhe:

netsh interface ipv4 set address name="Connessione rete wireless" source=dhcp
netsh interface ipv4 set dns name="Connessione rete wireless" source=dhcp
netsh set wins name="Connessione rete wireless" source=dhcp

IMPORTANTE: A differenza dello script da me scritto, netsh vuole il nome della connessione, e non quello della scheda.

Per configurare la scheda in modalità statica creiamo un file static-wifi.bat ( ad esempio ) e scriviamo:

netsh interface ipv4 set address name="Connessione rete wireless" source=static addr=192.168.1.5 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0
netsh interface ipv4 set dns "Connessione rete wireless" static 193.70.152.25 Primary
netsh add dns "Connessione rete wireless" addr=208.67.222.222 index=2

Quello sopra è un esempio, inserite i vostri valori di ip, mask gateway. Il secondo comando associa all'indirizzo 193.70.152.25 il DNS primario ( Libero DNS, in questo caso ), mentre il terzo comando inserisce un indirizzo DNS secondario ( OpenDNS ).
Anche qui, doppio click ed il gioco è fatto. ;)

Spero di esservi stato utile, e di avervi fatto risparmiare tempo.

P.S.
La voglia di trovare una soluzione a questo "problemuccio" mi è nata dopo un'incazzatura. Ogni volta che sposto il portatile mi toccava sta lì a modificare tutti i parametri. Una cosa insopportabile.

Comments Nessun Commento »

Sulla scia di questo post, scrivo ciò che segue. VMware sarà comodo, efficiente e tutto quel che si vuole, però ha un unico grande difetto: non è freeware. Per questo, coloro che dovessero trovarsi nella situazione di emulare un OS sporadicamente sceglierebbero senza ombra di dubbio Oracle VirtualBox.

Il semplice script che segue non fa altro che attivare VirtualBox e la sua interfaccia di rete. Questo programma a differenza di VMware non necessita di mille mila servizi attivi per funzionare.

Una volta scaricato il file vi basterà disattivare l'interfaccia di rete di VirtualBox.

'/*
' * This script starts ORACLE VirtualBox and NET interface.
' * Prerequisites for this script:
' * Modify: Disable "VirtualBox Host-Only Network" network interface
' *
' * written by Andrea Giacomin. http://www.badalis.it
' */

Lo script lo trovate qua sotto ed è stato testato sulla release 4.0.8.
virtualbox_StartStop - File .zip di dimensioni 1.14 kB e scaricato 126 volte.
Good Virtualization ;)

UPDATE 26/05/2011 23.37

Per una semplice questione di estetica potete riporre lo script nella cartella di VirtualBox, in seguito creare un collegamento ( dello script ) sul desktop, o dove preferite. E dato che ci siete, potete dare al collegamento la stessa icona di VirtualBox da Proprietà -> Cambia icona. Diciamo che questo è un lavoretto di fino. :D

Comments Nessun Commento »

Per necessità ho dovuto installare VMware per virtualizzare un po' di sistemi operativi. Voi però sapete benissimo che VMware per funzionare ha bisogno di un numero non trascurabile di servizi e processi attivi. Quindi ecco che VBscript ancora una volta ci viene in soccorso. ;)

Come base di partenza ho usato lo script presente in questa pagina, lo ho un po' migliorato e ho aggiunto qualche funzione in più. Lo potete scaricare da qua sotto:
vmware_StartStop - File .zip di dimensioni 1.64 kB e scaricato 149 volte.

Installazione

Dopo averlo scaricato dovrete eseguire un paio di operazioni preliminari ( sono riportate anche in testa al file ):

' * This script first starts services for VMWARE, then starts VMWARE Workstation.
' * Once VMWARE stops, services are stopped and terminated again.
' * Prerequisites for this script:
' * Modify: Computer Management -> Services -> VMware USB Arbitration Service ->Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware Nat Service ->Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware DHCP Service ->Startup Type:Manual
' * Modify: Computer Management -> Services -> VMware Authorization Service ->Startup Type:Manual
' * Modify: Disable VMware Network Adapter VMnet1 network interface
' * Modify: Disable VMware Network Adapter VMnet8 network interface

Premete Win+R e scrivete "msconfig", andate nella tab avvio. Togliete la spunta dalla voce "VMware Workstation". Ora siete pronti per eseguire lo script con un semplice doppio-click.
Adesso ogni qualvolta dovrete avviare VMware vi basterà fare un doppio click sul file dello script e il programma si avvierà.

Spero di esservi stato utile. ;)

Avviare VMware in una finestra massimizzata

Per avviare VMware, con lo script, massimizzato basterà modificare una riga. Più precisamente la riga 57:

shell.run qq & pth & pgm1 & qq & cmnd,1,true ' now starting vmware.exe

Mettendo 3 al posto del 1.

shell.run qq & pth & pgm1 & qq & cmnd,3,true ' now starting vmware.exe

Comments 6 Commenti »

Devo proprio dirlo, VBScript è un linguaggio di scripting veramente potente, offre moltissime classe che possono manipolare le impostazioni avanzate del sistema operativo. Oggi ho creato un piccolo VBScript che attiva e disattiva il servizio di Hamachi e la scheda di rete virtuale che crea. Il solito prerequisito è che il servizio "Hamachi2Svc" e la scheda di rete "Hamachi Network Interface" siano disattivi.
Lo script è scaricabile a questo indirizzo.

Comments Nessun Commento »

PunkBuster è un sistema anti-cheating che protegge i giocatori in modalità multiplayer da possibili utenti disonesti che altrimenti userebbero dei bot, aimbot, ecc. Il brutto di questo sistema è che i servizi PnkBstrA e B che permettono il corretto funzionamento del programma restano sempre attivi, e quindi ci troveremmo con due processi inutili nel caso non volessimo giocare a niente. Secondo voi io potevo sprecare ben 4MB di RAM per tale motivo? Ovviamente no.

Proprio per questo motivo ho realizzato 2 piccoli script in VBScript. Il primo avvia i due servizi di PunkBuster, avvia il gioco ( nel mio caso Call of Duty: Modern Warfare ) e quando la sessione di gioco è terminata disattiva i servizi. I prerequisiti per questo plugin sono due. Per prima cosa i servizi PnkBstrA e PnkBstrB devono essere impostati su avvio manuale. Per fare questo andare sui servizi di Windows e cambiate l'avvio dei due servizi da automatico a manuale. Poi dovete editare lo script, modificando il path ( inserendo quello della cartella dove avete installato il gioco ) e modificare il nome dell'exe di avvio del gioco.

Il secondo script ( quello che uso io ) è molto più semplice e attiva o disattiva i due servizi con un semplice click. Anche questo necessita che i servizi siano impostati su avvio manuale.

Gli script sono liberamente consultabili e modificabili. Forse non sono perfetti, ma funzionano. Inoltre questa è la prima volta che mi cimento con VBScript. =)

Ecco gli indirizzi per il download. ;)

VBScript-punkbuster-1.1 (13/02/2010)

VBScript-punkbuster-1.0 (15/02/2010)

UPDATE 2010/02/15

Ho modificato leggermente gli script. Ho notato che il servizio PunkBusterB dopo essere spento ritorna in modalità automatica, quindo questo nuovo script lo utilizza e poi lo rimette in modalità manuale. Inoltre ho aggiunto 2 popup, in modo che l'utente sappia cosa sta realmente facendo lo script. Ecco qua la nuova versione.

Comments Nessun Commento »