none
CMDLET help required RRS feed

  • Question

  • cmdlet help required. running the base command Start-ProductionServerSwitchProtection results in the cmdlet asking for input; which is good because the documentation is sorely lacking I seem to be failing on the ProductionServer input, however.... at the end of the entries, I get the following: Cannot bind parameter 'ProductionServer'. Cannot convert the "kasper" value of type "System.String" to type "Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.ProductionServer". any ideas ? I am also looking for the corresponding ps1 script to do the same thing, but it is not installed where it should be.
    Friday, June 18, 2010 3:08 PM

Answers

  • First get an object of the protected server that you want to switch protection.

    $ps = Get-ProductionServer DPMServerName  | where { $_.NetBiosName -eq "ProtectedComputerNETBIOSName" } //// get the production server object using the appropriate DPM server name and production server names ////

    Then Run

    Start-ProductionServerSwitchProtection -ProtectionType ProtectFromPS/ProtectFromDPM -UserName username -Password password -DomainName userdomain -ProductionServer $ps  // $ps is the return value from above command ////

    This will make DPMServerName to protect ProtectedComputerNETBIOSName directly from  ProtectedComputerNETBIOSName ( if you use ProtectFromPS in second command) or from other DPM server if you use ProtectFromDPM (in second command). Hope this is more clear now.


    Thanks, Praveen D [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, June 21, 2010 1:55 PM

All replies

  • First get an object of the protected server that you want to switch protection.

    $ps = Get-ProductionServer DPMServerName  | where { $_.NetBiosName -eq "ProtectedComputerNETBIOSName" } //// get the production server object using the appropriate DPM server name and production server names ////

    Then Run

    Start-ProductionServerSwitchProtection -ProtectionType ProtectFromPS/ProtectFromDPM -UserName username -Password password -DomainName userdomain -ProductionServer $ps  // $ps is the return value from above command ////

    This will make DPMServerName to protect ProtectedComputerNETBIOSName directly from  ProtectedComputerNETBIOSName ( if you use ProtectFromPS in second command) or from other DPM server if you use ProtectFromDPM (in second command). Hope this is more clear now.


    Thanks, Praveen D [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, June 21, 2010 1:55 PM
  • Hi,

    I've got the very same problem as mentioned Rick some time ago. I also tried the guide from your post, same error:

    Start-ProductionServerSwitchProtection : Cannot bind parameter 'ProductionServe
    r'. Cannot convert the "$ps" value of type "System.String" to type "Microsoft.I
    nternal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.ProductionServer".
    At line:1 char:39
    + Start-ProductionServerSwitchProtection <<<<
      + CategoryInfo     : InvalidArgument: (:) [Start-ProductionServerSwit
      chProtection], ParameterBindingException
      + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.Interna
      l.EnterpriseStorage.Dls.UI.Cmdlet.ProtectionCmdLets.StartProductionServerS
     witchProtection
    

    Does anybody have more ideas or experiences? There is really lack of information about this issue. In my enviroment I've got primary DPM 2010 (upgraded from 2007) and secondary clean installation of DPM 2010. I readed thoroughly Help for this cmdlet and tried many approaches, with no success yet. Thanks for any advice,

    JZ

    Wednesday, February 2, 2011 12:16 AM
  • You can't pass a string (server name) when a ProductionServer object is expected.  Praveen's reply above demonstrates one way to get an actual DPM ProductionServer object assigned to the $ps variable.
    Wednesday, February 2, 2011 6:20 PM
  • I ran the command to get an object to $ps variable at first. $ps = Get-ProductionServer vspm05.vsp.int  | where { $_.NetBiosName -eq "vspd01" } 

    VSPM05.VSP.INT is secondary DPM and VSPD01.VSP.INT is computer for which I want to switch protection. Then I ran cmdlet Start-ProductionServerSwitchProtection. It's wrong? In any case, thank you for attention.

    Wednesday, February 2, 2011 11:00 PM