powershell无法识别参数

时间:2017-07-05 06:19:20

标签: sql powershell

我正在使用powershell脚本连接到服务器。如果我在没有参数的情况下在脚本中传递服务器名称它正在工作,但如果我使用输入作为服务器名称,则说“找不到服务器”。见下面的脚本:

res

上面的代码在没有参数的情况下运行良好,如果我将servername作为参数,我会得到以下错误:

clear

#param([string]$servername)

$filePath = "c:\temp\result.txt"
$Servername= "cx-siscsqltest\sqlinst"


#$SqlQuery = "select SUBSTRING(CONVERT(sysname, SERVERPROPERTY('ProductVersion')),0,CHARINDEX('.',convert(sysname,SERVERPROPERTY('ProductVersion')),0)) as 

#'ProductVer';"

$SqlQuery="select * from sys.sysaltfiles"



$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = '$Servername'; Database = master; Integrated Security = SSPI;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$DataSet.Tables[0] | out-file "C:\temp\version.csv"

#$version=System.Data.DataSet.Tables[0].Rows[0][0] 
write-host $version

你能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

Param()必须是您脚本中的第一行。移除clear,您会在ISE中看到param()的颜色会发生变化