на сервере 2012 R2 я монтирую носитель SQLServer как диск (работает), но каждый раз, когда я запускаю установку с помощью "Start-Process", ошибка "позиционный параметр не может быть найден, который принимает аргумент" $null "" всегда генерируется, даже если мои пути и argumebnts хороши (установка завершается успешно).
$sqlreturn = Start-Process -FilePath "$DVDDriveLetter`Setup.exe" -ArgumentList "$ArgumentList" -Wait
установка работает, у меня есть длинный список аргументов, как коллекция, которая также распознается правильно (все paramenters работают для SQL). Я ей напишу аргументы, использующие цикл foreach с Write-Verbose и eveything распознается параметром Start-Process "- ArgumentList" правильно:
Write-Verbose "--- Full Argument List:"
foreach ($arg in $ArgumentList) {Write-Verbose $arg}
VERBOSE: --- Full Argument List:
VERBOSE: /ACTION=Install
VERBOSE: /IACCEPTSQLSERVERLICENSETERMS
VERBOSE: /X86=False
VERBOSE: /TCPENABLED=1
VERBOSE: /SQLSYSADMINACCOUNTS=DOMAINserver_admins DOMAINSQLServer_admins
VERBOSE: /QS
VERBOSE: /FEATURES=SQLENGINE,REPLICATION,FULLTEXT,BIDS,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,SNAC_SDK
VERBOSE: /INSTANCENAME=MSSQLSERVER
VERBOSE: /INSTANCEID=MSSQLSERVER
VERBOSE: /SQLBACKUPDIR=C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackup
VERBOSE: /SQLUSERDBDIR=C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLData
VERBOSE: /SQLUSERDBLOGDIR=C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLData
VERBOSE: /SQLTEMPDBDIR=C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLData
VERBOSE: /SQLTEMPDBLOGDIR=C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLData
VERBOSE: /SQLSVCACCOUNT=DOMAINMSAAccount1$
VERBOSE: /AGTSVCACCOUNT=DOMAINMSAAccount2$
VERBOSE: /ISSVCACCOUNT=DOMAINMSAAccount3$
VERBOSE: /SAPWD=System.Security.SecureString
VERBOSE: /SECURITYMODE=SQL
Так почему же я всегда получаю ошибку "позиционный параметр не может быть найден, который принимает аргумент "$null" с Start-Process, даже если установка работает правильно?