У меня есть скрипт, который вызывает Invoke-Sqlcmd2
$password = ConvertTo-SecureString 'xxxxxxx' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ('domain\someuser', $password)
$resultListTable = Invoke-Sqlcmd2 -Credential $cred -query $query -ServerInstance "SERVER" -Database ZZZZ -As "DataTable"
, который завершается ошибкой с сообщением об ошибке
Исключение вызывает "Open" с аргументом "0":"Не удалось войти в систему для пользователя 'домен \ someuser'."
Мой администратор БД сообщает мне, что он видит ошибку с сервера, которая выглядит следующим образом:
Логинсбой для пользователя 'domain \ someuser' Причина: Попытка использовать имя учетной записи NT с аутентификацией SQL Server.
В документации для Invoke-SqlCmd2 в (https://github.com/sqlcollaborative/Invoke-SqlCmd2/blob/master/Invoke-SqlCmd2/Public/Invoke-SqlCmd2.ps1) указано, что оба окнаи аутентификация sql поддерживаются. (Я пробовал только с учетными данными sql, и это прекрасно работает, но мне нужно использовать учетные данные Windows, которые у меня есть по деловым причинам). И я видел (где-то, не могу найти его прямо сейчас), что достаточно просто указать обратную косую черту в имени пользователя, чтобы он (предположительно объект System.Data.SqlClient.SQLConnection
) выбрал аутентификацию Windows. К сожалению, я наблюдаю не такое поведение.
Есть ли что-то еще, что мне нужно сделать с вызовом, чтобы включить аутентификацию Windows?