Windows: per quale motivo il sistema operativo tenta di collegarsi a “www.msftncsi.com” ?

Analizzando i log di squid della navigazione di una mia macchina di test con Windows7 mi sono accorto che, ogni tanto, vedo chiamate HTTP verso i siti “www.msftncsi.com” e “ipv6.msftncsi.com”, nello specifico sono GET di un file di testo in cui c’è scritto semplicemente “Microsoft NCSI”:

[Tue Jan 29 10:33:48 2013].319     82 192.168.1.1 TCP_MISS/200 274 GET http://www.msftncsi.com/ncsi.txt - FIRST_UP_PARENT/192.168.1.1 text/plain
[Tue Jan 29 10:33:51 2013].672   3348 192.168.1.1 TCP_MISS/200 419 GET http://ipv6.msftncsi.com/ncsi.txt - FIRST_UP_PARENT/192.168.1.1 text/html

Come mai Windows cerca di scaricare questi file? E’ colpa di un virus?

Niete di pericoloso, per fortuna!
Il “colpevole” è il modulo di Windows “Network Location Awareness” preposto al controllo delle funzionalità della connessione di rete che si sta utilizzando: in parole povere, Windows cerca di collegarsi a quel sito, di proprietà di Microsoft, per capire se la connessione che si sta utilizzando ha accesso ad Internet o meno, se supporta IPv6 o solo IPv4 e se ci sono ulteriori restrizioni alla navigazione.

E’ possibile disattivare questa funzione impostando a valore zero “0” la chiave di registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing

Windows 7 USB/DVD download tool: come risolvere l’errore “We were unable to copy your files” su USB

A partire da Windows 7 è finalmente possibile eseguire installazioni del sistema operativo partendo da disco o chiavetta USB, senza dover masterizzare CD o DVD, grazie al Windows 7 USB/DVD download tool che Microsoft ha messo a disposizione gratuitamente: ovviamente avrete sempre bisogno di una immagine ISO originale di Windows 7 da riversare su USB.

Cosa fare, però, quando questo utilissimo tool non riesce a riversare Windows 7 su USB e compare l’errore “We were unable to copy your files. Please check your usb device and the selected ISO file and try again” ?
usb_7_error

Il problema è causato dalla presenza, sul disco o chiavetta USB, di una MBR e/o partizione non standard che non è gestibile dal tool.
E’ quindi necessario rimuoverle entrambe dalla chiavetta, da riga di comando tramite diskpart.exe, con la seguente procedura:

1. lanciare diskpart;
2. cercare il numero idetificativo del disco USB con "list disk";
3. selezionare il disco con "select disk numero_identificativo_disco";
4. eliminare completamente il contenuto del disco con "clean";
5. creare una nuova partizione con "create partition primary";
6. selezionare la partizione con "select partition 1";
7. marcarla attiva con "active";
8. formattarla FAT32 con "format quick fs=fat32";
9. uscire da diskpart con "exit";

A questo punto la chiavetta USB è pronta per essere utilizzata senza problemi con il Windows 7 USB/DVD download tool.

VMware Workstation: un trucchetto per ottimizzare le VM Windows

E’ normale, per me, lavorare con virtual machine contemporaneamente attive sulla mia workstation selfmade, con processore Intel Core i7-2600, 16 GB di ram e svariati TB di disco: pur avendo a disposizione hardware di tutto rispetto, è fondamentale ottimizzare periodicamente le VM per tenerle in buona efficienza ed evitare problemi di performance.

Uno dei problemi più comuni derivato dall’uso di VM che porta a problemi di performance è la frammentazione dei file container che ospitano il file system della VM, siano essi VMDK, VHD, qcow o VDI: prima di deframmentare questi file è prima necessario riorganizzare i dati del disco all’interno della VM seguendo queste linee guida:

  • eseguire la “Pulitura disco”, svuotare il cestino, cancellare i file temporanei;
  • deframmentare il disco: io uso UltraDefrag in modalità “Full optimization” per consolidare i dati;
  • eseguire il tool “sdelete” con opzione “-z” di Windows Sysinternals per cancellare (tecnicamente “scrivere tutti 0”) completamente il contenuto dei cluster marcati come inutilizzati (cioè lo spazio libero su disco);

A questo punto è possibile spegnere la VM ed eseguire la compattazione e la deframmentazione dei file container: in VMware Workstation è possibile farlo dai “Settings” della VM, “Hard disk”, “Utilities”.

 

Windows7: come ottimizzare le performance del file sharing di SMB

Windows7 può essere usato, in una LAN casalinga o in un piccolo ufficio, anche come file server offrendo buone prestazione: è tuttavia possibile ottimizzare e migliorare le performance di SMB per l’utilizzo specifico come file server, a patto di “consumare” un po’ più memoria RAM.
L’impostazione di default del sottosistema server di SMB, infatti, non prevede l’utilizzo di caching per i file e minimizza l’utilizzo della memoria dedicata al file sharing.

Per attivare il caching dei file è sufficiente editare il parametro di registry:

HKLMSYSTEMCurrentControlSetControlSession ManagerMemoryManagementLargeSystemCache

e settare LargeSystemCache a valore “1“.

Per allocare un maggiore quantitativo di memoria per il file sharing è inoltre necessario editare il paramentro di registry:

HKLMSYSTEMCurrentControlSetServicesLanmanServerParametersSize

e settare Size a valore “3“.

 

Steam: come spostare i giochi su un altro hard disk

Steam è una piattaforma di gaming / gamestore che sto apprezzando sempre più: ormai ho comprato così tanti videogiochi che ho riempito completamente lo spazio sul disco (un SSD OCZ Vertex3 da 120 GB su cui c’è Windows7).
Ho un hard disk a rotazione secondario da 2TB, ed ho pensato di spostare qualche gioco dal SSD su di esso.
Purtroppo Steam non offre nativamente questa possibilità, bisogna quindi usare un po’ di creatività.
I giochi acquistati si trovano nella directory di installazione di Steam, per la precisione in:

C:\Program Files\Steam\Steamapps\Common\nome_gioco per i sistemi a 32 bit
C:\Program Files (x86)\Steam\Steamapps\Common\nome_gioco per i sistemi a 64 bit

Ho deciso di spostare Portal 2, che ho già finito di giocare e occupa spazio sul SSD inutilmente, facendo il mirror della directory con robocopy:

robocopy "C:\Program Files (x86)\Steam\Steamapps\Common\Portal 2\" "D:\Giochi\Portal 2" /MIR

Terminata la passata di robocopy bisogna cancellare la directory di Portal 2 dalla directory di Steam:

del /S /F /Q "C:\Program Files (x86)\Steam\Steamapps\Common\Portal 2\" | rmdir /S /Q "C:\Program Files (x86)\Steam\Steamapps\Common\Portal 2\"

A questo punto è sufficiente creare un hard link che dalla directory di Steam punta alla nuova locazione della directory del gioco con mklink:

mklink /J "C:\Program Files (x86)\Steam\Steamapps\Common\Portal 2\" "D:\Giochi\Portal 2\"

Fatto!
Al riavvio Steam non si accorgerà di nulla, potrete giocare come sempre ed avrete liberato lo spazio desiderato.

Crysis: come risolvere l’errore “5024” all’avvio del gioco

Sto approfittando della Summer Sale su Steam per fare incetta di tutti quei giochi che non ho avuto l’occasione di giocare prima.
Tra questi ho comprato il pack contenente tutti gli episodi della serie “Crysis” della Crytek e mi sono messo subito a scaricarlo, ansioso di giocarci.
Avvio il gioco e… BAM il gioco non parte!
Appare infatti la finestra di errore che segnala “Impossibile attivare un modulo di sicurezza richiesto. L’applicazione non può essere eseguita (5024)” ed il gioco non parte neanche a manovella.
crysis_5024

Che fare??
La soluzione è piuttosto sconcertante: l’errore è causato dalla presenza in esecuzione del programma “Process Explorer” di Microsoft Windows Sysinternals.
Probabilmente a Crytek pensano che usare un task manager alternativo, peraltro perfettamente legittimo e prodotto da Microsoft, possa voler dire essere cheater o, peggio, pirati?
Bah, la trovo una cosa stupida!

E’ sufficiente chiudere Process Explorer e rilanciare il gioco per poter iniziare finalmente a giocare.

Windows7 e Server 2008: gestire da riga di comando gli event log di Windows con “Wevtutil.exe”

Wevtutil.exe è un comodo programma a riga di comando, presente su Windows7 e Windows Server 2008, che permette di gestire, anche remotamente, gli event log di Windows: è possibile infatti eseguire query, vedere e modificare le configurazioni dei log, esportarli in vari formati per poterli archiviare.
Alcuni esempi pratici:

Lista degli event log presenti sul computer:
wevtutil el

Visualizzare i parametri di configurazione del system event log da un computer remoto:
wevtutil gl System /r:nome_computer

Visualizzare informazioni aggiuntive (dimensione, numero di entry, data di creazione) dell’application event log da un computer remoto:
wevtutil gli Application /r:nome_computer

Visualizzare, in formato testo, i 100 record più recenti dell’application event log da un computer remoto:
wevtutil qe Application /c:100 /rd:true /f:text /r:nome_computer

Esportare su file il System event log da un computer remoto (il file verrà creato sul computer remoto):
wevtutil epl System C:backupsystem.evtx /r:nome_computer

Esportare su file e cancellare tutti i record dell’Application event log da un computer remoto (il file verrà creato sul computer remoto):
wevtutil cl Application /bu:C:zapplication.evtx /r:nome_computer

 

A questa pagina http://technet.microsoft.com/en-us/library/cc732848%28v=ws.10%29.aspx troverete la spiegazione di tutte le opzioni e degli switch di esecuzione di Wevtutil.exe.

Windows7: Apple Bonjour, errore “Failed to connect to a windows service” e Winsock da buttare

Ho da poco avuto un problema, sul mio portatile con Windows7 x64, che mi ha fatto venire un bel mal di testa per cercare di risolverlo.
Tutto è iniziato quando ho deciso di disinstallare iTunes e tutti i programmi Apple ad esso collegati: dopo la disinstallazione del servizio “Bonjour“, al successivo riavvio, il portatile non è stato più in grado di collegarsi alla rete aziendale (sia wired sia wireless), a quella casalinga e ad internet.

L’event log di sistema era pieno di questi errori:
Failed to connect to a windows service. Windows could not connect to the System Event Notification Service service. This problem prevents limited users from logging on to the system. As an administrative user, you can review the System Event Log for details about why the service didn’t respond.
Per qualche oscuro motivo la disinstallazione di Bonjour non è avvenuta in maniera corretta, e TCP/IP e Winsock sono rimasti corrotti.

In Windows7 è possibile ripristinare parametri e servizi di TCP/IP e winsock da riga di comando eseguendo:
netsh winsock reset
netsh int ip reset

All’esecuzione di questi comandi, tuttavia, il sistema ha riportato l’errore:
Initialization Function InitHelperDll in NSHHTTP.DLL failed to start with error code 11003
ed al successivo riavvio la rete non era ancora disponibile.

L’unico modo per fare tornare a funzionare tutto è stato piuttosto da brividi: ho dovuto cancellare le chiavi di registry relative a TCP/IP e Winsock, esportarle e ripristinarle da un altro computer simile funzionante, resettare TCP/IP e Winsock con netsh.
Quindi ho dovuto:

  1. cancellare la chiave HKLM/System/CurrentControlSet/Services/Winsock
  2. cancellare la chiave HKLM/System/CurrentControlSet/Services/Winsock2
  3. esportare in un file .reg, da un computer funzionante, la chiave HKLM/System/CurrentControlSet/Services/Winsock
  4. esportare in un file .reg, da un computer funzionante, la chiave HKLM/System/CurrentControlSet/Services/Winsock2
  5. importare i due file di registry del computer malfunzionante
  6. riavviare
  7. eseguire nuovamente netsh winsock reset e netsh int ip reset
  8. riavviare

ed il computer è tornato online.
GLUB 🙁