none
Sysprep e configurazione automatica RRS feed

  • Domanda

  • Buongiorno,

    la nostra azienda ha acquistato un lotto di PC e vorremmo modificare l'installazione inclusa di Windows nel modo seguente:

    1. aggiungendo la dotazione software di base utilizzata dai nostri uffici, e rimuovendo quelli non ritenuti utili (app metro incluse)
    2. mantenendo la configurazione dei driver (i PC del lotto sono identici)
    3. deve essere attivo l'utente Administrator locale (e impostata la relativa password)
    4. deve essere completamente saltata la configurazione iniziale (OOBE)

    Saltando la configurazione iniziale, le impostazioni automatiche dovrebbero essere:

    • lingua italiana per il sistema per l'inserimento dell'input
    • accettazione dell'accordo di licenza (EULA)
    • disattivazione di Windows Firewall e Windows Defender (nel software di base è incluso un antivirus alternativo)
    • disattivazione completa di Cortana e degli altri servizi con invio dati a Microsoft
    • non impostazione del primo account utente (c'è già Administrator, e i PC dovranno essere in seguito inseriti in dominio)
    • rimozione delle "stampanti" Microsoft PDF e XPS

    Stiamo provando a generare le immagini di base con Sysprep e il seguente file di risposte, generato con Windows System Image Manager e l'immagine di installazione standard scaricata dal sito Microsoft (non disponiamo dei supporti di installazione dei PC acquistati):

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="specialize">
            <component name="Microsoft-Windows-Printing-Spooler-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">
                <RemoveMPDW>1</RemoveMPDW>
                <RemoveMXDW>1</RemoveMXDW>
            </component>
            <component name="Microsoft-Windows-SQMApi" 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">
                <CEIPEnabled>0</CEIPEnabled>
            </component>
            <component name="Networking-MPSSVC-Svc" 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">
                <DomainProfile_EnableFirewall>false</DomainProfile_EnableFirewall>
                <PrivateProfile_EnableFirewall>false</PrivateProfile_EnableFirewall>
                <PublicProfile_EnableFirewall>false</PublicProfile_EnableFirewall>
                <DomainProfile_DisableNotifications>true</DomainProfile_DisableNotifications>
                <PrivateProfile_DisableNotifications>true</PrivateProfile_DisableNotifications>
            </component>
            <component name="Security-Malware-Windows-Defender" 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">
                <DisableAntiSpyware>true</DisableAntiSpyware>
            </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">
                <ComputerName>*</ComputerName>
                <CopyProfile>true</CopyProfile>
            </component>
        </settings>
        <settings pass="generalize">
            <component name="Microsoft-Windows-PnpSysprep" 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">
                <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
            </component>
        </settings>
        <settings pass="oobeSystem">
            <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>
                    <HideEULAPage>true</HideEULAPage>
                    <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                    <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                    <ProtectYourPC>3</ProtectYourPC>
                </OOBE>
            </component>
            <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>it-IT</InputLocale>
                <SystemLocale>it-IT</SystemLocale>
                <UILanguage>it-IT</UILanguage>
                <UILanguageFallback>en-US</UILanguageFallback>
                <UserLocale>it-IT</UserLocale>
            </component>
        </settings>
        <settings pass="auditSystem">
            <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">
                <AutoLogon>
                    <Password>
                        <Value>***</Value>
                        <PlainText>false</PlainText>
                    </Password>
                    <Username>Administrator</Username>
                    <Enabled>true</Enabled>
                    <LogonCount>5</LogonCount>
                </AutoLogon>
                <UserAccounts>
                    <AdministratorPassword>
                        <Value>***</Value>
                        <PlainText>false</PlainText>
                    </AdministratorPassword>
                </UserAccounts>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="wim:e:/wim/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    

    Riavviando il PC dopo aver salvato l'immagine del disco il software di base è correttamente mantenuto, e non viene eseguita la configurazione dei driver, ma viene comunque riproposta per intero la configurazione iniziale e resta disattivato l'account Administrator. Da altre prove che abbiamo svolto, sembra inoltre che tra le impostazioni del file e quelle regolabili in modalità Audit, prevalgano queste ultime in caso di conflitto.

    In che modo va corretto il file di risposte, per ottenere quanto richiesto?

    Grazie in anticipo per le risposte...

    giovedì 26 aprile 2018 13:47

Tutte le risposte

  • Ho provato ad usare il file indicato come punto di partenza, poi l'ho modificato con Windows SIM rimuovendo le funzionalità deprecate (come da documentazione) e aggiungendo quelle che mi servivano, ottenendo il seguente risultato (ho omesso i dati più "personali"):

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="generalize">
            <component name="Microsoft-Windows-Security-SPP" 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">
                <SkipRearm>0</SkipRearm>
            </component>
            <component name="Microsoft-Windows-PnpSysprep" 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">
                <DoNotCleanUpNonPresentDevices>false</DoNotCleanUpNonPresentDevices>
                <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
            </component>
        </settings>
        <settings pass="specialize">
            <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">
                <ComputerName>*</ComputerName>
                <CopyProfile>true</CopyProfile>
                <RegisteredOrganization>***</RegisteredOrganization>
                <RegisteredOwner>***</RegisteredOwner>
            </component>
        </settings>
        <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>it-IT</InputLocale>
                <SystemLocale>it-IT</SystemLocale>
                <UILanguage>it-IT</UILanguage>
                <UILanguageFallback>en-US</UILanguageFallback>
                <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>
                    <HideEULAPage>true</HideEULAPage>
                    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                    <ProtectYourPC>3</ProtectYourPC>
                    <HideLocalAccountScreen>true</HideLocalAccountScreen>
                    <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                    <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                </OOBE>
                <RegisteredOwner>***</RegisteredOwner>
                <RegisteredOrganization>***</RegisteredOrganization>
                <UserAccounts>
                    <AdministratorPassword>
                        <Value>***</Value>
                        <PlainText>false</PlainText>
                    </AdministratorPassword>
                </UserAccounts>
                <AutoLogon>
                    <Password>
                        <Value>***</Value>
                        <PlainText>false</PlainText>
                    </Password>
                    <Username>Administrator</Username>
                </AutoLogon>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="wim:e:/wim/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    

    Nemmeno in questo modo si risolve il problema: dopo aver riavviato il PC si passa comunque dalla configurazione OOBE, costringendomi a reimpostare tutte le opzioni iniziali (che dovrebbero in realtà essere prelevate dal file) e a creare un nuovo utente amministratore.

    Ci sono altre soluzioni?

    venerdì 27 aprile 2018 11:02
  • La procedura guidata OOBE viene riproposta perché probabilmente è presente un errore nella sezione degli account locali.
    Ti consiglio di provare prima con lo script consigliato nella guida (privo di quella sezione) poi, una volta che hai constatato che effettivamente nella fase OOBE non viene proposto nulla, di provare ad impostare lo script come indicato qui:
    https://social.technet.microsoft.com/Forums/windows/en-US/9bccb61d-0141-44a6-9308-cafea0f3d847/skip-create-local-user-with-sysprep?forum=w7itproinstall
    sabato 28 aprile 2018 07:53
    Moderatore
  • Ho riprovato ora utilizzando il file della guida così com'è senza modifiche, ma non sembra funzionare:

    • è riproposta la scelta della lingua, della zona, del layout di tastiera (già impostate nel file)
    • prova a cercare la connessione ad una rete
    • mi è richiesto nuovamente di accettare la licenza (anche questo già impostato nel file) e di impostare il primo utente del PC
    • mi è richiesto se abilitare Cortana e di scegliere le impostazioni di privacy (e tutto in default risulta attivato)
    • c'è infine un ulteriore passaggio relativo al produttore del PC (Lenovo, in questo caso)

    Insomma, nessuna schermata della OOBE viene saltata o modificata rispetto alla configurazione standard.

    Per inciso, ho anche un altro problema, non so se correlato a questo: quando dopo aver eseguito Sysprep cerco di salvare l'immagine con CloneZilla, mi viene segnalato che il disco è in stato di errore e/o è necessario verificarlo e la creazione dell'immagine non riesce. Ripetendo Sysprep dopo aver riavviato il PC e analizzato il disco con gli strumenti di Windows, riesce il salvataggio dell'immagine ma nulla cambia per quanto riguarda la procedura OOBE...

    lunedì 30 aprile 2018 07:17
  • Allora il problema è sicuramente relativo all'immagine di sistema che stai utilizzando.
    Stai cercando di eseguire la generalizzazione di una immagine OEM? Cioè già preinstallata e personalizzata dal produttore del computer?
    Se si, probabilmente il tuo file unattend viene ignorato perché è già presente uno o più script utilizzati dal produttore.
    Microsoft non fornisce supporto diretto per le immagini OEM, quindi dovresti utilizzare un'immagine pulita di Windows oppure contattare il produttore per capire se è previsto il deploy dell'immagine (molti produttori dichiarano ad esempio che l'installazione è solo per uso domestico, quindi non forniscono supporto per procedure come il sysprep).
    lunedì 30 aprile 2018 14:06
    Moderatore
  • Allora il problema è sicuramente relativo all'immagine di sistema che stai utilizzando.
    Stai cercando di eseguire la generalizzazione di una immagine OEM? Cioè già preinstallata e personalizzata dal produttore del computer?
    Sì, l'immagine è stata preinstallata inizialmente. I nuovi test li sto facendo a partire da un'immagine che ho ottenuto con l'interfaccia grafica di Sysprep, dopo aver installato la dotazione software di base e rimosso le utility non rilevanti per le nostre attività
    Se si, probabilmente il tuo file unattend viene ignorato perché è già presente lo script utilizzato dal produttore.
    Allora, in questo caso, è possibile trovarlo (non avendo a disposizione alcun supporto di ripristino, se non magari qualche utility interna accessibile via BIOS o simile) e provare a modificare quello?
    lunedì 30 aprile 2018 14:13
  • Purtroppo, come ti dicevo, non sono procedure supportate ufficialmente. Inoltre le immagini OEM possono essere configurate anche con pacchetti di provisioning (non disinstallabili) o modifiche più invasive lato sistema operativo.
    Questo è uno dei motivi per cui, generalmente, in una rete aziendale è sconsigliato utilizzate immagini OEM.
    Se utilizzi delle immagini pulite fornite da Microsoft non avrai invece limitazioni.
    lunedì 30 aprile 2018 14:23
    Moderatore