none
Chiarimenti su sysprep e driver RRS feed

  • Domanda

  • Ciao a tutti! Ho bisogno di avere chiarimenti riguardo a sysprep e la gestione dei driver. Sono nella situazione in cui devo installare windows 10 su un sostanzioso parco macchine abbastanza eterogeneo (5/6 hardware diversi). Per risolvere problemi di SID e simili ho optato per sysprep (penso sia anche l'unica soluzione) con l'obbiettivo di creare un immagine unica compatibile per tutti i PC.

    Ma mi son fermato alla questione driver, come gestisco e lascio preinstallati i driver/automatizzo l'installazione?

    Su uno dei PC per ora ho installato il software necessario, i rispettivi driver e sysprep /generalize /oobe /shutdown /unattend:c:\unattend.xml e poi con acronis creato una copia dell'intero disco per poi ripristinarla dove serve.

    se io reimporto tale immagine su ogni hardware diverso, installo i suoi driver, rigeneralizzo l'immagine ne ottengo una che contiente tutti i driver e all'occorrenza mi carica quelli che mi servono?

    martedì 25 febbraio 2020 21:48

Risposte

  • - Si, puoi fare sysprep quante volte vuoi. In realtà precedentemente ad essere limitato a 3 era solo il REARM, quindi in realtà anche in passato potevi farlo quante volte volevi, solo che dovevi avere l'accortezza di aggiungere il parametro SkipREARM allo script di sysprep e poi rimuoverlo solo per il "sysprep finale" prima della distribuzione.
    Ora con Windows 10 non è più praticamente presente nemmeno questo problema in quanto il numero è stato portato a circa 1000.
    - I driver inseriti nel WIM in offline rimangono nella cache dell'immagine, quindi non risultano installati a livello di installazione di Windows ma sono a disposizione nel caso un dispositivo li richieda in seguito alla fase di preparazione iniziale post-deploy. Attenzione che non tutti i driver si reinstallano correttamente in questo modo, a seconda dei casi potresti aver bisogno di installare i driver in online sull'immagine e poi eseguire un sysprep non eseguendo la pulizia/disinstallazione dei driver in fase di generalizzazione.
    - La personalizzazione di elementi particolari quali taskbar, menu Start, ecc.. in Windows 10 può essere complessa, infatti anche utilizzando il copyprofile (che va a riscrivere il profilo default dell'installazione di Windows con quello personalizzato da te) spesso alcune impostazioni non vengono comunque mantenute. In questi casi l'opzione migliore rimane l'utilizzo di GPO locali per eseguire la personalizzazione.
    Attenzione inoltre che in Windows 10 il copyprofile potrebbe portare alla parziale corruzione dei profili, quindi personalmente consiglio di agire direttamente tramite policy e/o di eseguire meno modifiche possibili (e meno invasive possibili). 
    - Gli aggiornamenti possono essere inseriti nell'immagine anche in offline in maniera analoga ai driver.
     



    domenica 6 settembre 2020 07:41
    Moderatore

Tutte le risposte

  • Ho fatto un lavoro simile ed ho fatto in questo modo: houtilizzato un cassett USB con un disco SSD che conteneva la ISO di Windows 10 così è stato molto veloce ad installare poi ho utilizzato Snappy Driver Installer per installare in un colpo solo tutti i Driver sulla macchina.
    Fatto questa ho realizzato la prima immagne del primo gruppo di PC, ne ho poi realizzato altre per gli altri.
    Considera che con la soluzione che ti ho detto se il numero di PC è inferiore a 10-15 forse fai prima a farli tutti con questo modo. se parliamo invece di numeri molto più alti allora forse la strada di una immagine per ogni modello di PC è abbastanza percorribile anche se forse quando hai finito sarà sicuramente uscito qualcosa che nei primi non hai installato.
    martedì 25 febbraio 2020 22:05
  • supererei di gran lunga 10-15 per quello mi piacerebbe averli già preinstallati dentro l'immagine. avrei qualche possibilità?

    • Modificato TeoFed martedì 25 febbraio 2020 23:30
    martedì 25 febbraio 2020 23:30
  • Ciao a tutti! Ho bisogno di avere chiarimenti riguardo a sysprep e la gestione dei driver. Sono nella situazione in cui devo installare windows 10 su un sostanzioso parco macchine abbastanza eterogeneo (5/6 hardware diversi). Per risolvere problemi di SID e simili ho optato per sysprep (penso sia anche l'unica soluzione) con l'obbiettivo di creare un immagine unica compatibile per tutti i PC.

    Ma mi son fermato alla questione driver, come gestisco e lascio preinstallati i driver/automatizzo l'installazione?

    Microsoft ti permette di iniettare i driver nell'immagine, potresti fare una immagine generale, contenente i driver dei 5/6 hw diversi, crei img e a questo punto avrai una immagine "universale" e al primo boot windows installerà i driver corretti.
    Questa operazione è tediosa e con una curva di apprendimento abbastanza ripida e ci vogliono un po' di sforzi per diventare produttivi, dimenticavo, presuppone un cambio di modalita nella creazione dell'immagine https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-and-remove-drivers-to-an-offline-windows-image.

    Su uno dei PC per ora ho installato il software necessario, i rispettivi driver e sysprep /generalize /oobe /shutdown /unattend:c:\unattend.xml e poi con acronis creato una copia dell'intero disco per poi ripristinarla dove serve.

    se io reimporto tale immagine su ogni hardware diverso, installo i suoi driver, rigeneralizzo l'immagine ne ottengo una che contiente tutti i driver e all'occorrenza mi carica quelli che mi servono?

    Corretto, avrai una immagine con i driver di tutti i precedenti hw in cui è stata utilizzata, ma questo modo, molto semplice rischia di avere problemi molto gravi di compatibilità e di performance(se ti va bene, è solo fortuna e se qualcosa non funziona, saprai che non hai un pc "fatto" ad arte). Per anni ho operato in questo modo  fino a quando mi sono accorto di problemi (quando hai svariate centinaia di pc è un problema grave). Ho scoperto che alcune immagini MASTER ereditavano decine di HW diversi, ma questi driver anche se non erano visualizzati, erano comunque attivi (non occupano solo spazio disco) occupavano memoria cpu etc... tanto che avevo un vbs che ripuliva dai vecchi driver invisibili (segui link anche se ha win 10 ) presenti il pc una volta ripristinato.

    Sconsiglio vivamente 'ultima opzione, a meno di operazione di pulizia post ripristino (ora ho qualcosa in powershell che fa la "pulizia" dei drivers)

    Dove lavoro, avevamo messo a punto, un sistema (forse in qualche post di technet, lo spiego) ma con le ultime versioni di win 10 non è più perfetto... e per fare in modo che installi driver gpu e audio, c'è una procedura powershell avviata in automatico al primo boot, tale sistema è usato ancora su circa un migliaio di computer (usiamo clonezilla al posto di acronis).

    Adesso, sto cercando di utilizzare alcuni script powershell, presenti in windows 10, per forzare l'installazione dei driver corretti, presenti in un folder c:\driversPack, potrei scrivere a lungo..

    Se hai dubbi o vuoi approfondire, sono sul pezzo, proprio in questi giorni è in preparazione una img per qualche centinaio di computer.

    Ciao Gas.


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere


    mercoledì 26 febbraio 2020 00:33
    Moderatore
  • Ho fatto un lavoro simile ed ho fatto in questo modo: houtilizzato un cassett USB con un disco SSD che conteneva la ISO di Windows 10 così è stato molto veloce ad installare poi ho utilizzato Snappy Driver Installer per installare in un colpo solo tutti i Driver sulla macchina.
    Fatto questa ho realizzato la prima immagne del primo gruppo di PC, ne ho poi realizzato altre per gli altri.
    Considera che con la soluzione che ti ho detto se il numero di PC è inferiore a 10-15 forse fai prima a farli tutti con questo modo. se parliamo invece di numeri molto più alti allora forse la strada di una immagine per ogni modello di PC è abbastanza percorribile anche se forse quando hai finito sarà sicuramente uscito qualcosa che nei primi non hai installato.

    Come ho spiegato nel post precedente, sconsiglio vivamente tale modo di procedre, soprattutto, se gli hw sono molto diversi (es. mb i7 a mb Xeon ).

    Cloni i pc con una immagine syspreppata (con il generalizza) e poi fai girare snappy su ogni singoòo pc, facendo così non avrai problemi

    Ciao Gastone


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    mercoledì 26 febbraio 2020 00:40
    Moderatore
  • Grazie mille per le delucidazioni. Penso di essere più o meno nella tua stessa situazione con la differenza che ho non ho molta esperienza. Mi piacerebbe approfondire soprattutto due parti, in rete di script per la pulizia driver ne ho trovati diversi ne hai uno da suggerirmi?

    L'altro dubbio che avevo era, se importassi i driver con la modalità online cambia? così poi lancio sysprep oobe generalize e li ho tutti e alla prossima importazione immagine e riavvio eseguo solo la pulizia...


    • Modificato TeoFed mercoledì 26 febbraio 2020 07:43
    mercoledì 26 febbraio 2020 07:42
  • Se non si specifica nello script unattend di sysprep le opzioni DoNotCleanUpNonPresentDevices e PersistAllDeviceInstalls di default i driver di dispositivi non rilevati non vengono reinstallati (al massimo rimangono in pannello di controllo e nelle cartelle Programmi se erano stati installati online e non integrati direttamente nell'immagine in offline, ma questo in genere non causa alcun problema).
    Ho eseguito numerose installazioni di immagini anche su hardware molto diversi (addirittura da immagini pc a Mac BootCamp) e sinceramente, in base alla mia esperienza, non ho mai avuto la necessità di eseguire pulizie a mano su immagini generalizzate.
    Addirittura non ho mai avuto problemi nemmeno nei rari casi dove ero stato costretto ad utilizzare le opzioni che ho indicato precedentemente (ad esempio in caso di driver non compatibili con la generalizzazione, come ad esempio quelli di alcune schede video integrate Intel).
    Tra l'altro non sono sicuro che una pulizia manuale dei driver tramite script in una immagine online possa essere sempre la cosa migliore per l'integrità della stessa, ma questo è un mio parere personale.

     



    mercoledì 26 febbraio 2020 09:07
    Moderatore
  • Se non si specifica nello script unattend di sysprep le opzioni DoNotCleanUpNonPresentDevices e PersistAllDeviceInstalls di default i driver di dispositivi non rilevati non vengono reinstallati (al massimo rimangono in pannello di controllo e nelle cartelle Programmi se erano stati installati online e non integrati direttamente nell'immagine in offline, ma questo in genere non causa alcun problema).
    Ho eseguito numerose installazioni di immagini anche su hardware molto diversi (addirittura da immagini pc a Mac BootCamp) e sinceramente, in base alla mia esperienza, non ho mai avuto la necessità di eseguire pulizie a mano su immagini generalizzate.
    Addirittura non ho mai avuto problemi nemmeno nei rari casi dove ero stato costretto ad utilizzare le opzioni che ho indicato precedentemente (ad esempio in caso di driver non compatibili con la generalizzazione, come ad esempio quelli di alcune schede video integrate Intel).
    Tra l'altro non sono sicuro che una pulizia manuale dei driver tramite script in una immagine online possa essere sempre la cosa migliore per l'integrità della stessa, ma questo è un mio parere personale.

    Mi porto dietro troppa storia e buona parte dei problemi erano driver non pnp (ora forse sono praricamente spariti) risalenti a sistemi operativi precedenti, devo convenire che 10 si comporta meglio dei predecessori.

    Ho chiamato ingiustamente  "pulizia" dei drivers, in realtà, lo script powershell serve per forzare l'installazione dei driver (in particolare video e audio) in sostituzione di quelli generici microsoft e rimuovere driver non utilizzati dallo driverstore.

    Il sistema che usiamo per costruire e distribuire le immagini è molto semplice rispetto quello di Microsoft , lungi da esser perfetto e con le ultime versioni di 10 ci sarà bisogno di cambiare ...

    Tu Fabrizio per fare un immagine multi HW cosa usi per iniettare i driver ? usi mdt?


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    venerdì 28 febbraio 2020 00:20
    Moderatore
  • Dipende, per le mie esigenze specifiche spesso conviene creare direttamente delle immagini "figlie" di una principale generica generalizzata (in WDS, SCCM, ecc.. ora c'è un sistema basato su file differenziali, quindi alla fine per questi WIM figli non si va a sprecare molto più spazio). Per queste immagini installo i driver o direttamente online in fase di personalizzazione finale (spesso su hardware diverso ho anche software diversi) oppure li aggiungo con DISM direttamente nel WIM. Tra l'altro ora in Windows 10 non c'è nemmeno più il problema del conteggio di REARM che c'era ad esempio in Windows 7, quindi si può continuare a personalizzare un'immagine in online senza preoccupazioni dovute al numero di sysprep eseguiti senza SkipREARM.
    MDT o altri sistemi post-deploy sinceramente non li utilizzo spesso non perché non funzionano ma perché almeno per i driver preferisco piuttosto distribuire un'immagine già pronta e testata per l'hardware di destinazione, senza le incognite che possono esserci in un deploy post-distribuzione su un sistema praticamente in funzione con driver generci.
    Ovviamente non voglio dire che è il sistema migliore, ma solo raccontare la mia esperienza personale.

    venerdì 28 febbraio 2020 08:40
    Moderatore
  •  

    Ciao a tutti, considerando che sono domande inerenti a tale argomento riciclo questo mio vecchio post.

    Ho bisogno di sfatare un mito (sempre se lo è ahah): il sysprep generalize su windows 10 posso farlo quante volte voglio? Perché leggevo (post datati però) c'era un limite nei sysprep. C'è ancora? Più sysprep si fanno più si rischia di far male il .wim?

    nel caso in cui:
     - reinstallo l'immagine(file .wim che possiedo)
     - faccio le eventuali modifiche
     - la richiudo tramite "sysprep /generalize /oobe /shutdown /unattend:c:\unattend.xml"
     - ricreo creo il .wim

    Devo ripristinare i driver che avevo in passato iniettato nel .wim o mi rimangono dentro il sistema inattivi?

    Le eventali modifiche che mi riferisco sopra sono le seguenti:
     - https://docs.microsoft.com/it-it/archive/blogs/windowsinternals/windows-10-how-to-configure-file-associations-for-it-pros
     - https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/customize-the-taskbar
     - aggiornamento di un software installato

    soprattutto per la taskbar, la documentazione ufficiale dice che devo entrare in modalità audit. Come la attivo? documentandomi mi sembra aver capito che devo aggiungere una riga al mio unattend.xml
    ma non capisco come... In allegato il file se può essere utile...

    Un ultima domanda, dal punto di vista degli aggiornamenti, se volessi tenere l'immagine aggiornata per evitare lunghi tempi di attesa per riportarla in pari, qual'è il modo migliore di spacchettare e ripacchettare l'immagine? Eventualmente avrei la possibilità di virtualizzare l'immagine per poterla gestire agevolmente.

    Grazie per la pazienza e Saluti!

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <InputLocale>0410:00000410</InputLocale>
                <SystemLocale>it-IT</SystemLocale>
                <UILanguage>it-IT</UILanguage>
                <UserLocale>it-IT</UserLocale>
            </component>
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <OOBE>
                    <VMModeOptimizations>
                        <SkipAdministratorProfileRemoval>false</SkipAdministratorProfileRemoval>
                    </VMModeOptimizations>
                    <HideEULAPage>true</HideEULAPage>
                    <HideLocalAccountScreen>true</HideLocalAccountScreen>
                    <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                    <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                    <UnattendEnableRetailDemo>false</UnattendEnableRetailDemo>
            <ProtectYourPC>3</ProtectYourPC>
                </OOBE>
                <UserAccounts>
                    <LocalAccounts>
                        <LocalAccount wcm:action="add">
                            <Password>
                                <Value>***</Value>
                                <PlainText>true</PlainText>
                            </Password>
                            <Description>Usermigra</Description>
                            <DisplayName>usermigra</DisplayName>
                            <Group>Administrators</Group>
                            <Name>usermigra</Name>
                        </LocalAccount>
                    </LocalAccounts>
                </UserAccounts>
            </component>
        </settings>
    </unattend>

    • Modificato TeoFed venerdì 4 settembre 2020 10:08
    venerdì 4 settembre 2020 10:07
  • - Si, puoi fare sysprep quante volte vuoi. In realtà precedentemente ad essere limitato a 3 era solo il REARM, quindi in realtà anche in passato potevi farlo quante volte volevi, solo che dovevi avere l'accortezza di aggiungere il parametro SkipREARM allo script di sysprep e poi rimuoverlo solo per il "sysprep finale" prima della distribuzione.
    Ora con Windows 10 non è più praticamente presente nemmeno questo problema in quanto il numero è stato portato a circa 1000.
    - I driver inseriti nel WIM in offline rimangono nella cache dell'immagine, quindi non risultano installati a livello di installazione di Windows ma sono a disposizione nel caso un dispositivo li richieda in seguito alla fase di preparazione iniziale post-deploy. Attenzione che non tutti i driver si reinstallano correttamente in questo modo, a seconda dei casi potresti aver bisogno di installare i driver in online sull'immagine e poi eseguire un sysprep non eseguendo la pulizia/disinstallazione dei driver in fase di generalizzazione.
    - La personalizzazione di elementi particolari quali taskbar, menu Start, ecc.. in Windows 10 può essere complessa, infatti anche utilizzando il copyprofile (che va a riscrivere il profilo default dell'installazione di Windows con quello personalizzato da te) spesso alcune impostazioni non vengono comunque mantenute. In questi casi l'opzione migliore rimane l'utilizzo di GPO locali per eseguire la personalizzazione.
    Attenzione inoltre che in Windows 10 il copyprofile potrebbe portare alla parziale corruzione dei profili, quindi personalmente consiglio di agire direttamente tramite policy e/o di eseguire meno modifiche possibili (e meno invasive possibili). 
    - Gli aggiornamenti possono essere inseriti nell'immagine anche in offline in maniera analoga ai driver.
     



    domenica 6 settembre 2020 07:41
    Moderatore
  • Grazie mille per i chiarimenti! Non ho capito però 2 passaggi

    https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/customize-the-taskbar

    qui non parla di copyprofile, stiamo parlando della stessa cosa? Non so ancora come posso entrare in modalità audit... Considerando che il sysprep è stato portato a 1000 non mi pongo il problema?


    domenica 6 settembre 2020 22:46
  • No, non mi riferivo a questa specifica procedura ma in generale alla configurazione di un profilo default per la personalizzazione: https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-copyprofile
    In realtà non capisco perché in questa guida dice di entrare obbligatoriamente in Audit, la chiave di registro per local machine può essere inserita con qualsiasi account amministrativo, non serve entrare con l'Administrator completo in Audit (anche se sicuramente è più "sicuro" perché ha sicuramente privilegi di scrittura).
    Quindi aggiungi semplicemente la chiave e l'XML come specificato prima di fare la generalizzazione.
    lunedì 7 settembre 2020 07:14
    Moderatore
  • infatti, stonava anche a me... Va bene procedo in questo modo. Grazie
    lunedì 7 settembre 2020 07:56
  • Mi è venuto un altro dubbio... dato che sono sotto un wsus non in mia gestione come posso applicare offline solo gli aggiornamenti che lui "approva"?
    domenica 13 settembre 2020 20:28
  • Dovresti farti la lista degli aggiornamenti approvati, scaricare i pacchetti e poi integrarli manualmente nell'immagine.
    lunedì 14 settembre 2020 09:46
    Moderatore
  • Ok grazie! Altro quesito, avendo il .wim in modo offline, come modifico il registro, ho modo di modificare le GPO locali? Riaprire l'immagine per 2 stupidate non mi va...
    venerdì 18 settembre 2020 08:14
  • Puoi montare il WIM in una cartella con DISM, in quel modo vedresti tutti i file dell'installazione di Windows.
    A quel punto per il registro puoi montare l'hive in offline con regedit:
    https://4sysops.com/archives/regedit-as-offline-registry-editor/

    Per le GPO potresti inserirle tramite sovrascrittura della cartella GroupPolicy in system32 ma a quel punto, visto che non puoi utilizzare il gpupdate per riversare le modifiche sul registro, tanto vale modificare direttamente il registro o fare entrambe le cose se vuoi mantenere una "visualizzazione grafica" delle policy.


    sabato 19 settembre 2020 19:45
    Moderatore