Невозможно добавить вход в Windows, используя DSC
После создания виртуальной машины 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 ". Причина: не удалось найти имя входа, соответствующее указанному имени. [КЛИЕНТ: ]"
Что я делаю неправильно?
Спасибо
0 ответов
Похоже, что DSC пытается подключиться к серверу SQL как пользователь, которого я пытаюсь добавить.
Ваш вывод верен. PsDscRunAsCredential = $Credential
инструктирует DSC Local Configuration Manager использовать $credential для выполнения команд. Возможно, вы захотите указать существующее имя входа SQL с достаточным разрешением, чтобы добавить дополнительные имена входа в PsDscRunAsCredential.