mirror of
https://github.com/MicrosoftDocs/windows-itpro-docs.git
synced 2025-05-12 21:37:22 +00:00
92 lines
5.7 KiB
Markdown
92 lines
5.7 KiB
Markdown
---
|
||
title: How to Use a PowerShell Script to Create the Recovery Image
|
||
description: How to Use a PowerShell Script to Create the Recovery Image
|
||
author: dansimp
|
||
ms.assetid: d0c71092-535e-43b1-9b1d-6ac819508348
|
||
ms.reviewer:
|
||
manager: dansimp
|
||
ms.author: dansimp
|
||
ms.pagetype: mdop
|
||
ms.mktglfcycl: support
|
||
ms.sitesec: library
|
||
ms.prod: w10
|
||
ms.date: 06/16/2016
|
||
---
|
||
|
||
|
||
# How to Use a PowerShell Script to Create the Recovery Image
|
||
|
||
|
||
## <a href="" id="bkmk-create-image-use-script"></a>To create the DaRT recovery image by using a PowerShell script
|
||
|
||
|
||
You can create the Microsoft Diagnostics and Recovery Toolset (DaRT) 8.0 recovery image by using a PowerShell script instead of using the DaRT 8.0 Recovery Image wizard. See the following example script.
|
||
|
||
``
|
||
|
||
`This script was auto generated by the Microsoft DaRT Recovery Image Wizard.``###``This script uses the DISM and DaRT PowerShell commands to create a bootable DaRT image.``###Both a WIM and ISO file are produced.``###``### Examples of how to burn/copy the DaRT ISO to DVD/USB are available at the end of this script.``###`
|
||
|
||
`$ErrorActionPreference = "Stop";``### This variable tells PowerShell to stop if an error occurs.`
|
||
|
||
`###``### Import the modules necessary for DaRT Image creation.``###`
|
||
|
||
`Import-Module "Dism"`I`mport-Module "Microsoft.Dart"`
|
||
|
||
`###``### Specifies where the Windows 8 media is located and where the ISO and WIM files will be saved.``### These can be changed as necessary.``###`
|
||
|
||
`$Win8MediaPath = "D:\";``### This is the path of the Windows 8 media.``$DestinationWimPath = "C:\Users\Administrator\Desktop\DaRT8\x64\boot.wim";``### Specify where the WIM file will be saved.``$DestinationIsoPath = "C:\Users\Administrator\Desktop\DaRT8\x64\DaRT8.iso";``### Specify where the ISO will be saved.`
|
||
|
||
`###``### These variables are used to specify temporary and output directories based on the paths above.``###`
|
||
|
||
`$WimParentPath = (Split-Path -Path "$destinationWimPath" -Parent);``### Specify the directory where the DaRT WIM file will be saved.``$IsoParentPath = (Split-Path -Path "$destinationIsoPath" -Parent);``### This is the directory where the DaRT ISO file will be saved.``$TempMountPath = "$env:temp\DaRT8Mount_$(Get-Random)";``### Specify the temporary directory used to mount the Windows image.`
|
||
|
||
`###``### Prepare the windows image.``###`
|
||
|
||
`### Guarantee the output directories exists.``New-Item -Path $WimParentPath -Type Directory -Force``New-Item -Path $IsoParentPath -Type Directory -Force``New-Item -Path $TempMountPath -Type Directory -Force`
|
||
|
||
`### Create a copy of the WIM and remove the read-only attribute.``### The WIM file will be the resulting dart image.``Copy-Item "$Win8MediaPath\sources\boot.wim" $DestinationWimPath -Force``Set-ItemProperty $DestinationWimPath -Name IsReadOnly -Value $false`
|
||
|
||
`### Mount the bootable image within the WIM file (normally index 2).``Mount-WindowsImage -ImagePath $DestinationWimPath -Path $TempMountPath -Index 2`
|
||
|
||
`###``### Add additional drivers to the image.``###`
|
||
|
||
`###``### Installs the specified driver(s) into the image.``###`
|
||
|
||
`Add-WindowsDriver -Path $TempMountPath -Driver "C:\Windows\System32\DriverStore\FileRepository``\xusb22.inf_amd64_89c20c625f14f923\xusb22.inf" -ForceUnsigned`
|
||
|
||
`###``### Add additional drivers to the image.``###`
|
||
|
||
`###``### Installs the specified WinPE package(s) into the image.``###`
|
||
|
||
`Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"``Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FMAPI.cab"``Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab"``Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HTA.cab"``Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-HTA_en-us.cab"`
|
||
|
||
`###``### Add the DaRT tools to the image.``### The New-DartConfiguration cmdlet is used to specify how the DaRT image is configured.``### Modify this statement to configure how the DaRT tools will be applied to the image.``###`
|
||
|
||
`$config = New-DartConfiguration -AddComputerManagement -AddCrashAnalyzer -AddDefender -AddDiskCommander -AddExplorer -AddFileRestore -AddFileSearch -AddHotfixUninstall -AddRegistryEditor -AddRemoteConnection -AddSfcScan -AddSolutionWizard -AddTcpConfig -RemoteMessage "Test welcome message" -RemotePort 3388 -ScratchSpace 512 -UpdateDefender``$config | Set-DartImage -Path $TempMountPath`
|
||
|
||
`###``### Perform any manual user-specific customizations here.``###`
|
||
|
||
`# Read-Host -Prompt "Script is paused for any manual customization. Press ENTER to continue"`
|
||
|
||
`### Save the changes to the WIM file by dismounting the image.``Dismount-WindowsImage -Path $TempMountPath -Save`
|
||
|
||
`### Create a bootable DaRT ISO.``Export-DartImage -IsoPath $DestinationIsoPath -WimPath $DestinationWimPath`
|
||
|
||
`### The following is an example of how to burn the ISO to a writeable CD/DVD.``### Specify the correct drive letter and uncomment the statement to burn an ISO.``# Copy-DartImage -IsoPath $DestinationIsoPath -Drive "G:" -Type DVD`
|
||
|
||
`### Removes all temporary files.``Remove-Item $TempMountPath -Force -Recurse`
|
||
|
||
## Related topics
|
||
|
||
|
||
[Administering DaRT 8.0 Using PowerShell](administering-dart-80-using-powershell-dart-8.md)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|