範例指令碼

下載此實驗室中使用的範例腳本

將這些腳本複製到存放裝置 USB 磁片磁碟機的根目錄。 請參閱此頁面以瞭解腳本的內容。

範例腳本 ZIP 下載包含下列所有腳本:

映射部署腳本

下列腳本會使用 WIM 或 FFU 影像檔來設定 Windows 裝置,然後提供設定按鈕重設功能的選項。

下列檔案組成部署腳本:

  • ApplyImage.bat
  • ApplyRecovery.bat
  • CreatePartitions-BIOS.txt
  • CreatePartitions-BIOS-FFU.txt
  • CreatePartitions-UEFI.txt
  • CreatePartitions-UEFI-FFU.txt
  • HideRecoveryPartitions-BIOS.txt
  • HideRecoveryPartitions-UEFI.txt
  • CreateRecoveryPartitions-BIOS.txt
  • CreateRecoveryPartitions-UEFI.txt

ApplyImage.bat

使用此腳本會將 Windows 映像套用至新的裝置。

注意: 如果您複製並貼上下列內容以建立.bat檔案,則偵測韌體時可能會發生錯誤。 若要讓韌體偵測成功,請確定開始 for /f "tokens=2* delims= " %%A 的行具有索引標籤,後面接著 介於 和 " %%A 之間的 delims= 空格。

@echo Apply-Image.bat
@echo     Run from the reference device in the WinPE environment.
@echo.
@echo     This script erases the primary hard drive and applies a new image.
@echo.
@echo     Make sure that this script is run from the folder that contains the
@echo     supporting scripts
@echo.
@echo UPDATE (November 2017)
@echo * Added support for FFU deployments.  
@echo.
@echo UPDATE (JULY 2016):
@echo * This script stops just after applying the image.
@echo   This gives you an opportunity to add siloed provisioning packages (SPPs)
@echo   so that you can include them in your recovery tools.
@echo.
@echo   After the script is complete, use apply-recovery.bat to finish
@echo   setting up the recovery tools.
@echo.
@echo * This script creates a now includes support for the /EA variables for quicker
@echo   image capture and recovery.
@echo.
@echo * This script now includes support for the /EA variables for quicker
@echo   image capture and recovery.
@echo.
@echo * This script now checks to see if you're booted into Windows PE.
@echo.
@if not exist X:\Windows\System32 echo ERROR: This script is built to run in Windows PE.
@if not exist X:\Windows\System32 goto END
@if %1.==. echo ERROR: To run this script, add a path to a Windows image file.
@if %1.==. echo Example: ApplyImage D:\WindowsWithFrench.wim
@if %1.==. goto END
@echo *********************************************************************
@echo  == Setting high-performance power scheme to speed deployment ==
@call powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
@echo *********************************************************************
@echo Checking to see the type of image being deployed
@if "%~x1" == ".wim" (GOTO WIM)
@if "%~x1" == ".ffu" (GOTO FFU)
@echo *********************************************************************
@if not "%~x1" == ".ffu". if not "%~x1" == ".wim" echo Please use this script with a WIM or FFU image.
@if not "%~x1" == ".ffu". if not "%~x1" == ".wim" GOTO END
:WIM
@echo Starting WIM Deployment
@echo *********************************************************************
@echo Checking to see if the PC is booted in BIOS or UEFI mode.
wpeutil UpdateBootInfo
for /f "tokens=2* delims=    " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
@echo            Note: delims is a TAB followed by a space.
@if x%Firmware%==x echo ERROR: Can't figure out which firmware we're on.
@if x%Firmware%==x echo        Common fix: In the command above:
@if x%Firmware%==x echo             for /f "tokens=2* delims=    "
@if x%Firmware%==x echo        ...replace the spaces with a TAB character followed by a space.
@if x%Firmware%==x goto END
@if %Firmware%==0x1 echo The PC is booted in BIOS mode. 
@if %Firmware%==0x2 echo The PC is booted in UEFI mode. 
@echo *********************************************************************
@echo Do you want to create a Recovery partition?
@echo    (If you're going to be working with FFUs, and need 
@echo     to expand the Windows partition after applying the FFU, type N). 
@SET /P RECOVERY=(Y or N):
@if %RECOVERY%.==y. set RECOVERY=Y
@echo Formatting the primary disk...
@if %Firmware%==0x1 echo    ...using BIOS (MBR) format and partitions.
@if %Firmware%==0x2 echo    ...using UEFI (GPT) format and partitions. 
@echo CAUTION: All the data on the disk will be DELETED.
@SET /P READY=Erase all data and continue? (Y or N):
@if %READY%.==y. set READY=Y
@if not %READY%.==Y. goto END
@if %Firmware%.==0x1. if %RECOVERY%.==Y. diskpart /s CreatePartitions-BIOS.txt
@if %Firmware%.==0x1. if not %RECOVERY%.==Y. diskpart /s CreatePartitions-BIOS-FFU.txt
@if %Firmware%.==0x2. if %RECOVERY%.==Y. diskpart /s CreatePartitions-UEFI.txt
@if %Firmware%.==0x2. if not %RECOVERY%.==Y. diskpart /s CreatePartitions-UEFI-FFU.txt
@echo *********************************************************************
@echo  == Apply the image to the Windows partition ==
@SET /P COMPACTOS=Deploy as Compact OS? (Y or N):
@if %COMPACTOS%.==y. set COMPACTOS=Y
@echo Does this image include Extended Attributes?
@echo    (If you're not sure, type N).
@SET /P EA=(Y or N):
@if %EA%.==y. set EA=Y
@if %COMPACTOS%.==Y.     if %EA%.==Y.     dism /Apply-Image /ImageFile:%1 /Index:1 /ApplyDir:W:\ /Compact /EA
@if not %COMPACTOS%.==Y. if %EA%.==Y.     dism /Apply-Image /ImageFile:%1 /Index:1 /ApplyDir:W:\ /EA
@if %COMPACTOS%.==Y.     if not %EA%.==Y. dism /Apply-Image /ImageFile:%1 /Index:1 /ApplyDir:W:\ /Compact
@if not %COMPACTOS%.==Y. if not %EA%.==Y. dism /Apply-Image /ImageFile:%1 /Index:1 /ApplyDir:W:\
@echo *********************************************************************
@echo == Copy boot files to the System partition ==
W:\Windows\System32\bcdboot W:\Windows /s S:
@echo *********************************************************************
@echo   Next steps:
@echo   * Add Windows Classic apps (optional):
@echo       DISM /Apply-SiloedPackage /ImagePath:W:\ 
@echo            /PackagePath:"D:\App1.spp" /PackagePath:"D:\App2.spp"  ...
@echo.
@echo   * Configure the recovery partition with ApplyRecovery.bat
@echo.      
@echo   * Reboot:
@echo       exit
@GOTO END
:FFU
@echo Starting FFU Deployment
@echo list disk > x:\listdisks.txt
@echo exit >> x:\listdisks.txt
@diskpart /s x:\listdisks.txt
@del x:\listdisks.txt
@echo Enter the disk number of the drive where you're going to deploy your FFU (usually 0).
@SET /P DISKNUMBER=(Enter the Disk Number from above):
@echo This will remove all data from disk %DISKNUMBER%. Continue?
@SET /P ERASEALL=(Y or N):
@if %ERASEALL%.==y. set ERASEALL=Y
@if %ERASEALL%==Y DISM /apply-ffu /ImageFile=%1 /ApplyDrive:\\.\PhysicalDrive%DISKNUMBER%
@if not %ERASEALL%==Y GOTO END
@echo FFU applied. Would you like to configure the recovery partition?
@SET /P CONFIGRECOVERY=(Y or N):
@if %CONFIGRECOVERY%.==y. SET CONFIGRECOVERY=Y
@if %CONFIGRECOVERY%==Y ApplyRecovery.bat
@if not %CONFIGRECOVERY%==Y GOTO END
:END

ApplyImage.bat依賴下列 DiskPart 腳本,這些腳本必須放在相同的資料夾中:

CreatePartitions 腳本

將這些腳本與 DiskPart 搭配使用,以格式化和設定 Windows 的硬碟磁碟分割,包括復原工具。 視需要調整磁碟分割大小以填滿磁片磁碟機。

CreatePartitions-UEFI.txt

為以 UEFI 為基礎的電腦建立系統、MSR、Windows 和復原工具磁碟分割。

此腳本會暫時指派這些磁碟機號:System=S、Windows=W 和 Recovery=R。 MSR 磁碟分割不會收到字母。 字母 W 是用來避免潛在的磁碟機號衝突。 裝置重新開機之後,Windows 磁碟分割會被指派磁碟機代號 C,其他磁碟分割則不會收到磁碟機代號。

復原磁碟分割必須是 Windows 磁碟分割之後的磁碟分割,以確保 winre.wim 可以在裝置的存留期間保持最新狀態。

下圖顯示產生的分割區組態:

預設磁碟分割配置的圖表:系統、MSR、Windows 與修復

rem == CreatePartitions-UEFI.txt ==
rem == These commands are used with DiskPart to
rem    create four partitions
rem    for a UEFI/GPT-based PC.
rem    Adjust the partition sizes to fill the drive
rem    as necessary. ==
select disk 0
clean
convert gpt
rem == 1. System partition =========================
create partition efi size=100
rem    ** NOTE: For Advanced Format 4Kn drives,
rem               change this value to size = 260 ** 
format quick fs=fat32 label="System"
assign letter="S"
rem == 2. Microsoft Reserved (MSR) partition =======
create partition msr size=16
rem == 3. Windows partition ========================
rem ==    a. Create the Windows partition ==========
create partition primary 
rem ==    b. Create space for the recovery tools ===
rem       ** Update this size to match the size of
rem          the recovery tools (winre.wim)
rem          plus some free space.
shrink minimum=500
rem ==    c. Prepare the Windows partition ========= 
format quick fs=ntfs label="Windows"
assign letter="W"
rem === 4. Recovery partition ======================
create partition primary
format quick fs=ntfs label="Recovery"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume
exit

CreatePartitions-UEFI-FFU.txt

此腳本是以CreatePartitions-UEFI.txt為基礎,但不會建立復原分割區。 如此一來,Windows 磁碟分割就是磁片磁碟機上的最後一個磁碟分割,而且可以展開。 如果使用此腳本,稍後可以使用ApplyRecovery.bat來設定復原磁碟分割。

rem == CreatePartitions-UEFI-FFU.txt ==
rem == These commands are used with DiskPart to
rem    create four partitions
rem    for a UEFI/GPT-based PC.
rem    Adjust the partition sizes to fill the drive
rem    as necessary. ==
select disk 0
clean
convert gpt
rem == 1. System partition =========================
create partition efi size=100
rem    ** NOTE: For Advanced Format 4Kn drives,
rem               change this value to size = 260 ** 
format quick fs=fat32 label="System"
assign letter="S"
rem == 2. Microsoft Reserved (MSR) partition =======
create partition msr size=16
rem == 3. Windows partition ========================
rem ==    a. Create the Windows partition ==========
create partition primary 
rem ==    c. Prepare the Windows partition ========= 
format quick fs=ntfs label="Windows"
assign letter="W"
list volume
exit

CreatePartitions-BIOS.txt

建立 BIOS 型電腦的系統、Windows 和復原工具磁碟分割。

此腳本會暫時指派這些磁碟機號:System=S、Windows=W 和 Recovery=R。 字母 W 是用來避免潛在的磁碟機號衝突。 裝置重新開機之後,Windows 磁碟分割會被指派磁碟機代號 C,其他磁碟分割則不會收到磁碟機代號。

復原磁碟分割必須是 Windows 磁碟分割之後的磁碟分割,以確保 winre.wim 可以在裝置的存留期間保持最新狀態。

下圖顯示產生的分割區組態:

預設分割區配置圖表:系統、視窗和復原

rem == CreatePartitions-BIOS.txt ==
rem == These commands are used with DiskPart to
rem    create three partitions
rem    for a BIOS/MBR-based computer.
rem    Adjust the partition sizes to fill the drive
rem    as necessary. ==
select disk 0
clean
rem == 1. System partition ======================
create partition primary size=100
format quick fs=ntfs label="System"
assign letter="S"
active
rem == 2. Windows partition =====================
rem ==    a. Create the Windows partition =======
create partition primary
rem ==    b. Create space for the recovery tools  
rem       ** Update this size to match the size of
rem          the recovery tools (winre.wim)
rem          plus some free space.
shrink minimum=500
rem ==    c. Prepare the Windows partition ====== 
format quick fs=ntfs label="Windows"
assign letter="W"
rem == 3. Recovery partition ====================
create partition primary
format quick fs=ntfs label="Recovery image"
assign letter="R"
set id=27
list volume
exit

CreatePartitions-BIOS-FFU.txt

此腳本是以CreatePartitions-BIOS.txt為基礎,但不會建立復原分割區。 如此一來,Windows 磁碟分割就是磁片磁碟機上的最後一個磁碟分割,而且可以展開。 如果使用此腳本,稍後可以使用ApplyRecovery.bat來設定復原磁碟分割。

rem == CreatePartitions-BIOS-FFU.txt ==
rem == These commands are used with DiskPart to
rem    create three partitions
rem    for a BIOS/MBR-based computer.
rem    Adjust the partition sizes to fill the drive
rem    as necessary. ==
select disk 0
clean
rem == 1. System partition ======================
create partition primary size=100
format quick fs=ntfs label="System"
assign letter="S"
active
rem == 2. Windows partition =====================
rem ==    a. Create the Windows partition =======
create partition primary
rem ==    c. Prepare the Windows partition ====== 
format quick fs=ntfs label="Windows"
assign letter="W"
list volume
exit

ApplyRecovery.bat

使用此腳本來準備 Windows 復原磁碟分割。 此腳本是由ApplyImage.bat呼叫,但也可以自行執行。

注意: 如果您複製並貼上下列內容以建立.bat檔案,則偵測韌體時可能會發生錯誤。 若要讓韌體偵測成功,請確定開始 for /f "tokens=2* delims= " %%A 的行具有索引標籤,後面接著 介於 和 " %%A 之間的 delims= 空格。

@echo == ApplyRecovery.bat ==
@rem *********************************************************************
@echo Checking to see if the PC is booted in BIOS or UEFI mode.
wpeutil UpdateBootInfo
for /f "tokens=2* delims=  " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
@echo            Note: delims is a TAB followed by a space.
@if x%Firmware%==x echo ERROR: Can't figure out which firmware we're on.
@if x%Firmware%==x echo        Common fix: In the command above:
@if x%Firmware%==x echo             for /f "tokens=2* delims=    "
@if x%Firmware%==x echo        ...replace the spaces with a TAB character followed by a space.
@if x%Firmware%==x goto END
@if %Firmware%==0x1 echo The PC is booted in BIOS mode. 
@if %Firmware%==0x2 echo The PC is booted in UEFI mode. 
@echo  *********************************************************************
@echo Do you already have a recovery partition on this disk? (Y or N):
@SET /P RECOVERYEXIST=(Y or N):
@if %RECOVERYEXIST%.==y. set RECOVERYEXIST=Y
@if %RECOVERYEXIST%.==Y. GOTO COPYTOTOOLSPARTITION
@if not %RECOVERYEXIST%.==Y. GOTO CREATEFFURECOVERY
@echo  *********************************************************************
:COPYTOTOOLSPARTITION
@echo  == Copy the Windows RE image to the Windows RE Tools partition ==
md R:\Recovery\WindowsRE
xcopy /h W:\Windows\System32\Recovery\Winre.wim R:\Recovery\WindowsRE\
@echo  *********************************************************************
@echo  == Register the location of the recovery tools ==
W:\Windows\System32\Reagentc /Setreimage /Path R:\Recovery\WindowsRE /Target W:\Windows
@echo  *********************************************************************
@IF EXIST W:\Recovery\Customizations\USMT.ppkg (GOTO CUSTOMDATAIMAGEWIM) else goto HIDEWIMRECOVERYTOOLS
:CUSTOMDATAIMAGEWIM
@echo  == If Compact OS, single-instance the recovery provisioning package ==
@echo.     
@echo     *Note: this step only works if you created a ScanState package called
@echo      USMT.ppkg as directed in the OEM Deployment lab. If you aren't
@echo      following the steps in the lab, choose N.
@echo.      
@echo     Options: N: No
@echo              Y: Yes
@echo              D: Yes, but defer cleanup steps to first boot.
@echo                 Use this if the cleanup steps take more than 30 minutes.
@echo                 defer the cleanup steps to the first boot.
@SET /P COMPACTOS=Deploy as Compact OS? (Y, N, or D):
@if %COMPACTOS%.==y. set COMPACTOS=Y
@if %COMPACTOS%.==d. set COMPACTOS=D
@if %COMPACTOS%.==Y. dism /Apply-CustomDataImage /CustomDataImage:W:\Recovery\Customizations\USMT.ppkg /ImagePath:W:\ /SingleInstance
@if %COMPACTOS%.==D. dism /Apply-CustomDataImage /CustomDataImage:W:\Recovery\Customizations\USMT.ppkg /ImagePath:W:\ /SingleInstance /Defer
@echo  *********************************************************************
:HIDEWIMRECOVERYTOOLS
@echo == Hiding the recovery tools partition
if %Firmware%==0x1 diskpart /s %~dp0HideRecoveryPartitions-BIOS.txt
if %Firmware%==0x2 diskpart /s %~dp0HideRecoveryPartitions-UEFI.txt
@echo *********************************************************************
@echo == Verify the configuration status of the images. ==
W:\Windows\System32\Reagentc /Info /Target W:\Windows
@echo    (Note: Windows RE status may appear as Disabled, this is OK.)
@echo *********************************************************************
@echo      All done!
@echo      Disconnect the USB drive from the reference device.
@echo      Type exit to reboot.
@echo.
GOTO END
:CREATEFFURECOVERY
@echo *********************************************************************
@echo == Creating the recovery tools partition
@if %Firmware%==0x1 diskpart /s CreateRecoveryPartitions-BIOS.txt
@if %Firmware%==0x2 diskpart /s CreateRecoveryPartitions-UEFI.txt
@echo finding the Windows Drive
@echo  *********************************************************************
@IF EXIST C:\Windows SET windowsdrive=C:\
@IF EXIST D:\Windows SET windowsdrive=D:\
@IF EXIST E:\Windows SET windowsdrive=E:\
@IF EXIST W:\Windows SET windowsdrive=W:\
@echo The Windows drive is %windowsdrive%
md R:\Recovery\WindowsRE
@echo  *********************************************************************
@echo Finding Winre.wim
@IF EXIST %windowsdrive%Recovery\WindowsRE\winre.wim SET recoveryfolder=%windowsdrive%Recovery\WindowsRE\
@IF EXIST %windowsdrive%Windows\System32\Recovery\winre.wim SET recoveryfolder=%windowsdrive%Windows\System32\Recovery\
@echo  *********************************************************************
@echo copying Winre.wim
xcopy /h %recoveryfolder%Winre.wim R:\Recovery\WindowsRE\
@echo  *********************************************************************
@echo  == Register the location of the recovery tools ==
%windowsdrive%Windows\System32\Reagentc /Setreimage /Path R:\Recovery\WindowsRE /Target %windowsdrive%Windows
@echo  *********************************************************************
@IF EXIST W:\Recovery\Customizations\USMT.ppkg (GOTO CUSTOMDATAIMAGEFFU) else goto HIDERECOVERYTOOLSFFU
:CUSTOMDATAIMAGEFFU
@echo  == If Compact OS, single-instance the recovery provisioning package ==
@echo.     
@echo     *Note: this step only works if you created a ScanState package called
@echo      USMT.ppkg as directed in the OEM Deployment lab. If you aren't
@echo      following the steps in the lab, choose N.
@echo.
@echo     Options: N: No
@echo              Y: Yes
@echo              D: Yes, but defer cleanup steps to first boot.
@echo                 Use this if the cleanup steps take more than 30 minutes.
@echo                 defer the cleanup steps to the first boot.
@SET /P COMPACTOS=Deploy as Compact OS? (Y, N, or D):
@if %COMPACTOS%.==y. set COMPACTOS=Y
@if %COMPACTOS%.==d. set COMPACTOS=D
@if %COMPACTOS%.==Y. dism /Apply-CustomDataImage /CustomDataImage:%windowsdrive%Recovery\Customizations\USMT.ppkg /ImagePath:%windowsdrive% /SingleInstance
@if %COMPACTOS%.==D. dism /Apply-CustomDataImage /CustomDataImage:%windowsdrive%Recovery\Customizations\USMT.ppkg /ImagePath:%windowsdrive% /SingleInstance /Defer
:HIDERECOVERYTOOLSFFU
@rem *********************************************************************
@echo == Hiding the recovery tools partition
@if %Firmware%==0x1 diskpart /s HideRecoveryPartitions-BIOS.txt
@if %Firmware%==0x2 diskpart /s HideRecoveryPartitions-UEFI.txt
@echo *********************************************************************
@echo == Verify the configuration status of the images. ==
%windowsdrive%Windows\System32\Reagentc /Info /Target %windowsdrive%Windows
@echo    (Note: Windows RE status may appear as Disabled, this is OK.)
@echo *********************************************************************
@echo      All done!
@echo      Disconnect the USB drive from the reference device.
@echo      Type exit to reboot.
@GOTO END
:END

ApplyRecovery.bat依賴下列 DiskPart 腳本,這些腳本必須放在相同的資料夾中:

CreateRecoveryPartitions-UEFI.txt

rem == CreateRecoveryPartitions-UEFI.txt ==
rem == Find and label the Windows partition
rem ** This script assumes the partition layout from 
rem    CreatePartitions-UEFI or CreatePartitions-UEFI-FFU
select disk 0
select partition 3
assign letter="W"
rem == Extend the Windows partition 
extend
rem == Create space for the recovery tools  
rem ** Update this size to match the size of
rem    the recovery tools (winre.wim)
rem    plus some free space.
shrink minimum=500
rem == Create recovery partition
create partition primary
format quick fs=ntfs label="Recovery"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume
exit

CreateRecoveryPartitions-BIOS.txt

rem == CreateRecoveryPartitions-BIOS.txt ==
rem == Find and label the Windows partition
rem ** This script assumes the partition layout from 
rem    CreatePartitions-BIOS or CreatePartitions-BIOS-FFU
select disk 0
select partition 2
assign letter="W"
rem == Extend the Windows partition ==
shrink minimum=500
extend
rem == Create space for the recovery tools  
rem ** Update this size to match the size of the 
rem    recovery tools (winre.wim), plus some free space.
shrink minimum=500
rem == Prepare the recovery partition ====== 
select disk 0
create partition primary
format quick fs=ntfs label="Recovery image"
assign letter="R"
set id=27
list volume
exit

HideRecoveryPartitions-UEFI.txt

rem === HideRecoveryPartitions-UEFI.txt ===
rem ** This script assumes the partition layout from 
rem    CreatePartitions-UEFI or CreatePartitions-UEFI-FFU
select disk 0
select partition 4
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
remove
list volume
exit

HideRecoveryPartitions-BIOS.txt

rem === HideRecoveryPartitions-BIOS.txt ===
rem ** This script assumes the partition layout from 
rem    CreatePartitions-BIOS or CreatePartitions-BIOS-FFU
select disk 0
select partition 3
set id=27
remove
list volume
exit

開始配置 (LayoutModification.xml)

Windows 10中的 \[開始\] 磚配置可讓 OEM 將磚附加至預設 \[開始\] 配置,以包含 Web 連結、次要磚、Windows 應用程式和 Windows 傳統型應用程式。 OEM 可以使用此版面配置,使其適用于多個區域或市場,而不需要複製許多工作。 此外,OEM 最多可將三個預設應用程式新增至系統區域中常用的應用程式區段,以提供 sytem 驅動清單給使用者,包括重要或經常存取的系統位置和最近安裝的應用程式。

若要利用所有這些新功能,並擁有最強固且完整的開始自訂體驗,Windows 10,請考慮建立LayoutModification.xml檔案。 此檔案會指定 OEM 磚在 \[開始\] 中配置的方式。 如需如何自訂新 \[開始\] 配置的詳細資訊,請參閱Windows 10合作夥伴檔中的自訂Windows 10 \[開始\] 畫面主題。

範例 LayoutModification.xml

<LayoutModificationTemplate
    xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
    xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
    xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
    Version="1">
  <RequiredStartGroupsCollection>
    <RequiredStartGroups
      Region="DE|ES|FR|GB|IT|US">
      <AppendGroup Name="Fabrikam Group 1">
          <start:DesktopApplicationTile
            DesktopApplicationID="Microsoft.Windows.Explorer" 
          Size="2x2" 
          Row="0" 
          Column="4"/>
      </AppendGroup>    
      <AppendGroup
        Name="Fabrikam Group 2">
        <start:Tile AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" 
          Size="2x2" 
          Row="0"
          Column="0"/>
          <!-- <start:Tile AppUserModelID="App2!App" Size="2x2" Row="2" Column="0"/>  Update the APUMID to reflect the app you installed with the region specified -->
      </AppendGroup>
    </RequiredStartGroups>
    <RequiredStartGroups>
      <AppendGroup Name="Fabrikam Group 1">
        <start:SecondaryTile
          AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
          TileID="MyWeblinkTile"
          Arguments="https://www.fabrikam.com"
          DisplayName="Fabrikam"
          Square150x150LogoUri="ms-appx:///Assets/MicrosoftEdgeSquare150x150.png"
          Wide310x150LogoUri="ms-appx:///Assets/MicrosoftEdgeWide310x150.png"
          ShowNameOnSquare150x150Logo="true"
          ShowNameOnWide310x150Logo="false"
          BackgroundColor="#FF112233"
          Size="2x2"
          Row="0"
          Column="2"/>
        <!-- <start:Tile AppUserModelID="App2!App" Size="2x2" Row="2" Column="0"/>  Update the APUMID to reflect the app you installed with no specific region -->
      </AppendGroup>    
    </RequiredStartGroups>
  </RequiredStartGroupsCollection> 
  <AppendOfficeSuite/>
  <AppendOfficeSuiteChoice Choice="DesktopBridgeSubscription"/>      
</LayoutModificationTemplate>

TaskbarLayoutModification.xml

您可以將應用程式釘選到工作列。 若要深入瞭解,請參閱 OEM 工作列磚

<?xml version="1.0" encoding="utf-8"?>
<LayoutModificationTemplate
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
Version="1">

<CustomTaskbarLayoutCollection PinListPlacement="Replace">
    <defaultlayout:TaskbarLayout>
        <taskbar:TaskbarPinList>
            <taskbar:UWA AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk"/>
        </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
    <defaultlayout:TaskbarLayout Region="US|GB">
        <taskbar:TaskbarPinList >
            <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" />
            <taskbar:UWA AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
        </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
    <defaultlayout:TaskbarLayout Region="CN|TW">
        <taskbar:TaskbarPinList>
            <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" />
            <taskbar:UWA AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk"/>
        </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>

BootToAudit

在 C:\mount\windows\Windows\Panther\unattend.xml 中將回應檔案新增至 Windows 映像,以指示它開機進入稽核模式。 您可以在 Windows 系統映射管理員中建立此回應檔案。

BootToAudit-x64

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<!-- BootToAudit-x64.xml -->
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Deployment" 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">
            <Reseal>
                <Mode>Audit</Mode>
            </Reseal>
        </component>
    </settings>
</unattend>

透過復原保留 Windows 設定

Windows 不會自動儲存透過unattend.xml安裝程式檔案建立的設定,也不會在完整系統重設期間使用 LayoutModification.xml 建立的 Windows 開始功能表自訂,也不會從oobe.xml自動儲存第一次登入資訊。

若要確定已儲存您的自訂專案,其中包含將unattend.xml、LayoutModification.xml和oobe.xml檔案放回原位的步驟。 以下是一些範例腳本,示範如何保留這些設定,並將其放回正確的位置。 在 C:\Recovery\OEM\中儲存unattend.xml、LayoutModification.xml、oobe.xml複本,加上這兩個文字檔:ResetConfig.xml 和 EnableCustomizations.cmd:

ResetConfig.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- ResetConfig.xml -->
<Reset>
  <Run Phase="BasicReset_AfterImageApply">
    <Path>EnableCustomizations.cmd</Path>
    <Duration>2</Duration>
  </Run>
  <Run Phase="FactoryReset_AfterImageApply">
    <Path>EnableCustomizations.cmd</Path>
    <Duration>2</Duration>
  </Run>
</Reset>

EnableCustomizations.cmd

rem EnableCustomizations.cmd

rem Set the variable %TARGETOS%      (Typically this is 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 Set the variable %TARGETOSDRIVE% (Typically this is C:)
for /F "tokens=1 delims=\" %%A in ('Echo %TARGETOS%') DO SET TARGETOSDRIVE=%%A

rem Add back Windows settings, Start menu, 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
xcopy "%TARGETOSDRIVE%\Recovery\OEM\OOBE\Info" "%TARGETOS%\System32\Info\" /s

rem Recommended: Create a pagefile for devices with 1GB or less of RAM.
wpeutil CreatePageFile /path=%TARGETOSDRIVE%\PageFile.sys /size=256

若要深入瞭解如何使用按鈕重設的擴充點,請參閱 將擴充性腳本新增至按鈕重設

重新安裝 Windows 收件匣應用程式

新增新語言之後,請重新安裝 Windows 應用程式。 您可以重新安裝應用程式,而不先移除它們。

ReinstallInboxApps-x64.cmd

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Getstarted_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Getstarted_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.GetHelp_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.GetHelp_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Messaging_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Messaging_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Microsoft3DViewer_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Microsoft3DViewer_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.MicrosoftOfficeHub_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.MicrosoftOfficeHub_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.MicrosoftSolitaireCollection_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.MicrosoftSolitaireCollection_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Advertising.Xaml.x64.10.0.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Advertising.Xaml.x86.10.0.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Services.Store.Engagement.x64.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Services.Store.Engagement.x86.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.MSPaint_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.MSPaint_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Office.OneNote_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Office.OneNote_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.OneConnect_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.OneConnect_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.People_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.People_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Services.Store.Engagement.x64.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Services.Store.Engagement.x86.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Advertising.Xaml.x64.10.0.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Advertising.Xaml.x86.10.0.appx

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.SkypeApp_kzf8qxf38zg5c.appxbundle /licensepath:.\Appx\Microsoft.SkypeApp_kzf8qxf38zg5c.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.StorePurchaseApp_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.StorePurchaseApp_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Wallet_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Wallet_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WebMediaExtensions_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WebMediaExtensions_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Windows.Photos_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Windows.Photos_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsAlarms_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsAlarms_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsCalculator_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsCalculator_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsCamera_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsCamera_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsCommunicationsApps_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsCommunicationsApps_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Advertising.Xaml.x64.10.0.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Advertising.Xaml.x86.10.0.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsMaps_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsMaps_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.7.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.7.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WindowsStore_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.WindowsStore_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.XboxApp_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.XboxApp_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.XboxGameOverlay_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.XboxGameOverlay_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.XboxIdentityProvider_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.XboxIdentityProvider_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.XboxSpeechToTextOverlay_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.XboxSpeechToTextOverlay_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.ZuneMusic_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.ZuneMusic_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.ZuneVideo_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.ZuneVideo_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\microsoft.print3d_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\microsoft.print3d_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.Xbox.TCUI_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.Xbox.TCUI_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Framework.x86.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x64.1.6.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.NET.Native.Runtime.x86.1.6.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.XboxGamingOverlay_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.XboxGamingOverlay_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.MixedReality.Portal_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.MixedReality.Portal_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.ScreenSketch_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.ScreenSketch_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.YourPhone_8wekyb3d8bbwe.appxbundle /licensepath:.\Appx\Microsoft.YourPhone_8wekyb3d8bbwe.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.HEIFImageExtension_8wekyb3d8bbwe.x64.appx /licensepath:.\Appx\Microsoft.HEIFImageExtension_8wekyb3d8bbwe.x64.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VP9VideoExtensions_8wekyb3d8bbwe.x64.appx /licensepath:.\Appx\Microsoft.VP9VideoExtensions_8wekyb3d8bbwe.x64.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.WebpImageExtension_8wekyb3d8bbwe.x64.appx /licensepath:.\Appx\Microsoft.WebpImageExtension_8wekyb3d8bbwe.x64.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

@echo Optional codecs - the following packages are optional depending on your codec choices and needs
DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.HEVCVideoExtension_8wekyb3d8bbwe.x64.appx /licensepath:.\Appx\Microsoft.HEVCVideoExtension_8wekyb3d8bbwe.x64.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

DISM /image:C:\Mount\Windows /add-ProvisionedAppxPackage /packagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.MPEG2VideoExtension_8wekyb3d8bbwe.x64.appx /licensepath:.\Appx\Microsoft.MPEG2VideoExtension_8wekyb3d8bbwe.x64.xml /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x64.14.00.appx /dependencypackagepath:C:\Temp\Lab\Apps\Inbox\amd64\Microsoft.VCLibs.x86.14.00.appx 

使用腳本尋找磁碟機號

在 Windows PE 中使用此腳本來識別具有名為 「Images」 資料夾的磁片磁碟機。

@echo Find a drive that has a folder titled Images.
@for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %%a:\Images\ set IMAGESDRIVE=%%a
@echo The Images folder is on drive: %IMAGESDRIVE%
@dir %IMAGESDRIVE%:\Images /w