[英]Powershell script not executing with parameters
当我尝试执行下面提供的脚本时,我什么也没有得到,没有错误,没有任何回报。 并且不执行任何更改。 我可以为此提供一些帮助。 这是脚本:
Function Insert-DefaultAddressesToKretaDb{
Param(
[parameter(Mandatory=$true)]
[string]$server,
[parameter(Mandatory=$true)]
[string]$database)
Write-Host "Executing on " $server " database " $database
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$server';database='$database';trusted_connection=true;"
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Sql = "<validated and working sql script>"
$Command.CommandText = $Sql
$Command.ExecuteNonQuery()
$Connection.Close()
}
这就是我试图执行的方式:
. .\Insert-DefaultAddressesToKkopDb.ps1 -server "<serverName>'-database "<databaseName>"
有什么想法吗?
我认为您混淆了两个概念:函数和脚本。 在第一个代码块中,构建一个函数。 对于调用它,您可以运行以下命令:
Function Insert-DefaultAddressesToKretaDb{
Param(
[parameter(Mandatory=$true)]
[string]$server,
[parameter(Mandatory=$true)]
[string]$database)
Write-Host "Executing on " $server " database " $database
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$server';database='$database';trusted_connection=true;"
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Sql = "<validated and working sql script>"
$Command.CommandText = $Sql
$Command.ExecuteNonQuery()
$Connection.Close()
}
#Call the function
Insert-DefaultAddressesToKretaDb -server "<serverName>'-database "<databaseName>"
您可能会调用您的函数。
存在另一种方式,这是创建脚本。 为此,请使用名称Insert-DefaultAddressesToKretaDb.ps1保存以下内容:
Param(
[parameter(Mandatory=$true)]
[string]$server,
[parameter(Mandatory=$true)]
[string]$database)
Write-Host "Executing on " $server " database " $database
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$server';database='$database';trusted_connection=true;"
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Sql = "<validated and working sql script>"
$Command.CommandText = $Sql
$Command.ExecuteNonQuery()
$Connection.Close()
然后,您可以运行以下命令:
.\Insert-DefaultAddressesToKretaDb.ps1 -server "<serverName>'-database "<databaseName>"
我猜该函数/脚本的正确名称是Insert-DefaultAddressesToKretaDb。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.