Aggiungere script di estendibilità per la reimpostazione rapida
Gli OEM possono inserire script personalizzati eseguiti quando un utente esegue le funzionalità di reimpostazione rapida: mantieni i miei file e Rimuovi tutto.
È possibile usare script di estendibilità o cartelle applica automaticamente per ripristinare personalizzazioni comuni non ripristinate in altro modo, tra cui:
- The Start Menu
- Barra delle applicazioni
- Configurazione guidata
- personalizzazioni Unattend.xml
Inoltre, gli script di estendibilità possono essere utili per eseguire altre attività, ad esempio:
- Modifica di partizioni di dati o utilità
- Salvataggio e ripristino di file che normalmente non vengono mantenuti dalla funzionalità Mantieni i file .
Nota
Se si includono cartelle applica automaticamente, non è consigliabile includere script di estendibilità. Se si includono sia cartelle di applicazione automatica che script di estendibilità, le cartelle applica automaticamente verranno ignorate.
Informazioni sull'aggiunta di script di estendibilità
Per aggiungere script di estendibilità, è necessario comprendere i concetti seguenti:
- Punti di estendibilità : punti diversi durante il processo di reimpostazione rapida in cui è possibile eseguire script personalizzati.
- Script di estendibilità : script eseguiti in un punto di estendibilità definito.
- File di configurazione reimpostazione rapida (ResetConfig.xml): un file definisce gli script da eseguire in punti di estendibilità diversi.
Abilitare gli script durante il ripristino
Per aggiungere script di estendibilità alla reimpostazione rapida del pulsante, aggiungere tutte le operazioni seguenti nella C:\Recovery\OEM
cartella :
- File di configurazione di reimpostazione rapida (ResetConfig.xml) che definisce gli script da eseguire.
- Script di estendibilità
- Tutti i file richiesti dagli script di estendibilità.
Script di estendibilità
Requisiti:
- Gli script vengono formattati come file con estensione cmd o .exe.
- Gli script non dipendono dai componenti facoltativi di Windows PE non presenti nell'immagine RE di Windows predefinita (winre.wim).
- Gli script non dipendono dai file binari (ad esempio, .exe o .dll file) non presenti nell'immagine RE di Windows predefinita (winre.wim).
- Gli script vengono eseguiti senza visualizzare un'interfaccia utente grafica (GUI).
- Gli script completano tutte le funzioni previste entro 5 minuti per ogni punto di estendibilità.
- Lo script non deve modificare le lettere di unità. Ciò può causare l'esito negativo del ripristino.
- Se lo script ha esito positivo, deve restituire (
0
zero). Se la reimpostazione rapida riceve un valore diverso da 0, vengono eseguiti i passaggi seguenti:- Se si esegue la funzionalità Mantieni i file : viene eseguito il rollback di tutte le modifiche di sistema. Se lo script o il file eseguibile viene avviato dal menu delle impostazioni del PC Windows, il sistema viene riavviato in Windows. Se lo script o il file eseguibile viene avviato da Windows RE o dal menu di avvio avanzato , il sistema rimane in Windows RE e visualizza un messaggio di errore.
- Se si esegue la funzionalità Rimuovi tutto : l'errore viene ignorato. Lo script o il file eseguibile procede con il passaggio successivo del processo di reimpostazione e registra l'errore.
File di configurazione reimpostazione rapida (ResetConfig.xml)
Aggiungere un file ResetConfig.xml in modo che punti agli script di estendibilità di reimpostazione rapida.
Questo file deve essere salvato con il tipo di file UTF-8. Non usare la codifica ANSI. Ad esempio, nel Blocco note fare clic su File e quindi su Salva con nome. Nella casella Codifica selezionare UTF-8.
Salvare questo file e copiarlo nelle immagini di Windows come C:\Recovery\OEM\ResetConfig.xml
.
È possibile usare lo stesso file ResetConfig.xml per configurare Windows per creare supporti di ripristino. Per altre informazioni, vedere Deploy Push-Button Reset Features.For more information, see Deploy Push-Button Reset Features.
Esistono quattro punti di estendibilità che è possibile usare per puntare agli script eseguiti vicino all'inizio e alla fine delle operazioni Mantieni i file o Rimuovi tutto . Per le personalizzazioni comuni, in genere è necessario un solo script, come illustrato nello script di esempio seguente.
Punti di estendibilità
La funzionalità Mantieni i file può essere riepilogata nei passaggi seguenti:
- Il PC viene avviato nell'ambiente di ripristino di Windows (Windows RE).
- EXTENSIBILITY POINT A (BasicReset_BeforeImageApply): aggiungere uno script qui per copiare file, driver o impostazioni di cui non viene eseguita la migrazione per impostazione predefinita quando l'utente esegue la funzionalità Mantieni i file .
- Gli account utente, le impostazioni e i dati vengono raccolti e spostati in una posizione temporanea.
- Una nuova copia del sistema operativo viene costruita in un percorso temporaneo usando i file dall'Archivio componenti di Windows.
- Le personalizzazioni archiviate nei pacchetti di provisioning in C:\Recovery\Customizations vengono applicate al nuovo sistema operativo.
- I driver vengono copiati dal sistema operativo esistente e inseriti nel nuovo sistema operativo.
- Le app di Windows preinstallate vengono ripristinate dal percorso di backup.
- Le impostazioni critiche del sistema vengono applicate al nuovo sistema operativo.
- Il sistema operativo esistente viene spostato in C:\Windows.old.
- Il nuovo sistema operativo viene spostato nella radice del volume del sistema operativo.
- EXTENSIBILITY POINT B (BasicReset_AfterImageApply): aggiungere uno script qui per ripristinare i file di personalizzazione (unattend.xml, layoutmodification.xml) o ripristinare file e impostazioni di cui è stato eseguito il backup nel punto di estendibilità A.
- Il PC viene riavviato nel nuovo sistema operativo.
- Durante il primo avvio, i dati utente e le impostazioni vengono riapplicati.
La funzionalità Rimuovi tutto può essere riepilogata nei passaggi seguenti:
- Il PC viene avviato nell'ambiente di ripristino di Windows (Windows RE).
- Gli account utente, i dati e le app di Windows installate e le applicazioni desktop di Windows vengono rimossi dal volume del sistema operativo.
- I volumi di dati vengono formattati (se richiesto dall'utente).
- La cancellazione dei dati viene eseguita nei volumi di dati e del sistema operativo (se richiesto dall'utente).
- EXTENSIBILITY POINT C (FactoryReset_AfterDiskFormat): aggiungere uno script qui per riconfigurare le partizioni di dati, se necessario. Importante: non modificare la partizione di Windows.
- Una nuova copia del sistema operativo viene costruita in un percorso temporaneo usando i file dall'Archivio componenti di Windows.
- Le personalizzazioni archiviate nei pacchetti di provisioning in C:\Recovery\Customizations vengono applicate al nuovo sistema operativo.
- I driver vengono copiati dal sistema operativo esistente e inseriti nel nuovo sistema operativo.
- Le app di Windows universali preinstallate vengono ripristinate dal percorso di backup.
- Il sistema operativo esistente viene rimosso.
- Il nuovo sistema operativo viene spostato nella radice del volume del sistema operativo.
- EXTENSIBILITY POINT D (FactoryReset_AfterImageApply): aggiungere uno script qui per ripristinare i file di personalizzazione (unattend.xml, layoutmodification.xml).
- Il PC viene riavviato nel nuovo sistema operativo.
- Viene avviata la Configurazione guidata.
Esempio: ripristinare le personalizzazioni del menu Start, della barra delle applicazioni, della configurazione guidata e delle unattend.xml
Di seguito è riportato lo script di esempio e il file di esempio ResetConfig.xml che interagiscono per ripristinare personalizzazioni comuni durante la reimpostazione rapida del pulsante Windows 11. È possibile testare il ripristino tramite pulsante push usando questi esempi. Per eseguire il test con questi esempi:
- Salvare quanto segue nella
C:\Recovery\OEM
cartella :- Script di esempio CommonCustomizations.cmd
- Il file di configurazione di reimpostazione rapidaResetConfig.xml
- Copia del file di configurazione del menu Start (LayoutModification.json)
- Copia del file di configurazione della barra delle applicazioni (TaskbarLayoutModification.xml)
- Copia del file unattend.xml
Di seguito è riportato lo script di esempio e il file di esempio ResetConfig.xml che interagiscono per ripristinare personalizzazioni comuni durante la reimpostazione rapida del pulsante di Windows 10. È possibile testare il ripristino tramite pulsante push usando questi esempi. Per eseguire il test con questi esempi:
- Salvare quanto segue nella
C:\Recovery\OEM
cartella :- Script di esempio CommonCustomizations.cmd
- Il file di configurazione di reimpostazione rapidaResetConfig.xml
- Copia del file di configurazione del menu Start (LayoutModification.xml)
- Copia del file di configurazione della barra delle applicazioni (TaskbarLayoutModification.xml)
- Copia del file unattend.xml
- Copiare l'intera cartella OOBE e le relative sottocartelle in
%WINDIR%\System32\Oobe\Info\
C:\Recovery\OEM\OOBE\Info
.
CommonCustomizations.cmd
Questo file copia i file di personalizzazione dalla cartella Recovery nel sistema operativo ripristinato.
rem CommonCustomizations.cmd
rem Define %TARGETOS% as the Windows folder (This later becomes C:\Windows)
for /F "tokens=1,2,3 delims= " %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RecoveryEnvironment" /v TargetOS') DO SET TARGETOS=%%C
rem Define %TARGETOSDRIVE% as the Windows partition (This later becomes C:)
for /F "tokens=1 delims=\" %%A in ('Echo %TARGETOS%') DO SET TARGETOSDRIVE=%%A
rem Add back Windows settings, Start menu, Taskbar, and OOBE.xml customizations
copy "%TARGETOSDRIVE%\Recovery\OEM\Unattend.xml" "%TARGETOS%\Panther\Unattend.xml" /y
copy "%TARGETOSDRIVE%\Recovery\OEM\LayoutModification.json" "%TARGETOSDRIVE%\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.json" /y
copy "%TARGETOSDRIVE%\Recovery\OEM\TaskbarLayoutModification.xml" "%TARGETOS%\OEM\TaskbarLayoutModification.xml" /y
xcopy "%TARGETOSDRIVE%\Recovery\OEM\OOBE\Info" "%TARGETOS%\System32\Oobe\Info\" /s
rem Recommended: Create a pagefile for devices with 1GB or less of RAM.
wpeutil CreatePageFile /path=%TARGETOSDRIVE%\PageFile.sys /size=256
EXIT 0
rem CommonCustomizations.cmd
rem Define %TARGETOS% as the Windows folder (This later becomes C:\Windows)
for /F "tokens=1,2,3 delims= " %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RecoveryEnvironment" /v TargetOS') DO SET TARGETOS=%%C
rem Define %TARGETOSDRIVE% as the Windows partition (This later becomes C:)
for /F "tokens=1 delims=\" %%A in ('Echo %TARGETOS%') DO SET TARGETOSDRIVE=%%A
rem Add back Windows settings, Start menu, Taskbar, and OOBE.xml customizations
copy "%TARGETOSDRIVE%\Recovery\OEM\Unattend.xml" "%TARGETOS%\Panther\Unattend.xml" /y
copy "%TARGETOSDRIVE%\Recovery\OEM\LayoutModification.xml" "%TARGETOSDRIVE%\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml" /y
copy "%TARGETOSDRIVE%\Recovery\OEM\TaskbarLayoutModification.xml" "%TARGETOS%\OEM\TaskbarLayoutModification.xml" /y
xcopy "%TARGETOSDRIVE%\Recovery\OEM\OOBE\Info" "%TARGETOS%\System32\Oobe\Info\" /s
rem Recommended: Create a pagefile for devices with 1GB or less of RAM.
wpeutil CreatePageFile /path=%TARGETOSDRIVE%\PageFile.sys /size=256
EXIT 0
ResetConfig.xml
Nota
Questo esempio punta allo stesso script due volte, in modo che possa essere usato da Mantieni i file o Rimuovi tutte le funzionalità.
<?xml version="1.0" encoding="utf-8"?>
<!-- ResetConfig.xml -->
<Reset>
<Run Phase="BasicReset_AfterImageApply">
<Path>CommonCustomizations.cmd</Path>
<Duration>2</Duration>
</Run>
<Run Phase="FactoryReset_AfterImageApply">
<Path>CommonCustomizations.cmd</Path>
<Duration>2</Duration>
</Run>
<!-- May be combined with Recovery Media Creator
configurations – insert SystemDisk element here -->
</Reset>
Conservazione e recupero di file
Con la funzionalità Mantieni i file , è possibile usare script di esempio per conservare i file che altrimenti verranno rimossi, inserendoli in un percorso temporaneo in memoria. Non è possibile mantenere i file con la funzionalità Rimuovi tutto .
È possibile usare le posizioni seguenti per l'archiviazione, se necessario.
Unità RAM windows PE (X:). Questa unità virtuale viene creata da Windows PE e rimane attiva durante il processo Mantieni i file . È possibile usarla con la funzionalità Mantieni i file per salvare i dati prima dell'aggiornamento della partizione e per ripristinare i dati dopo il completamento dell'aggiornamento della partizione. La quantità di memoria disponibile è limitata alla quantità di RAM nel sistema, meno la quantità di RAM necessaria per gli strumenti re di Windows quando completamente espansa. Per istruzioni sul montaggio di Windows RE e sulla determinazione delle dimensioni del file completamente espanse, vedere Personalizzare Windows RE.
Partizione OEM designata. È possibile lasciare spazio aggiuntivo su una partizione. Ad esempio, è possibile lasciare spazio nella partizione dell'immagine di ripristino e usare script per assegnare temporaneamente una lettera di unità e quindi salvare i file in tale partizione. Tuttavia, se l'utente usa il supporto di ripristino per suddividere i dischi, i dati di queste partizioni potrebbero essere persi durante il processo di ripristino.
Questi script di esempio mantengono i file di log di Windows. Salvare questi script nella C:\Recovery\OEM
cartella.
Esempio di ResetConfig.xml che mantiene i file
<?xml version="1.0" encoding="utf-8"?>
<!-- ResetConfig.xml -->
<Reset>
<Run Phase="BasicReset_BeforeImageApply">
<Path>SaveLogFiles.cmd</Path>
<Duration>4</Duration>
</Run>
<Run Phase="BasicReset_AfterImageApply">
<Path>RetrieveLogFiles.cmd</Path>
<Duration>2</Duration>
</Run>
<!-- May be combined with Recovery Media Creator
configurations – insert SystemDisk element here -->
</Reset>
Script di estendibilità di esempio che conserva i file
SaveLogFiles.cmd: Salva i file di log in una cartella temporanea in memoria
:rem == SaveLogFiles.cmd
:rem == 1. Use the registry to identify the location of
:rem the new operating system and the primary hard
:rem drive. For example,
:rem %TARGETOS% may be defined as C:\Windows
:rem %TARGETOSDRIVE% may be defined as C:
for /F "tokens=1,2,3 delims= " %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RecoveryEnvironment" /v TargetOS') DO SET TARGETOS=%%C
for /F "tokens=1 delims=\" %%A in ('Echo %TARGETOS%') DO SET TARGETOSDRIVE=%%A
:rem == 2. Copy old Windows logs to a temporary folder in memory
mkdir X:\Temp
xcopy %TARGETOS%\Logs\*.* X:\temp\OldLogs /cherkyi
EXIT 0
Script di estendibilità di esempio che recupera i file
RetrieveLogFiles.cmd: recupera i file salvati in memoria dallo script SaveLogFiles.cmd.
:rem == RetrieveLogFiles.cmd
:rem == This sample script retrieves the files that
:rem were saved in memory by
:rem SaveLogFiles.cmd,
:rem and adds them back to the system.
:rem == 1. Use the registry to identify the location of
:rem the new operating system and the primary drive.
:rem
:rem %TARGETOS% is the Windows folder
:rem (This later becomes C:\Windows)
:rem %TARGETOSDRIVE% is the Windows partition
:rem (This later becomes C:)
for /F "tokens=1,2,3 delims= " %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RecoveryEnvironment" /v TargetOS') DO SET TARGETOS=%%C
for /F "tokens=1 delims=\" %%A in ('Echo %TARGETOS%') DO SET TARGETOSDRIVE=%%A
:rem == 2. Copy the old logs to the new OS
:rem at C:\Windows\OldLogs
mkdir %TARGETOS%\OldLogs
xcopy X:\Temp\OldLogs\* %TARGETOS%\OldLogs /cherkyi
EXIT 0
Metodo alternativo: copiare script dopo la distribuzione
Poco tempo dopo il completamento dell'OOBE dell'utente, gli script di ripristino vengono spostati dalla C:\Recovery\OEM
cartella alla partizione di ripristino, in R:\RecoveryImage\
.
Nell'evento improbabile che venga usata la reimpostazione del pulsante push prima dell'esecuzione di questa operazione, questi script potrebbero non essere eseguiti. Per evitare tale possibilità, è possibile copiare i file di ripristino direttamente nella partizione di ripristino, R:\RecoveryImage\
dopo la distribuzione dell'immagine.
Passaggi successivi
Dopo aver personalizzato l'esperienza di reimpostazione del pulsante push, è possibile distribuire l'immagine di ripristino per la reimpostazione del pulsante push (Install.wim) nella partizione dell'immagine di ripristino.
Per copiare lo script Diskpart, il file ResetConfig.xml e l'immagine di ripristino del pulsante push (install.wim) nella partizione dell'immagine di ripristino del PC di destinazione, seguire le istruzioni nell'argomento Distribuisci funzionalità di reimpostazione Push-Button.
Argomenti correlati
Panoramica della reimpostazione pulsante
Creare supporti per eseguire Push-Button reimpostazione delle funzionalità
Distribuire funzionalità di reimpostazione Push-Button