У вас есть проблема с форматированием вывода первого скрипта, когда вы выводите его как переменную, о которой я уже упоминал. Если вы решите проблему с оператором Update, то я бы проверил, правильно ли синтаксически анализируется в PowerShell. Также не ясно, как ваша функция получает значения $ DB_Server и $ Database. Я не совсем уверен, что это решит вашу проблему, но я думаю, что код для вашей функции запроса может быть упрощен, и вот минимальный пример, который работает для меня.
function Query {
Param (
[parameter(Mandatory=$true,Position = 0)][string]$SqlConnection,
[parameter(Mandatory=$true, Position = 1)][string]$Data
)
# Create a new connection
$SqlClient = New-Object System.Data.SqlClient.SqlConnection($SqlConnection)
$SqlClient.Open()
# Submit the query
$Query = "UPDATE <tablename> SET <column_name> = '$Data' WHERE <column_name> = '<value>'"
# You may want to comment out the rest of the function here and see how your Query looks.
$Command = New-Object System.Data.SqlClient.SqlCommand($Query,$SqlClient)
$DataSet = New-Object System.Data.DataSet
$DataAdapter = New-Object System.Data.SqlClient.SqlDataAdapter($Command)
$DataAdapter.Fill($DataSet) | Out-Null
# Close and return your data. You may want to dispose of the client too.
$DataSet.Tables[0]
$SqlClient.Close()
$SqlClient.Dispose()
}
$UserConnection = "Connection Timeout=120;User Id=UID1;Data Source=datasource.com;Password=password12!553"
$SqlConnection = "Server=<Server\Instance>; Database=<Database_Name>; Integrated Security=True; Connect Timeout=15"
Query -SqlConnection $SqlConnection -Data $UserConnection
Затем вы можете захотеть перебрать пользовательский объект SQL-соединений и пользовательские соединения, которые вы хотите добавить и создать свой выходной объект таким способом. Это должно поддерживать вывод в том порядке, в котором вы их указали.
$Export = $Connections | Foreach-Object { Query -SqlConnection $_.SqlConnection -Data $_.UserConnection }
return $Export
Затем вы можете продолжить действия сценария два, как показано ниже. Я не уверен, что вам нужен отдельный.
foreach ($obj in $Export) {
# Do stuff here.
}