У меня есть центральный сервер, на котором хранятся все сведения о сервере и его учетные данные. Я получаю имя сервера и его логин и пароль, используя запрос, и получаю результаты с удаленных серверов SQL. Я могу получить результат, но он выдает ошибку в выводе Powershell.
PS Сценарий:
$computers=Get-Content "$MyDir\$Role-serverlist.txt";
ForEach($a in $computers)
{
$Login= (Invoke-SqlCmd -ServerInstance $Server -Username "abc" -Password "defg" -Database $Database -Query "select username")
$Password=(Invoke-SqlCmd -ServerInstance $Server -Username "abc" -Password "defg" -Database $Database -Query "select Password")
$Result = (Invoke-SqlCmd -ServerInstance $a -Username "$Login" -Password "$Password" -Database master -Query "$Query")
$Result
}
Ошибка:
Invoke-Sqlcmd: невозможно проверить аргумент параметра «Имя пользователя». Аргумент нулевой или пустой. Укажите аргумент, который не является пустым или пустым, а затем повторите команду.
В E: \ Query.ps1: 100 char: 56
+ $ result = (Invoke-SqlCmd -ServerInstance "$ a" -Пользовательское имя "$ Login" -Password "$ Pass ...