Я написал меню, которое будет вводить целое число в функцию selectPod, а затем я хочу, чтобы объект $ sqlSettings, заполненный сервером и базой данных, использовался в нескольких запросах SQL, которые я написал позже в сценарии.Я сделал хитрые биты, но не могу заставить это работать.
$SQLServer = @()
$Server = @()
$database = @()
function selectPod($podnumber) {
switch ($podnumber)
{
1 { $Server = "SQLSERVER01";
$Database = "DATABASE01"
}
2 { $Server = "SQLSERVER02";
$Database = "DATABASE02"
}
3 { $Server = "SQLSERVER03";
$Database = "DATABASE03"}
4 { $Server = "SQLSERVER04";
$Database = "DATABASE04"}
5 { $Server = "SQLSERVER05"
$Database = "DATABASE05"}
}
$properties = $params = @{
'Pod' = $podnumber;
'SQLServer' = $Server;
'Database' = $Database;
}
$sqlSettings = New-Object -TypeName PSObject -Property $properties
Write-Output $sqlSettings
}
selectPod 5
Write-Host "you are targeting " $($SQLSettings.POD) " which is SQLServer`
$($SQLSettings.server) and $($SQLSettings.database)" -ForegroundColor Green
Я знаю, что это работает, потому что вывод записи в порядке.Но шоу для хоста записи не выживает вне функции.
you are targeting which is SQLServer and
SQLServer Pod Database
--------- --- --------
SQLSERVER05 5 DATABASE05
Возможно, я делаю это совершенно неправильно, но любая помощь будет признательна.