繁体   English   中英

Powershell脚本未使用参数执行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM