Невозможно добавить вход в Windows, используя DSC - PullRequest
0 голосов
/ 14 февраля 2019

После того, как я собрал виртуальную машину Azure и присоединился к домену, мне нужно добавить пользователя Windows для входа в SQL Server.Я использую DSC для этого, код

Configuration SQLConfig 
{
    param(
        # Parameter help description
        [Parameter(Mandatory =$true)][string]$ServerName,
        [System.Management.Automation.PSCredential]  $Credential

    )

    Import-DscResource -ModuleName SqlServerDsc
    Import-DscResource -ModuleName PSDesiredStateConfiguration

    Node localhost
    {
        SqlServerLogin addsysadmin
        {
            Ensure               = 'Present'
            Name                 = $Credential.UserName
            LoginType            = 'WindowsUser'
            ServerName           = $ServerName
            InstanceName         = 'MSSQLSERVER'
            PsDscRunAsCredential = $Credential
            LoginMustChangePassword = $false

        }

    }
}

Однако развертывание завершается со следующей ошибкой.

Ресурсу PowerShell DSC MSFT_SqlServerLogin не удалось выполнить функциональность Test-TargetResource с сообщением об ошибке: System.InvalidOperationException: Не удалось подключиться к экземпляру SQL «localhost».+ CategoryInfo: InvalidOperation: (root / Microsoft / ... gurationManager: String) [], CimException + FullyQualifiedErrorId: ProviderOperationExecutionFailure + PSComputerName: localhost

Похоже, DSC пытается подключиться к серверу SQLкак пользователь, которого я пытаюсь добавить.Я имею в виду, что если я пытаюсь добавить MyDomain \ xxx.zzz, я получаю сообщение об ошибке в журнале SQL

«Ошибка входа для пользователя« MyDomain \ xxx.zzz ». Причина: не удалось найти имя входасоответствует указанному имени. [КЛИЕНТ:] "

Что я делаю не так?

Спасибо

1 Ответ

0 голосов
/ 28 марта 2019

Похоже, что DSC пытается подключиться к серверу SQL как пользователь, которого я пытаюсь добавить.

Ваш вывод верен.PsDscRunAsCredential = $Credential указывает DSC Local Configuration Manager использовать $ credential для выполнения команд.Возможно, вы захотите указать существующее имя входа SQL с достаточным разрешением для добавления дополнительных имен входа в PsDscRunAsCredential.

...