Archives For Microsoft Windows 7

Il messaggio che compare a video è poco eloquente, eppure segnala un evidente problema nato durante l’installazione di un software.

KB3172605 and/or KB3161608 are installed in your system. Please uninstall KB3172605 and/or KB3161608 before installing this driver.

Scoprirò in seguito che si tratta di un driver, quello bluetooth per l’esattezza. Una rapida ricerca nei forum di Microsoft ed ecco che salta immediatamente fuori la segnalazione (ce ne sono diverse altre, una in particolare è palese). Non sono il solo a lamentarlo (e fin qui era stata semplice, perché alcuni utenti in ufficio mi avevano detto di aver visto la stessa finestra comparire a tradimento da un paio di settimane), si tratta di un errore che nasce dall’accoppiata Microsoft e Lenovo System Update (in alcuni configurazioni viene anche chiamato “Lenovo – Aggiornamento e driver“, nda).

Lenovo: modificare il BIOS eliminando il Secure Boot (UEFI)

Ho fatto ulteriori ricerche, tutto sembra essere partito a luglio dello scorso anno (Microsoft yanks buggy speed-up patch KB 3161608, replaces it with KB 3172605 and 3172614), si parla -appunto- dei driver bluetooth di Intel. Microsoft ha rilasciato un paio di KB che quasi certamente avrai anche tu sulla tua macchina Lenovo, la quale però tenterà di far installare alla sua utility una nuova versione del driver durante uno dei controlli settimanali pianificati di default, i due KB di Microsoft non possono però coesistere (in questo ordine) con il fix ordinato da Lenovo:

KB3172605, KB3161608 e Lenovo System Update

KB3172605 and/or KB3161608 are installed in your system. Please uninstall KB3172605 and/or KB3161608 before installing this driver.

Partendo dal thread sul forum di Microsoft, pare che qualcuno sia uscito fuori dal tunnel disinstallando le KB manualmente, facendo seguire poi l’aggiornamento del driver così come richiesto (da Lenovo System Update), e lasciando poi che Windows Update facesse nuovamente il suo lavoro (cioè reinstallasse i due KB): answers.microsoft.com/thread/bd93ab91-5d9b-434a-a10e-d6574ca97180.

Prova ora a immaginare circa 500 macchine con lo stesso problema, capisci bene che è letteralmente impensabile intervenire così come riportato dall’utente nel forum. Potrei chiedere al nostro WSUS di rimuovere i due pacchetti e tenerli fermi (per il momento), lasciare che System Update lavori, rilasciare nuovamente i due KB. Ho notato però, dopo diversi test e ricerche, che non tutti i System Update propongono l’aggiornamento come “Critical“, a causa del fatto che alcune macchine non hanno precedentemente aggiornato quel driver (non arrivato quindi alla versione interessata dal problema), rendendo di fatto inutile questo metodo:

KB3172605, KB3161608 e Lenovo System Update 1

Ho scelto quindi di tenere fuori dai giochi il Lenovo System Update, non impedendo certo il suo utilizzo, ma andando a staccare quella che è la schedulazione che viene creata di default su ogni macchina Lenovo (la puoi verificare tu stesso avviando l’applicazione e facendo clic su Pianifica aggiornamenti). Per operare ho scelto di creare una GPO ad-hoc, ti spiego rapidamente come replicare nel tuo ambiente aziendale. Se sei un utente casalingo e vuoi risolvere rapidamente il problema, salta all’ultimo paragrafo dell’articolo :-)

Goodbye System Update

Il Lenovo System Update ha due schedulazioni predefinite che partono al logon dell’utente e una volta a settimana. La seconda è quella che si occupa del download e dell’installazione degli update definiti critici. Teoricamente ogni utente può scegliere di modificare questo comportamento andandolo a variare dall’applicazione stessa (come spiegato poco fa), la mia modifica segue il suggerimento di questo articolo e inibisce all’utente tale possibilità.

Regedit, XML, GPO

Il metodo è sempre lo stesso. La chiave di registro da modificare è la HKLM\SOFTWARE\Wow6432Node\Lenovo\System Update\Preferences\UserSettings\Scheduler (su un sistema a 32 bit si salterà la \Wow6432Node\), il valore è lo SchedulerAbility, che cambierà da YES a NO.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\System Update\Preferences\UserSettings\Scheduler]
"SchedulerAbility"="NO"

[HKEY_LOCAL_MACHINE\SOFTWARE\Lenovo\System Update\Preferences\UserSettings\Scheduler]
"SchedulerAbility"="NO"

La chiave, trasformata in XML, darà questo risultato (non è indentato, lo so):

<?xml version="1.0" encoding="UTF-8"?>
<Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Disable Lenovo System Update"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="HKEY_LOCAL_MACHINE"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="SOFTWARE"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Wow6432Node"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Lenovo"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="System Update"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Preferences"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="UserSettings"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Scheduler"><Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="SchedulerAbility" status="SchedulerAbility" image="7" changed="2017-01-16 16:01:08" uid="{8D71093F-6362-7087-5ED8-94EDBD7719C6}"><Properties action="U" displayDecimal="0" default="0" hive="HKEY_LOCAL_MACHINE" key="SOFTWARE\Wow6432Node\Lenovo\System Update\Preferences\UserSettings\Scheduler" name="SchedulerAbility" type="REG_SZ" value="NO"/><Filters/></Registry></Collection></Collection></Collection></Collection></Collection></Collection><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Lenovo"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="System Update"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Preferences"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="UserSettings"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Scheduler"><Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="SchedulerAbility" status="SchedulerAbility" image="7" changed="2017-01-16 16:01:08" uid="{0D58379E-C99A-0B72-264C-4143F8AD0680}"><Properties action="U" displayDecimal="0" default="0" hive="HKEY_LOCAL_MACHINE" key="SOFTWARE\Lenovo\System Update\Preferences\UserSettings\Scheduler" name="SchedulerAbility" type="REG_SZ" value="NO"/><Filters/></Registry></Collection></Collection></Collection></Collection></Collection></Collection></Collection></Collection>

A questo punto è tutto in discesa. Dal Group Policy Management Editor crea la nuova GPO e naviga in Computer ConfigurationPreferencesWindows SettingsRegistry. Copia il codice XML che vedi qui sopra e incollalo direttamente nella finestra del Group Policy Management Editor (nella parte destra, quella del Registry), otterrai un risultato simile a quello in figura :-)

KB3172605, KB3161608 e Lenovo System Update 2

A questo punto potrai assegnare la GPO ai domini che ti interessano (mantieni il filtro di sicurezza su Authenticated Users). Non appena questa andrà ad applicarsi ai PC gestiti, nessuno più lamenterà l’anomalia (e le operazioni schedulate spariranno da Windows).

Come lo risolvo sul mio PC di casa?

Scarica la chiave di registro che trovi sul mio spazio box: app.box.com/s/v4xhf99dx8lxjbi5c0qir2l4gzhtgvpo.

Fai doppio clic sul file scaricato, conferma la modifica delle informazioni di registro e verifica che ora il tuo Lenovo System Update non effettui controlli e installazioni autonome (puoi controllarlo aprendo l’applicazione e facendo clic su Pianifica aggiornamenti, che ora dovrebbe essere completamente disabilitato).

KB3172605, KB3161608 e Lenovo System Update 3

Inutile dirlo, ma è chiaro che il mio è un work-around e non una soluzione al problema che spero Lenovo possa gestire in qualche maniera, basterebbe far saltare fuori una soluzione per mettere a posto l’anomalia e nulla più, nulla che poi non si possa gestire tramite GPO o un sistema di distribuzione software (almeno spero). Io continuerò a tenermi aggiornato tramite forum di Microsoft e Lenovo, aggiornerò questo articolo in caso ci fossero novità.

Buon lavoro! :-)

È un problema che ho affrontato qualche tempo fa e che inizialmente mi ha dato un po’ di grattacapi, salvo poi trovare casi molti simili che mi hanno aiutato a risolvere l’anomalia. Il disco di un PC si satura e la colpa è della cartella C:\Windows\Temp, invasa da file senza estensione, dal nome che comincia sempre per cab_. Perché accade? Il problema viene generato da una installazione di alcuni aggiornamenti (da Windows Update) evidentemente non andata a buon fine, non del tutto almeno, nonostante la schermata preposta di Microsoft dica che tutto va bene.

Windows: l'invasione dei CBSPersist e dei cab_ (C:WindowsTemp)

Facendo un po’ più di attenzione, si scopre che in realtà di cartella che occupa spazio ce n’è un’altra. Teoricamente dovresti trovare anomala anche la C:\Windows\Logs\CBS, all’interno della quale dovresti trovare dei file CAB veri, e un file di log dalla dimensione decisamente robusta (CBS.log). L’anomalia parte proprio da qui. Partiamo con le opportune presentazioni (recuperate con una semplice ricerca):

CBS stands for “Component-Based Servicing” and it basically is the way components get installed and uninstalled during updates. It is the reason you see “Stage 1”, “Stage 2”, and “Stage 3” during the Service Pack 1 install (for example). “Stage 2” and “Stage 3” exists for the registry keys and files that are normally locked during regular operation.

Tutto chiaro? Un log in cui ogni aggiornamento di Microsoft va a scrivere e tiene traccia di ogni movimento. Un log destinato –per forza– a crescere, e che per un comportamento assolutamente standard va a ruotare, sospendendo la scrittura, finendo in un CAB che ne riduce (di parecchio) la dimensione, e infine ne prepara uno nuovo in cui tornare a scrivere, per poi ricominciare il giro ancora e ancora.

Se per qualsivoglia motivo questo procedimento non fila liscio, il CBS.log diventa più grande del previsto, ingestibile e –soprattutto– impossibile da mettere in un CAB nei tempi previsti. Il risultato? Cartella Temp di Windows piena di tentativi falliti di comprimere quel log, cartella CBS che si ingigantisce.

Diverse le fonti dove ho trovati informazioni in merito e persone capitate nello stesso vortice, ne ho selezionate tre che mi hanno aiutato:

Riepilogando, tutto questo può accadere in qualsiasi momento e -in base alla capacità del disco e lo spazio libero da poter sfruttare- potresti accorgertene a mesi (o forse anni) di distanza. Io ho scoperto di essere soggetto al problema solo perché un utente ha lamentato poco spazio libero e mi ha fatto scoprire l’anomalia. Le operazioni da affrontare per resettare il procedimento di scrittura e archiviazione del CBS.log è questo:

  • Fermare il servizio Windows Update.
  • Rinominare la cartella della Software Distribution (C:\Windows\SoftwareDistribution).
  • Cancellare ogni file in C:\Windows\Temp (ovviamente ignorando quelli in uso e che faranno comparire il classico errore a video di impossibilità di cancellazione, nda).
  • Riavviare il servizio di Windows Update.
  • Fermare il servizio Trusted Installer.
  • Cancellare ogni file in C:\Windows\Logs\CBS.
  • Riavviare il servizio Trusted Installer.
  • Forzare una ricerca aggiornamenti di Windows Update (direttamente via prompt).

Visto che questa cosa potrebbe capitare ad altri client in futuro, ho pensato di tradurla in codice batch, da dare in pasto anche al Kace di Dell (tanto per fare un esempio). Il tutto intervallando alcuni secondi di pausa prima di poter eseguire l’operazione successiva (dando così modo al client di non saltare alcun passaggio fondamentale):

sc stop wuauserv
ping 127.0.0.1 -n 7 > NUL
cd \Windows\
move SoftwareDistribution SoftwareDistribution_old
del /S C:\Windows\Temp\* /Q
FOR /D %%p IN ("C:\Windows\Temp\*.*") DO rmdir "%%p" /s /q
sc start wuauserv
rd /S /Q C:\Windows\SoftwareDistribution_old
sc stop TrustedInstaller
ping 127.0.0.1 -n 7 > NUL
del /S C:\Windows\Logs\CBS* /Q
sc start TrustedInstaller
ping 127.0.0.1 -n 5 > NUL
wuauclt.exe /detectnow

Così facendo ho risolto il problema e liberato spazio sul disco. Ho fatto queste modifiche al sistema mesi fa e il problema non si è più presentato (a me, ma anche ad altri utenti che nel frattempo ho rilevato nella nostra rete).

Facile (soprattutto se si ha un aiuto nella software distribution) fare un’analisi all’interno della rete aziendale e cercare le macchine che soffrono la stessa anomalia ma che ancora non hanno saturato il disco, basterà cercare nella cartella C:\Windows\Temp una forte presenza di cab_, così da portarsi avanti ed evitare che il problema si presenti agli occhi dell’utente.

Estote parati (cit.).

G

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Esigenza: Internet Explorer (si, lo so, procediamo), pagina web da tenere d’occhio, la quale non prevede però un refresh automatico. Non è possibile giocare con un frame nel quale includerla e farla aggiornare di tanto in tanto.

Svolgimento: si può aggirare l’ostacolo con un componente aggiuntivo vecchio ma ancora funzionante, gratuito, esteticamente schifoso per chi non usa più la barra dei menu, ma il chissenefrega parte da lontano, a noi interessa solo l’obiettivo finale.

Auto Refresher per Internet Explorer

Si chiama (con molta fantasia) Auto Refresher for IE, e lo si scarica dalla pagina ufficiale che ha indirizzo xwen.org/node/6 (ne esistono diversi mirror in giro per il web, ma propongono installer che contengono pubblicità, evitali come la peste). La sua ultima versione è la 1.2 ed è datata 2012. Funziona correttamente con Internet Explorer 11 su Windows 7.

Il componente, una volta installato e abilitato su IE, necessiterà di essere reso visibile. Fai clic con il tasto destro su una parte libera della barra superiore di Internet Explorer e seleziona la voce “YRefresher“. Il risultato è questo:

Auto Refresher per Internet Explorer 1

Un enorme pulsantone (fa molto biscottone, vero?) che comparirà e non potrà essere ridimensionato a meno di essere messo sulla stessa riga della barra dei menu, che personalmente non utilizzo. Ho già provato –senza successo– a metterlo su quella dei Segnalibri. Fatta eccezione per l’estetica alquanto discutibile, Auto Refresher for IE propone un set di intervalli già sufficientemente nutrito, pur rendendo però disponibile l’ultima voce (Custom Interval) che ti permetterà di specificare un diverso numero di secondi, a tuo piacimento. Ricorda che puoi convertire i minuti (o le ore, se preferisci) in secondi utilizzando Google (qui un esempio).

Alternative di pari livello? Lascia un commento per suggerirle! :-)

Buon fine settimana.

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Il mio collega di lavoro (ciao Gennaro :-) ) dice che con il passare del tempo, gli errori commessi non dovrebbero mai essere ripetuti. È una massima che potrebbe valere per qualsiasi professionista o azienda. Così dovrebbe essere, peccato che tutto rimanga però rintanato (spesso) nella pura teoria. In ufficio sono arrivati i primi Lenovo T460s, macchine particolarmente valide che si fanno utilizzare con piacere (qui trovi una recensione più che dettagliata, se ti interessa) ma che sembrano mostrare un difetto che puzza di vecchio. Ti ricorda nulla il problema del Fingerprint Reader sui Carbon X1?

Perseverare è diabolico: LogonUI.exe e Lenovo Fingerprint (T460s) 1

Avvio di Windows 7 (occhio, 7, non posso quindi dirti se il problema è replicabile su Windows 8.1 o 10), CTRL+ALT+CANC tipico di una macchina in dominio, schermo completamente nero con il solo cursore del mouse visibile. Rilanciando la combinazione di tastiera si ha possibilità di vedere per un secondo lo sfondo dell’attesa login e nulla più, si è praticamente costretti a spegnere la macchina dal pulsante o chiedere il riavvio da remoto, magari tramite PsShutdown. Dopo diversi tentativi e colpe date a driver che nulla c’entrano, nell’Event Viewer della macchina ecco comparire il messaggio che ci ha permesso di capire chiaramente che si stava trattando di una nuova anomalia legata al Fingerprint Reader installato di serie su queste nuove macchine.

Contrariamente a quanto accaduto sul Carbon X1, stavolta l’errore non attende l’avvio di Windows post-login, causa direttamente la schermata nera in seguito al crash dell’applicazione, non permettendo di fare alcunché. Nonostante abbia disinstallato e re-installato il prodotto, il problema sembra non essersi risolto. La macchina è stata quindi consegnata senza il software Lenovo, in attesa che ne esca una nuova versione che possa andare a correggere il bug sul sistema Microsoft. Ho già cercato lumi sul sito web ma senza una vera e propria soluzione. Non resta che attendere.

Lenovo, qualcuno te lo ha mai detto che perseverare è diabolico oltreché deleterio per la pazienza altrui?

Uno di quei problemi che, a lanciare una ricerca nei forum di Microsoft, escono quasi più risultati di una equivalente azione mirata a conoscere le misure di una showgirl. In seguito all’aggiornamento a Office 2016 (anche se non immediato), in ufficio abbiamo iniziato a notare una quantità di richieste di login superiore al dovuto.

Ora, che ogni tanto scada l’accesso al proprio account Office 365, ci può assolutamente stare. Che questo diventi però un’abitudine a ciascuna chiusura e riapertura programma (anche a distanza di pochi secondi) non è normale.

Office 2016: prima di partire e primi passi con ...

Ho provato a fare un reset dell’installazione, ho provato a cambiare profilo, ho cercato riferimenti in merito, nulla di fatto. Nei forum Technet c’è molta confusione, troppe informazioni spesso sbagliate. Sono arrivato a qualcosa di concreto, ho trovato finalmente un articolo che riproduce l’errore e lo risolve (questo: meyermed.com/2014/02/fixing-the-error-onenote-needs-a-password-to-sync-this-notebook-click-here-to-enter-your-password) e ho risolto l’anomalia sulla mia postazione, memorizzando le credenziali di Outlook ancora una volta e lasciando che OneNote tenesse la cache dell’autenticazione nel Gestore Credenziali di Windows.

Office 365: continue richieste di login da OneNote (e non solo) 1

Per poter replicare rapidamente la soluzione su più postazioni, ho scritto qualche riga di batch così da poterla dare in pasto al Kace di Dell e lanciarla agilmente ogni volta che ne ho bisogno. Funziona su Windows 7, 8.1 e anche 10:

cmdkey.exe /list > "%TEMP%\CredMan.txt"
findstr.exe MS.Outlook* "%TEMP%\CredMan.txt" > "%TEMP%\CredMan_Tokens.txt"
findstr.exe MicrosoftOffice15_* "%TEMP%\CredMan.txt" >> "%TEMP%\CredMan_Tokens.txt"
findstr.exe MicrosoftOffice16_* "%TEMP%\CredMan.txt" >> "%TEMP%\CredMan_Tokens.txt"
FOR /F "tokens=1,2 delims= " %%G IN (%TEMP%\CredMan_Tokens.txt) DO cmdkey.exe /delete:%%H
del "%TEMP%\CredMan.txt" /s /f /q
del "%TEMP%\CredMan_Tokens.txt" /s /f /q

Traducendolo in soldoni, il batch esporta le credenziali attualmente presenti nel Gestore Credenziali di sistema, ricerca tutto ciò che riguarda Office 2013 (15), 2016 (16) e Outlook. Per ciascuna corrispondenza andrà a rimuovere quel riferimento in Windows. Al termine –ovviamente– cancellerà l’esportazione precedentemente eseguita.

Ho creato un pacchetto eseguibile del batch sopra riportato e l’ho caricato sul mio spazio Box, nel caso tu voglia scaricarlo direttamente: app.box.com/s/siespaz9aqi3vzowetsjnovnw15z5eoi.

Dopo aver eseguito la pulizia, come già detto, dovrai autenticarti nuovamente su Outlook ma anche su OneNote se fai uso di Notebooks salvati su OneDrive personale o business (non servirà farlo su Excel o Word, hai già attivato la suite Office, non serve fare altro). Salvo errori, se l’autenticazione andrà a buon fine, ricompariranno le voci relative alle credenziali Office 16 nel gestore Windows, queste possono (e devono) essere lasciate lì.

Cheers.