CMD to PS formatting help. Netapp install.

This topic contains 2 replies, has 3 voices, and was last updated by  iain Barnetson 3 weeks, 1 day ago.

  • Author
    Posts
  • #80602

    Dan Potter
    Participant

    I need to run this command in powershell and I've tried numerous different ways. I believe PS has an issue with the quotes although it doesn't throw an error.

    snapdrive7.0.exe /s /v"/qn SILENT_MODE=1 /Li SDInstall.log LPSM_SERIALNUMBER=serialnumber INSTALLDIR=\"c:\Program Files\NetApp\SnapDrive\" SVCUSERNAME=domain\username SVCUSERPASSWORD=password SVCCONFIRMUSERPASSWORD=password" SDW_WEBSRV_TCP_PORT=808 SDW_WEBSRV_HTTP_PORT=4098 TRANSPORT_PRT_SELECTION=2 TRANSPORT_PRT_PORT=80 TRANSPORT_PROTOCOL_LOGON_USERNAME=username TRANSPORT_PROTOCOL_LOGON_PASSWORD=password ESXIPADDRESS=IPaddress ESXUSERNAME=username ESXUSERPASSWORD=password ESXCONFIRMUSERPASSWORD=password ADD_WINDOWS_FIREWALL=1"

  • #80612

    Sam Boutros
    Participant
    
    
    $SvcCred        = Get-SBCredential -UserName 'domain\username' # This function is in SB-Tools module, if you're using PS 5 use: Install-Module SB-Tools -Force 
    #$SvcCred        = Get-Credential -UserName 'domain\username' # Alternatively use the native Get-Credential but you'll need to interactively enter the pwd every time..
    $TransportCred  = Get-SBCredential -UserName 'TransportProtocolUserName' # Same thing..
    $EsxCred        = Get-SBCredential -UserName 'EsxUserName' 
    
    
    $myArguments  = ' /s /v"/qn '
    $myArguments += 'SILENT_MODE=1 '
    $myArguments += '/Li SDInstall.log '
    $myArguments += 'LPSM_SERIALNUMBER=1111222233334 '
    $myArguments += 'INSTALLDIR=''c:\Program Files\NetApp\SnapDrive\'' '
    $myArguments += "SVCUSERNAME=$($SvcCred.UserName) "
    $myArguments += "SVCUSERPASSWORD=$($SvcCred.GetNetworkCredential().Password) " 
    $myArguments += "SVCCONFIRMUSERPASSWORD=$($SvcCred.GetNetworkCredential().Password) " 
    $myArguments += 'SDW_WEBSRV_TCP_PORT=808 '
    $myArguments += 'SDW_WEBSRV_HTTP_PORT=4098 '
    $myArguments += 'TRANSPORT_PRT_SELECTION=2 '
    $myArguments += 'TRANSPORT_PRT_PORT=80 '
    $myArguments += "TRANSPORT_PROTOCOL_LOGON_USERNAME=$($TransportCred.UserName) "
    $myArguments += "TRANSPORT_PROTOCOL_LOGON_PASSWORD=$($TransportCred.GetNetworkCredential().Password) "
    $myArguments += 'ESXIPADDRESS=IPaddress '
    $myArguments += "ESXUSERNAME=$($EsxCred.UserName) "
    $myArguments += "ESXUSERPASSWORD=$($EsxCred.GetNetworkCredential().Password) "
    $myArguments += "ESXCONFIRMUSERPASSWORD=$($EsxCred.GetNetworkCredential().Password) "
    $myArguments += 'ADD_WINDOWS_FIREWALL=1"'
    
    & "snapdrive7.0.exe $myArguments"
    
  • #80632

    iain Barnetson
    Participant

    Would $myArguments be better set as an array ?

    $SnapDrive = "snapdrive7.0.exe"

    $myArguments = @()
    $myArguments += ' /s /v"/qn '
    $myArguments += 'SILENT_MODE=1 '
    $myArguments += '/Li SDInstall.log '
    $myArguments += 'LPSM_SERIALNUMBER=1111222233334 '
    $myArguments += 'INSTALLDIR="c:\Program Files\NetApp\SnapDrive\" '
    $myArguments += "SVCUSERNAME=$($SvcCred.UserName) "
    $myArguments += "SVCUSERPASSWORD=$($SvcCred.GetNetworkCredential().Password) "
    $myArguments += "SVCCONFIRMUSERPASSWORD=$($SvcCred.GetNetworkCredential().Password) "
    $myArguments += 'SDW_WEBSRV_TCP_PORT=808 '
    $myArguments += 'SDW_WEBSRV_HTTP_PORT=4098 '
    $myArguments += 'TRANSPORT_PRT_SELECTION=2 '
    $myArguments += 'TRANSPORT_PRT_PORT=80 '
    $myArguments += "TRANSPORT_PROTOCOL_LOGON_USERNAME=$($TransportCred.UserName) "
    $myArguments += "TRANSPORT_PROTOCOL_LOGON_PASSWORD=$($TransportCred.GetNetworkCredential().Password) "
    $myArguments += 'ESXIPADDRESS=IPaddress '
    $myArguments += "ESXUSERNAME=$($EsxCred.UserName) "
    $myArguments += "ESXUSERPASSWORD=$($EsxCred.GetNetworkCredential().Password) "
    $myArguments += "ESXCONFIRMUSERPASSWORD=$($EsxCred.GetNetworkCredential().Password) "
    $myArguments += 'ADD_WINDOWS_FIREWALL=1"'

    &$SnapDrive $myArguments

    You may have to run each of those as a seperate parameter though.

    $SnapDrive = "snapdrive7.0.exe"

    $myArguments = ' /s /v"/qn '
    $myArguments1 = 'SILENT_MODE=1 '
    $myArguments2 = '/Li SDInstall.log '
    $myArguments3 = 'LPSM_SERIALNUMBER=1111222233334 '
    etc
    etc

    $SnapDrive $myArguments $myArguments1 $myArguments2 $myArguments3...........

You must be logged in to reply to this topic.