Я использую следующий скрипт с веб-сайта Microsoft для создания резервной копии своих серверов. Проблема в том, что у меня есть внешний жесткий диск на одном из моих серверов, и сценарий резервного копирования всегда включает внешний жесткий диск в резервную копию образа.

Что мне нужно изменить в скрипте, чтобы сделать весь сервер без внешнего диска?

Источник: https://gallery.technet.microsoft.com/scriptcenter/WSB-Backup-network-email-9793e315#content

ВЫХОД Get-WBVolume -AllVolumes

VolumeLabel : System Reserved
MountPath   :
MountPoint  : \\?\Volume{e1c711f2-9b80-11e4-80b4-806e6f6e6963}
FileSystem  : NTFS
Property    : Critical, ValidSource, IsOnDiskWithCriticalVolume
FreeSpace   : 75513856
TotalSpace  : 367001600

VolumeLabel : HD2_BACKUP
MountPath   : E:
MountPoint  : \\?\Volume{ec27b343-e89b-11e4-80de-000c290bce57}
FileSystem  : NTFS
Property    : ValidSource
FreeSpace   : 754411352064
TotalSpace  : 1000202043392

VolumeLabel : SYSTEM
MountPath   : C:
MountPoint  : \\?\Volume{e1c711f3-9b80-11e4-80b4-806e6f6e6963}
FileSystem  : NTFS
Property    : Critical, ValidSource, IsOnDiskWithCriticalVolume
FreeSpace   : 77012553728
TotalSpace  : 107005083648
#requires -version 2.0 

 

#Initialize WSB cmdlets 
if ( (Get-PSSnapin -Name Windows.ServerBackup -ErrorAction SilentlyContinue) -eq $null ) 
{ 
    Add-PsSnapin Windows.ServerBackup 
} 

#------------------------------------------------------------------ 
#Variables 
#------------------------------------------------------------------  

#Files server 
$Nas = "\\FSVM001" 

#Root folder 
$HomeBkpDir = ($Nas+"\backup") 

#Backup folder 
$Filename = Get-Date -Format MMddyyyy_hhmmss 

#Number of backup to retain (value "0" disable rotation) 
$MaxBackup = 1 

#List uncritical volumes 
$Volumes = Get-WBVolume -AllVolumes | Where-Object { $_.Property -notlike "Critical*" } 

#------------------------------------------------------------------  
#Function to compare the number of folders to retain with 
#$MaxBackup (No called if $MaxBackup equals 0) 
#------------------------------------------------------------------  
function Rotation() 
{  
 #List all backup folders 
 $Backups = @(Get-ChildItem -Path $HomeBkpDir\*) 

 #Number of backups folders 
 $NbrBackups = $Backups.count 

 $i = 0 

 #Delete oldest backup folders 
 while ($NbrBackups -ge $MaxBackup) 
 { 
  $Backups[$i] | Remove-Item -Force -Recurse -Confirm:$false 
  $NbrBackups -= 1 
  $i++ 
 } 
} 

#------------------------------------------------------------------ 
#Function to send email notification 
#------------------------------------------------------------------  
function EmailNotification() 
{ 
 #Sender email 
 $Sender = "sender.at.corpnet.net" 

 #Receipt email 
 $Receipt = "receipt.at.contoso.com" 

 #SMTP Server 
 $Server = "smtp.corpnet.net" 

#Mail subject 
 $Object = $env:computername+": Backup report of "+(Get-Date) 

#Mail content 
 $Content = Get-WBJob -Previous 1 | ConvertTo-Html -As List | Out-String 

 $SMTPclient = new-object System.Net.Mail.SmtpClient $Server 

 #Specify SMTP port if needed 
 #$SMTPClient.port = 587 

 #Activate SSL if needed 
 #$SMTPclient.EnableSsl = $true 

 #Specify email account credentials if needed 
 #$SMTPAuthUsername = "login" 
 #$SMTPAuthPassword = "password" 
 #$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword) 

 $Message = new-object System.Net.Mail.MailMessage $Sender, $Receipt, $Object, $Content 
 $Message.IsBodyHtml = $true; 
 $SMTPclient.Send($Message) 
} 

#------------------------------------------------------------------ 
#Main 
#------------------------------------------------------------------  

#Execute rotation if enabled 
if ($MaxBackup -ne 0) 
{ 
 Rotation 
} 

#Backup folder creation 
New-Item ($HomeBkpDir+"\"+$Filename)  -Type Directory | Out-Null 

$WBPolicy = New-WBPolicy 

#Enable BareMetal functionnality (system state included) 
Add-WBBareMetalRecovery -Policy $WBPolicy | Out-Null 

#Add backup target 
$BackupLocation = New-WBBackupTarget -network ($HomeBkpDir+"\"+$Filename) 
Add-WBBackupTarget -Policy $WBPolicy -Target $BackupLocation -force | Out-Null 

#Add uncritical volumes 
if ($Volumes -ne $null) 
{ 
 Add-WBVolume -Policy $WBPolicy -Volume $Volumes | Out-null 
} 

$WBPolicy | Out-Null 
Start-WBBackup -Policy $WBPolicy 

#Call email notification function 
EmailNotification

0