构建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'的登录失败。原因:找不到与提供的名称匹配的登录。[客户:]”
我在做什么错了?
谢谢
答案 0 :(得分:0)
DSC似乎正在尝试以我要添加的用户身份连接到SQL Server。
您的结论是正确的。 PsDscRunAsCredential = $Credential
指示DSC本地配置管理器使用$ credential执行命令。您可能想要指定一个具有足够权限的现有SQL登录名,以将其他登录名添加到PsDscRunAsCredential。