为什么 Powershell 中的 "New-DPMRecoveryPoint" cmdlet 缺少一个参数? (DPM 模块)

Why is there a Parameter missing from "New-DPMRecoveryPoint" cmdlet in Powershell? (DPM Module)

使用:

import-module DataProtectionManager
import-module DPMExtendedCmdlets

我可以访问 cmdlet New-DPMRecoveryPoint

在 Microsoft 文档中它说有一个名为 DiskRecoveryPointOption 的参数 https://technet.microsoft.com/en-us/library/hh881586(v=sc.20).aspx

然而,当使用这个参数时,它似乎错误地说 'parameter not found'

奇也。在此使用 'Get-Help' Cmdlet 似乎未显示此参数?

我使用的是 DPM 2012R2(此 cmdlet 的 Microsoft 页面上说明的版本)

我的用法也是这样...

New-DPMRecoveryPoint -Datasource $ds -Disk -DiskRecoveryPointOption withsynchronize

谁能告诉我为什么我不能使用这个参数?

奇怪的是 New-DPMRecoveryPoint 似乎有两种不同的实现:

Import-Module DataProtectionManager
Get-Command -Module DataProtectionManager -Name New-DPMRecoveryPoint
Remove-Module DataProtectionManager

Import-Module DPMExtendedCmdlets
Get-Command -Module DPMExtendedCmdlets    -Name New-DPMRecoveryPoint
Remove-Module DPMExtendedCmdlets

结果如下:

CommandType    Name                   ModuleName                      
-----------    ----                   ----------                      
Cmdlet         New-DPMRecoveryPoint   DataProtectionManager           
Cmdlet         New-DPMRecoveryPoint   DPMExtendedCmdlets             

您可以检查每个模块的实现帮助:

foreach ( $moduleName in 'DataProtectionManager','DPMExtendedCmdlets')
{
    Write-Host "#### ModuleName: $moduleName ####"
    Import-Module $moduleName
    help New-DPMRecoveryPoint
    Remove-Module $moduleName
}

表明DataProtectionManager\New-DPMRecoveryPoint有一个参数设置如下:

New-DPMRecoveryPoint [-Datasource] <Datasource[]> [-AdhocJobsContext <AdhocJobsContext>] 
[-BackupType <BackupType>] [-JobStateChangedEventHandler <JobStateChangedEventHandler>] 
[-WithDataIntegrityCheck] -Disk [-Confirm] [-WhatIf] [<CommonParameters>]

这与联机文档接近但不完全匹配。您可以获得与您的 已安装 实现相匹配的文档,如下所示:

Get-Module | Remove-Module
Import-Module DataProtectionManager
help New-DPMRecoveryPoint -Full