Share via


Administrar o DaRT 10 usando o PowerShell

O DaRT (Microsoft Diagnostics and Recovery Toolset) 10 permite que você use comandos do PowerShell para concluir várias tarefas administrativas do DaRT 10 ou para criar a imagem de recuperação do DaRT.

Executar tarefas daRT usando o PowerShell

O DaRT (Microsoft Diagnostics and Recovery Toolset) 10 fornece o seguinte conjunto listado de cmdlets Windows PowerShell. Os administradores podem usar esses cmdlets do PowerShell para executar várias tarefas do servidor DaRT 10 do prompt de comando, em vez do assistente DaRT Recovery Image.

Nome Descrição
Copy-DartImage Queima um ISO em um CD, DVD ou unidade USB.
Export-DartImage Permite que o arquivo WIM de origem, que contém uma imagem DaRT, seja convertido em um arquivo ISO.
New-DartConfiguration Cria um objeto de configuração DaRT necessário para aplicar um conjunto de ferramentas DaRT a uma Imagem do Windows.
Set-DartImage Aplica um objeto DartConfiguration a uma Imagem do Windows montada.

Usar um script do PowerShell para criar a imagem de recuperação

Você pode criar a imagem de recuperação do DaRT 10 usando um script do PowerShell em vez de usar o assistente DaRT 10 Recovery Image. Além disso, o assistente DaRT 10 Recovery Image pode um script do PowerShell para você, com base em suas configurações especificadas.

A seguir está um exemplo de um script do PowerShell que o assistente da Imagem de Recuperação do DaRT 10 criou.

###
### DaRT Image Creation 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.
###

### This variable tells PowerShell to stop if an error occurs.
$ErrorActionPreference = "Stop";

###
### Import the modules necessary for DaRT Image creation.
###

Import-Module "Dism"
Import-Module "Microsoft.Dart"

###
### Specifies where the Windows media is located and where the ISO and WIM files will be saved.
### These can be changed as necessary.
###

$WinMediaPath = "D:\";                                                          ### This is the path of the Windows media.
$DestinationWimPath = "C:\Users\Administrator\Desktop\DaRT10\x64\boot.wim";     ### Specify where the WIM file will be saved.
$DestinationIsoPath = "C:\Users\Administrator\Desktop\DaRT10\x64\DaRT10.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 = "$([System.IO.Path]::GetTempPath())\DaRT8Mount_$(Get-Random)"; ### Specify the temporary directory used to mount the Windows image.

###
### Prepare the Windows image.
###

### Verify that the output directories exist.
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 "$WinMediaPath\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.
###

### The following is an example of how to add additional drivers to the image. 
### Specify the actual path to a driver's INF file and uncomment the following statement.
# Add-WindowsDriver -Path $TempMountPath -Driver "c:\example\path\to\drivers.inf" -ForceUnsigned

###
### Installs the specified WinPE package(s) into the image.
###

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-EnhancedStorage.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WinReCfg.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FMAPI.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-WinRE.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-EnhancedStorage_en-us.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\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\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WinReCfg_en-us.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFx.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-NetFx_en-us.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-PowerShell_en-us.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab"

Add-WindowsPackage -Path $TempMountPath -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-DismCmdlets_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 -AddDiskCommander -AddDiskWipe -AddExplorer -AddFileRestore -AddFileSearch -AddHotfixUninstall -AddLocksmith -AddRegistryEditor -AddSfcScan -AddSolutionWizard -AddTcpConfig
$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

### The following is an example of how to format and copy the ISO to a USB drive.
### Specify the correct drive letter and uncomment the statement to create a bootable USB.
# Copy-DartImage -IsoPath $DestinationIsoPath -Drive "G:" -Type USB

### Removes all temporary files.
Remove-Item $TempMountPath -Force -Recurse