Archives For Microsoft Windows

Ti è mai capitato di preparare una macchina “template” da catturare e clonare su diverse altre macchine dello stesso modello? Qui continuamente, ed è tutto ciò su cui si cerca di basare il rilascio di nuove postazioni. Avere un solo modello Desktop e uno laptop (o comunque un numero quanto più limitato) aiuta a gestire meglio il parco macchine aziendale, è risaputo ed è una pratica di quelle buone, da cercare di mantenere il più possibile nel tempo.

Tralasciando però quella che è la pippa mentale relativa alla teoria delle buone pratiche, passiamo al succo dell’articolo e al problema specifico da risolvere: un SysPrep fallito, con tanto di messaggio di accompagnamento simile (in realtà potrebbe essere identico) a quello riportato nel titolo dell’articolo.

Microsoft Windows

Di motivi per far fallire un SysPrep ne esistono diversi, ma un paio sono quelli più comuni e sono quelli a cui possiamo fare riferimento insieme (con relativa soluzione), e onestamente non ho idea del perché io abbia lasciato nel dimenticatoio questo articolo (la bozza era del 2014, fa un po’ te). Provo a dargli una svecchiata, magari è la volta buona che va in pubblicazione :-)

Hai finito le cartucce

Con Windows 7, contrariamente a Windows 10, avevi a disposizione un massimo di 3 Rearm di sistema (il Rearm serviva a terminare un intervallo di utilizzo di sistema privo di attivazione, cominciandone uno nuovo e permettendoti di estendere il tuo periodo “di prova” di Windows, ciò è alla base dei periodi trial di Microsoft tutt’oggi, sia per Windows che per Office). Questo era ciò che nel libro di teoria potevi trovare pressoché ovunque, ma che come ogni medaglia, dava il meglio di sé voltando la prima faccia. Un SysPrep comprendente un parametro di Rearm, andava a dare un’occhiata a quello che era il contatore di sistema, che puoi facilmente richiamare ancora oggi eseguendo il comando slmgr.vbs -dlv (come suggerito anche nel forum di Microsoft):

A fatal error occurred while trying to sysprep the machine

Lo screenshot qui sopra fa riferimento a quel vecchio sistema 7 che dovevo mandare in SysPrep nel 2014, e che riportava uno zero in corrispondenza della voce “Numero di ripristini di Windows rimanenti“, era proprio lui a impedirmi di portare a termine il mio compito. Come si aggirava e si aggira tutt’oggi (se hai ancora a che fare con Windows 7, nda) l’ostacolo? Semplice. Si va a modificare la chiave di registro che ne controlla il contatore.

Per farlo però, ti occorre mandare in recovery il sistema, premendo F8 durante l’avvio dell’OS e selezionando la voce relativa alla partenza avanzata di Windows (Advanced Boot Options), quella che ti permette di avere un prompt dei comandi. Dal prompt dovrai semplicemente fare tre operazioni relative al registro di Windows:

reg load HKLM\MY_SYSTEM "%~dp0Windows\System32\config\system"
reg delete HKLM\MY_SYSTEM\WPA /f
reg unload HKLM\MY_SYSTEM

Se la modifica va a buon fine, potrai riavviare la macchina e rilanciare il comando slmgr.vbs -dlv per verificare che il contatore sia tornato a mostrare un numero di possibili Rearm positivo. Se Windows dovesse richiederti il Product Key, ignora il passaggio e recuperalo in seguito, anche via prompt dei comandi, sempre passando per il slmgr.vbs. Il comando completo per passare un Product Key al sistema è slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX dove, chiaramente, dovrai andare a sostituire la serie di “X” con il codice in tuo possesso. Se non lo hai, utilizzane uno a tempo (scadono entro un mese):

  • Windows 7 Ultimate: D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV
  • Windows 7 Professional: HYF8J-CVRMY-CM74G-RPHKF-PW487
  • Windows 7 Home Premium: RHPQ2-RMFJH-74XYM-BH4JX-XM76F
  • Windows 7 Home Basic: YGFVB-QTFXQ-3H233-PTWTJ-YRYRV
  • Windows 7 Starter: 7Q28W-FT9PC-CMMYT-WHMY2-89M6G

A tutto questo c’è un’alternativa che ti permette di bypassare il contatore dei Rearm e fare SysPrep perdendo un po’ meno tempo. È riportata in un articolo che mi è tornato molto utile in passato (questo: mickitblog.blogspot.it/2011/08/fatal-error-occurred-while-trying-to.html), questo il riassunto:

  • Nel file Unattend.xml cerca e cancella il parametro skiprearm=1
  • Nel regedit, naviga in HKLM\SYSTEM\Setup\Status\SysprepStatus, quindi cerca e imposta GeneralizationState a 7
  • Da un prompt dei comandi, lancia prima un msdtc -uninstall, fai seguire poi un msdtc -install
  • Torna nel regedit, naviga in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform, quindi cerca e imposta il valore SkipRearm a 1
  • Togli il cavo di rete dalla macchina (e disconnettila dal WiFi, se connessa)
  • Rilancia il SysPrep.

E se invece è un problema di profilo?

Può capitare anche questo, ed è il secondo caso più comune. Hai preparato il sistema, sei partito da un’immagine già esistente, da fondamenta già gettate e apparentemente ben solide ma, all’ultimo minuto, il SysPrep va in errore per cause apparentemente sconosciute, strane da interpretare. Potresti scoprire che in realtà si tratta di un vecchio profilo locale rimosso, ma rimasto “appeso” nel registro di sistema. Se ne parlava in un vecchio thread nel forum, tra le possibili soluzioni: social.technet.microsoft.com/Forums/windows/en-US/2aa9466d-a203-4f3e-80d9-f1ae6d11f6c5/sysprep-failed-at-microsoftwindowsshellsetup?forum=w7itproinstall

È ancora una delle vie d’uscita poco considerate, ma che possono toglierti le castagne dal fuoco. Avvia il regedit, naviga in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList. Noti nulla di strano? Se qui compare un profilo non più presente sulla macchina, la CopyProfile prevista dal tuo file XML unattend non potrà mai andare a buon fine, generandoti l’errore a video.

Cancella la chiave di registro (intera) relativa al profilo non più esistente. Riprova ora il SysPrep, molto probabilmente andrà a buon fine e tu potrai concludere il lavoro.

Cosa dice Microsoft

Raccoglie qualche riferimento all’interno di un documento ufficiale di Support, che tu stesso puoi leggere puntando il browser a support.microsoft.com/en-us/help/929828/an-error-message-occurs-when-you-run-sysprep-generalize-in-windows-vis, probabilmente però questo non riuscirà a dare risposta alla tua domanda e difficoltà, ma questa è un’altra storia.

Ciò che mi auguro è che l’articolo, rispolverato e rimesso più o meno in ordine, possa darti realmente una mano in caso di difficoltà con questo ottimo strumento che è SysPrep.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Lenovo T440s aziendale. Installazione delle patch mensili che arrivano da Microsoft, a loro volta recapitate dal nostro WSUS. In seguito all’aggiornamento e riavvio del sistema, noto che il PC mi presenta davanti una schermata completamente nera (il “black screen” del titolo di questo articolo) nel caso in cui io mi allontani dalla postazione bloccando la sessione (tasto WIN + L) e risvegliando il monitor (che Windows 10 spegne praticamente subito). Cursore che lampeggia, il nulla completo oltre quello.

Tolgo e rimetto il laptop nella docking station, la schermata torna disponibile, posso finalmente reimmettere le mie credenziali e ricominciare a lavorare.

KB4022725, black screen e patch da nascondere (per ora) 2

Qualche rapida imprecazione, un ragionamento su cosa possa avere causato il problema, ricondurre il tutto all’aggiornamento dell’OS, perché quel driver aggiornato subito prima non aveva nulla a che fare con la scheda video. Una rapida ricerca sul web (il WSUS distribuisce gli aggiornamenti con qualche giorno di ritardo rispetto al patch-Tuesday). Ho trovato questo:

KB4022725 causes black screen on laptop. from windows

Patch disinstallata, PC riavviato, problema che non si verifica più (prima riuscivo a riprodurlo a colpo sicuro). A questo punto non rimane che prendere la via più diretta e passare dalla nota di supporto 3073930 che propone il tool ufficiale per nascondere gli update su Windows 10, trovi qui la pagina ufficiale: support.microsoft.com/en-us/help/3073930/how-to-temporarily-prevent-a-driver-update-from-reinstalling-in-window

Il tool, una volta scaricato e avviato, ti permetterà di ricercare e nascondere un aggiornamento di sistema che non vuoi installare (teoricamente non puoi rifiutarti di aggiornare Windows 10, non secondo l’idea di Microsoft!). L’uso è talmente banale che ti dovrebbero bastare queste due immagini per capire cosa fare:

Aggiornamenti dal fronte (KB4022716, 15063.447)

Sono quelli relativi al rilascio di un nuovo fix di Microsoft che dovrebbe andare a correggere gli errori creati dal KB4022725. Trovi sul sito di Microsoft una scheda relativa a tutto ciò che porta con sé: support.microsoft.com/en-us/help/4022716/windows-10-update-kb4022716.

KB4022725, black screen e patch da nascondere (per ora) 3

Per il momento installata, nei prossimi giorni mi basterà riprodurre il problema e capire se è stato realmente risolto, nonostante sembra che da report degli utenti risultino ancora delle rogne poco simpatiche: windowsreport.com/kb4022716-issues:

Black screen issues

Users report that KB4022716 also causes black screen issues. The only solution to fix this problem is to uninstall the update.

e ancora:

Display doesn’t come back from sleep

Users report that their computers won’t come back from sleep after installing KB4022716. In the best case scenario, all users get is a black screen with a white mouse cursor. It appears that this problem is prevalent for Surface devices.

After installation of KB4022716 this morning, my previously stable Surface Book […] consistently fails to wake properly from sleep. If I get anything at all, it’s a blinking cursor on a black screen. Pressing and holding the power button eventually brings up a “slide to shut down” screen, and cancelling this gets me back to the Windows desktop.

It seems that this update introduced a huge bug in the lock screen. For the time being, the only solution is to simply uninstall it.

Mi siedo, provo a lavorare normalmente, aggiorno l’articolo se necessario. Tu hai rilevato gli stessi problemi sul tuo Windows Creators Update (1703)?

Update

aggiornamento del 3/7/17

Ci ho provato, è innegabile, ma evidentemente in Microsoft non hanno ben chiaro cosa voglia dire risolvere i problemi del “Black Screen and Mouse Cursor Keep Blinking” da molti lamentato (me compreso). Continuano a susseguirsi feedback sulla community e nell’hub di Microsoft (quello navigabile e utilizzabile da ogni Windows 10), così come tweet (ricchi di insulti, tra l’altro) e stati di Facebook. Andiamo al punto, questa discussione si è sviluppata e contiene molte lamentele (alcune molto simili alla mia configurazione): answers.microsoft.com/en-us/windows/forum/windows_10-update/update-kb4022716-causing-black-screen-after-screen/95dc60cc-07d3-4b77-9a94-0c2366b8af53. Qui trovi invece il feedback su Hub, dai il tuo voto per contribuire a una più rapida risoluzione da parte di Microsoft: aka.ms/Nxw1a7.

KB4022725, black screen e patch da nascondere (per ora) 4

Un consiglio: non ascoltare il suggerimento relativo alla disinstallazione di prodotti antivirus di terze parti, non serve a nulla e non ha alcun senso. Se dopo un’installazione di una patch Microsoft, il sistema ha un problema, non può essere dovuto a decine di prodotti antivirus differenti. C’è gente che ha risolto disinstallando Comodo, altra Symantec, altra ancora Kaspersky. Ti sembra possibile che contemporaneamente tutti questi prodotti di terze parti abbiano una rogna in comune?

Il metodo rimane quindi quello suggerito nell’articolo principale: utilizzare lo strumento di supporto 3073930 per nascondere temporaneamente il fix di Microsoft:

KB4022725, black screen e patch da nascondere (per ora) 5

Ora non resta che aspettare che Microsoft rilasci il fix del fix del fix.

 

Condividi l'articolo con i tuoi contatti:

Tutto nasce da una richiesta (un commento) nell’articolo originale dedicato alla stampa automatica che tiene d’occhio una cartella di Dropbox. Non so se te lo ricordi, ma eventualmente ti rinfresco la memoria:

Stampare in automatico da Dropbox

Quello di cui ti parlo oggi è un metodo alternativo, che sfrutta un programma di terza parte che può, tra le altre cose, tenere d’occhio una specifica cartella del disco e lanciare alcune azioni, tra le quali la stampa di un documento, anche in più copie (semplicemente facendo un lancio dietro l’altro, di una singola stampa, coadiuvato da un piccolo script in PowerShell che va a fare pulizia in seguito). L’applicazione è gratuita, si chiama Folder Agent e la scarichi da qui: folderagent.com

Stampare automaticamente da una cartella di Windows (con Folder Agent)

Per fartela breve, una volta installata e avviata, potrai immediatamente dargli una cartella da tenere d’occhio, quindi creare una “todo list” di azioni che verranno eseguite in successione quando un file comparirà all’interno di quella cartella, un po’ come se venisse lavorato e poi smaltito, così da tenere la cartella sempre pulita, pronta per un successivo “inizio-processo-fine“.

Questo è il mio esempio, dedicato a coloro che hanno necessità di stampare un documento PDF in più copie (nell’esempio: 2), con successiva chiusura del programma (Adobe Acrobat Reader, nda) per evitare che rimanga aperta la finestra sul PC:

Stampare automaticamente da una cartella di Windows

Lo sleep di 10 secondi serve al sistema per permettere di lavorare senza che le operazioni in rapida successione impediscano il corretto susseguirsi delle azioni richieste (con c’è pausa prevista tra le azioni, devi quindi prevederla tu quando necessario). Lo script di PowerShell che richiamo all’ultimo step, invece, serve esclusivamente a chiudere i processi aperti di Adobe Acrobat Reader, così da lasciare inutilmente aperto un programma (consuma RAM, in ogni caso). Occhio però: se in quel momento stai utilizzando il software per altri motivi (e per altri documenti) subirà la stessa sorte di quello utilizzato per lanciare il doppio processo di stampa, dovrai quindi riaprirlo:

Stampare automaticamente da una cartella di Windows 1

Non c’è altro da sapere. Il programma è molto semplice da utilizzare e permette di lanciare un set di operazioni che possono facilmente essere provate in ambiente di test, senza danneggiare quello di lavoro (quindi di produzione). Una volta padroneggiata l’interfaccia di Folder Agent, la strada è tutta in discesa :-)

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Di strada da quell’articolo del 2011 se n’è fatta tanta, e anche Mozilla ha modificato il comportamento del suo Session Restore integrato nel browser. In realtà le cose sono state modificate nel 2014, ma non ho mai avuto la reale necessità di cambiare il comportamento di SessionStoreBackup, almeno fino a oggi.

Firefox: disabilitare scansione antivirus nel download manager integrato

Perché proprio oggi?

Perché se anche tu utilizzi le versioni non stabili del browser Mozilla (le Nightly), ti sarai già accorto che di tanto in tanto qualcosa di spiacevole può accadere. Tutto risolvibile, sia chiaro, ma bisogna stare accorti, sempre pronti sul pezzo e con le dovute armi a propria disposizione per evitare di perdere dati che ci servono, ai quali teniamo particolarmente, come (nel mio caso) le tab aperte di sessione in sessione. Io utilizzo –da sempre– l’opzione che riapre ciò che ho lasciato aperto l’ultima volta che ho utilizzato il browser, delegando così un compito importante al file sessionstore.js, solitamente presente nella cartella del profilo (ormai dovresti saperlo), ma che può corrompersi ed essere sovrascritto, facendoti perdere così la tua sessione di navigazione salvata.

Per ovviare al problema, il mio SessionStoreBackup ha sempre lavorato portando a casa il risultato, ma l’ho modificato per tenere al sicuro il file di recovery previsto da Mozilla (recovery.js), così da evitare di incorrere in possibili rogne. Dato che l’ho riaperto, ho guardato sotto al cofano e deciso di cambiare metodo, di non salvarne più copie, ma di tenerne sempre una, quella più aggiornata, confrontandola di volta in volta con quella che vive nella cartella del profilo di Firefox, quella vera, quella creata dal browser (e non clonata da me).

Questo è il “nuovo” script (il solito in realtà, ma un po’ rivisto):

Rimane invariato il modo di dichiarare il nome della cartella del tuo profilo (devi sostituire TUOPROFILO.default in riga 5 con ciò che trovi accedendo a about:support, quindi facendo clic sul pulsante Apri cartella vicino la voce Cartella del profilo). Da quella riga in poi, non c’è più bisogno di toccare alcunché, il piccolo batch farà tutto il resto. Ricorda poi che il software può essere lanciato manualmente con il classico doppio clic o (decisamente consigliato) programmato tramite le operazioni pianificate di Windows, così da “potertene dimenticare“.

Fallo girare ogni ora circa, così da tenere sempre aggiornato il tuo recovery.js, tornerà parecchio utile quando le tue sessioni risulteranno essere perse a causa di un crash di Firefox (non solo di Nightly eh).

Recupero manuale della sessione

Manuale ma semplice, te lo assicuro. Il batch si occupa della prima parte del lavoro, quella del backup, quella che generalmente ci si dimentica di fare e che è quindi importante programmare e lasciare fare a lui per evitare possibili errori. A te tocca, solo in caso di necessità, prendere il file di backup e andare a fare un rapido lavoro di taglio e cucito con Firefox chiuso, così da permettergli di riprendere la giusta sessione di lavoro alla sua riapertura.

Nella cartella del tuo profilo dovranno esistere due cartelle. La prima è quella del mio batch, si chiama SessionStoreBackup (che fantasia eh?) e dovrebbe contenere esclusivamente un file, il recovery.js. La seconda cartella è invece quella ufficiale di Mozilla, la sessionstore-backups, dovrebbe contenere questi file:

  • recovery.js – Contiene lo stato di Firefox aggiornato a 15 secondi prima di una chiusura o di un crash.
  • recovery.bak – Come sopra, ma lo stato è quello aggiornato a 30 secondi prima dell’accaduto.
  • previous.js – Contiene lo stato di Firefox relativo a due chiusure di programma fa (volute o per crash improvviso).
  • upgrade.js-[build id] – Contiene lo stato di Firefox a prima di un aggiornamento a nuova versione, il “build-id” ovviamente corrisponderà alla data di upgrade (per esempio: 20170619030208).

Saltando a piè pari questa cartella, puoi utilizzare il recovery.js generato dal batch:

  • taglialo e incollalo nella cartella del tuo profilo.
  • Cerca (ammesso che esista) il file sessionstore.js. Se esiste, cancellalo.
  • Ora rinomina il file recovery.js in sessionstore.js
  • Avvia Firefox, dovresti poter rivedere ogni tab lasciata precedentemente aperta :-)

Puoi fare la stessa identica cosa con i file generati da Mozilla, ma capita talvolta che più crash (dovuti magari a qualche instabilità o incompatibilità con un componente aggiuntivo, per esempio) vadano a rendere inutilizzabili i vari js. SessionStoreBackup cerca di evitare tutto questo mettendoti a disposizione un file teoricamente sempre valido (il “teoricamente” è inevitabile, perché se nel frattempo parte il batch e scopre che il file è cambiato, andrà a sovrascrivere la tua copia, invalidandola), il tutto a meno di modificare ulteriormente il software e fargli creare più versioni del recovery.js.

Cosa ne pensi?

Condividi l'articolo con i tuoi contatti:

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"!

Reinstallazione di Windows 10 (la 1703) su un nuovo Lenovo ThinkPad E570, tutti i driver al loro posto tranne uno, nonostante io abbia fatto il download completo dalla pagina dedicata sul sito di supporto del produttore (questa, per la cronaca: pcsupport.lenovo.com/it/it/products/laptops-and-netbooks/thinkpad-edge-laptops/thinkpad-e570/downloads).

Il driver in questione è quello siglato VID_138A, a prescindere dal PID che lo segue, che è ininfluente per questo specifico caso:

Lenovo ThinkPad E570 e il driver sconosciuto ()

Si tratta del lettore di impronte che è stato incluso nell’E570. Puoi scaricare i driver adatti dalla pagina pcsupport.lenovo.com/it/it/downloads/DS103635, sono validi per Windows 10 a 32 o 64 bit. Così facendo risolverai il tuo problema, anche se continuo a non capire perché Lenovo abbiamo dimenticato di elencarlo all’interno della pagina ufficiale del prodotto, non l’ho trovato neanche togliendo il filtro sui driver per Windows 10 a 64 bit (ottenendo così l’elenco completo, anche per altre versioni del sistema)!

Buon lavoro.

p.s. anche per questa serie, il blocco del tasto “Fn”, si ottiene tramite la pressione di Fn+Esc, giusto per la cronaca e per chi come me odia il default impostato a Fn sempre attivo ;-)

Condividi l'articolo con i tuoi contatti: