2015-10-09 36 views
3

使用:爲什麼Powershell中的「New-DPMRecoveryPoint」cmdlet中缺少一個參數? (DPM模塊)

import-module DataProtectionManager 
import-module DPMExtendedCmdlets 

我有機會到cmdlet New-DPMRecoveryPoint

在微軟的文檔,它說有一個叫DiskRecoveryPointOption https://technet.microsoft.com/en-us/library/hh881586(v=sc.20).aspx

但是參數,使用此參數時它似乎錯誤說'參數未找到'

也奇怪。在這個上使用'Get-Help'Cmdlet似乎沒有顯示這個參數?

我使用DPM 2012R2(它是Microsoft頁面上此cmdlet陳述的版本)

而且我的用法是這樣的...

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

誰能告訴我爲什麼我無法使用此參數?

+0

我沒有答案,但我確定你看到我的DPM 2012R2的實例是什麼。運行'(幫助New-DPMRecoveryPoint).parameters.parameter | %parameterSetName |選擇-Unique |測量| %count「顯示在我的實時cmdlet上只有一個參數集,而您引用的文檔中只有四個參數集。我懷疑這個問題最好由MS在technet論壇上回答。如果你確實得到了一個答案,請至少在這裏鏈接...我很好奇這個解釋。 – alx9r

+0

如果我找到任何我會反抗知道的。我發現令人難以置信的奇怪之處在於使用'DataProtectionManager \ NewDPMRecoveryPoint'將我的錯誤切換到其他東西。所以請試試這個也是 – Harvey

+0

哦。我明白現在發生了什麼。我已經發布了一個答案。 – alx9r

回答

2

奇怪的是似乎是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 
+0

這是很棒的工作。請注意,您可以使用模塊名稱反斜槓命令來完全限定命令名稱,如下所示:'Microsoft.PowerShell.Core \ Get-Command',這也可以用於調用'Get-Help',以便您不需要必須卸載/重新加載模塊才能獲得各個版本的幫助。 – briantist

+0

@briantist謝謝:) – alx9r