Как использовать Get-Credential при открытии SQL-соединения в Powershell - PullRequest
0 голосов
/ 11 мая 2019

Моя компания должна убедиться, что с каждого компьютера выставляется счет нужному отделу (это очень большая компания). Я делаю это, удостоверяясь, что каждому компьютеру выставлен счет с идентификатором отдела последнего пользователя, который вошел в систему.

Когда у меня есть идентификаторы пользователей для всех компьютеров (с использованием сценария PS), мне нужно выполнить запрос SQL, чтобы выбрать коды отделов для каждого пользователя. Затем я могу обновить платежную информацию этими данными.

Однако я не могу заставить SQL-запрос работать в PS. Он работает в консоли управления сервером, но было бы проще сделать один шаг, а не два. Кажется, я передаю учетные данные с помощью «Get-Credential», поскольку я получаю сообщение об ошибке в одном и том же месте ($ connection.Open ()).

Я знаю, что мои учетные данные работают, но я все еще получаю ошибку "Исключение вызывает" Открыть "с аргументом (ами)" 0 ": вход в систему для пользователя 'MY_ID' не выполнен."

Что мне здесь не хватает? Любая помощь будет оценена!

function Invoke-SQL {
    $cred = Get-Credential
    $cred.Password.MakeReadOnly()
    $cred.UserName -replace("\\","")

    $sqlCred = New-Object System.Data.SqlClient.SqlCredential($cred.username,$cred.password)

    $connection = New-Object System.Data.SqlClient.SqlConnection
    $connection.ConnectionString = “Data Source=DS;Initial Catalog=DB”
    $connection.Credential = $sqlCred

    $sqlCommand = "Select * from HR_DATA
                   Where User_ID = '$ID'"

    $command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection)
    $connection.Open()

    $adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command

    $dataset = New-Object System.Data.DataSet

    $adapter.Fill($dataset) | Out-Null

    $connection.Close()
    $dataset.Tables[0]

    }

    Invoke-SQL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...