无法使用DSC添加Windows登录信息

时间:2019-02-14 10:32:03

标签: powershell powershell-dsc

构建Azure VM并加入域后,需要向Windows Server登录添加Windows用户。我为此使用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实例   '本地主机'。       + CategoryInfo:InvalidOperation:(root / Microsoft / ... gurationManager:String)[],CimException       + FullyQualifiedErrorId:ProviderOperationExecutionFailure       + PSComputerName:本地主机

似乎DSC尝试以我要添加的用户身份连接到SQL Server。我的意思是,如果我尝试添加MyDomain \ xxx.zzz,那么我会在SQL Log中收到错误

“用户'MyDomain \ xxx.zzz'的登录失败。原因:找不到与提供的名称匹配的登录。[客户:]”

我在做什么错了?

谢谢

1 个答案:

答案 0 :(得分:0)

  

DSC似乎正在尝试以我要添加的用户身份连接到SQL Server。

您的结论是正确的。 PsDscRunAsCredential = $Credential指示DSC本地配置管理器使用$ credential执行命令。您可能想要指定一个具有足够权限的现有SQL登录名,以将其他登录名添加到PsDscRunAsCredential。