次の方法で共有


PowerShell を使用した DaRT 10 の管理

Microsoft Diagnostics and Recovery ツールセット (DaRT) 10 を使用すると、PowerShell コマンドを使用して、さまざまな DaRT 10 管理タスクを完了したり、DaRT 回復イメージを作成したりできます。

PowerShell を使用して DaRT タスクを実行する

Microsoft Diagnostics and Recovery ツールセット (DaRT) 10 には、次の一連のWindows PowerShellコマンドレットが用意されています。 管理者は、これらの PowerShell コマンドレットを使用して、DaRT 回復イメージ ウィザードではなく、コマンド プロンプトからさまざまな DaRT 10 サーバー タスクを実行できます。

名前 説明
Copy-DartImage ISO を CD、DVD、または USB ドライブに書き込みます。
Export-DartImage DaRT イメージを含むソース WIM ファイルを ISO ファイルに変換できるようにします。
New-DartConfiguration DaRT ツールセットを Windows イメージに適用するために必要な DaRT 構成オブジェクトを作成します。
Set-DartImage DartConfiguration オブジェクトをマウントされた Windows イメージに適用します。

PowerShell スクリプトを使用して回復イメージを作成する

DaRT 10 回復イメージ ウィザードを使用する代わりに、PowerShell スクリプトを使用して DaRT 10 回復イメージを作成できます。 さらに、DaRT 10 Recovery Image ウィザードでは、指定した設定に基づいて PowerShell スクリプトを使用できます。

DaRT 10 Recovery Image ウィザードで作成された PowerShell スクリプトの例を次に示します。

###
### 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