Sql server SQL Server service pack的静默安装不使用参数

Sql server SQL Server service pack的静默安装不使用参数,sql-server,powershell,Sql Server,Powershell,iam通过静默安装在SQL Server上安装service pack。 代码在没有参数的情况下工作,但参数ts不工作 无参数代码 param([string]$servername) param([string]$instance) $path1="D:\sysdba\SQLServer2008R2SP2-KB2630458-x64-ENU.exe" Try { $SqlQuery = "SELECT * from dbo.BlockingInfoOutput;" $SqlConne

iam通过静默安装在SQL Server上安装service pack。 代码在没有参数的情况下工作,但参数ts不工作

无参数代码

param([string]$servername)
param([string]$instance)


$path1="D:\sysdba\SQLServer2008R2SP2-KB2630458-x64-ENU.exe"


Try
{

$SqlQuery = "SELECT * from dbo.BlockingInfoOutput;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection



$SqlConnection.ConnectionString = "Server = $Servername; Database = master; Integrated Security = SSPI;"
write-host $SqlConnection.ConnectionString 
$command=$path1

write-host $servername
write-host $instance

$arg1="/instancename=" + $instance
$arg2= "/quiet" 
$arg3= "/IACCEPTSQLSERVERLICENSETERMS=TRUE"

write-host $arg1
write-host $instance
# D:\sysdba\SQLServer2008R2SP2-KB2630458-x64-ENU.exe  /instancename=SQLINST /quiet  /IACCEPTSQLSERVERLICENSETERMS=”TRUE” | Out-File d:\sysdba\test.txt


write-host $path1 $arg1 $arg2 $arg3

          Write-Host "Success." 

}

Catch
{ 写入主机-背景色红色-背景色白色失败

    $errText =  $Error[0].ToString() 


        if ($errText.Contains("network-related")) 


    {Write-Host "Connection Error. Check server name, port, firewall."}   

    Write-Host $errText 


    continue 
}

带参数的代码

& $path1 $arg1 $arg2 $arg3
这是我正在使用的串联,但不工作


请提供任何帮助

我没有使用exe和参数测试该命令。但是试试这个:

Start-Process -FilePath $PathToExe-ArgumentList "/quiet" -Wait

iam在powershell命令提示符Ps:d:\sysdba\test.ps1 cx siscsqltest\sqlinst sqlinst中传递此命令,同时使用此d:\sysdba\test.ps1 cx siscsqltest\sqlinst sqlinst显示写入主机$servername,但是我看不到实例名称,请检查代码是否丢失了PS D:\sysdba>D:\sysdba\test.ps1 cx siscsqltest\sqlinst sqlinst术语“param”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在D:\sysdba\test.ps1:3 char:6+param/instancename=;D:\sysdba\SQLServer2008R2SP2-KB2630458-x64-chs.exe/instancename=/quiet/IACCE ptsqlserverlicenseerms=TRUE Success。它只是不显示实例名,不确定为什么不能使用两个参数。这样做:param[string]$servername[string]$instance