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