通过 powershell 脚本从 DPM2010 恢复虚拟机

通过 powershell 脚本从 DPM2010 恢复虚拟机

我需要通过 powershell 恢复 DPM 2010 覆盖的虚拟机。我用谷歌搜索,但找不到关于 DPM 和 Powershell 的有用文档,这有点令人痛苦。

参数: - VM 在 Server 2003 64 位节点上的群集共享卷上运行,其中安装了 Server 2005 R2 - 两个节点上都安装了 DPM 2010 服务器代理 - 可以使用 DPM GUI 顺利恢复 VM

我想要什么? - 每天将最新的虚拟机恢复到网络位置

我的脚本的当前状态:

$pg = get-protectiongroup -dpmservername DPM2010
$ds = get-datasource -protectiongroup $pg
$rp = get-recoverypoint -datasource $ds[0]

它能做什么:

$pg shows me the Protection Groups, ok.
$ds shows me all virtual machines from the Recovery Group, nice.
$rp shows me all recovery points of the Virtual Machine from line 0, awesome!

现在我不知道该怎么做。我想获取最新的恢复项目并将其还原到网络上任何位置的网络共享。

我该如何做呢?

谢谢!!

托比

答案1

当前工作脚本:

#set target location
$targetserver  = "FQDN of Server"
$targetlocation = "drive letter with :\"

#get protectiongroup name
$pg = get-protectiongroup -dpmservername DPMServerName

#get all Virtual Machines from recovery group
$ds = get-datasource -protectiongroup $pg

#how many VMs do we have?
$an = $ds.count

#as long as: a is null, run as long as a is < 9 and a+1
For ($a = 0; $a -lt $an; $a++)
{
  $rp = get-recoverypoint -datasource $ds[$a] | sort -Property RepresentedPointInTime -Descending | select -First 1
  $Rop = New-RecoveryOption -GenericDatasource -TargetServer $targetserver -RecoveryLocation CopyToFolder -RecoveryType Restore -TargetLocation $targetlocation
  Recover-RecoverableItem -RecoverableItem $Rp -RecoveryOption $rop
}

相关内容