Я не могу найти ответ на этот вопрос. У нас есть серверы Devops в помещениях. Я создал выделенную учетную запись службы в Active Directory с целью добавления записей DNS. Я пытаюсь добавить запись DNS CNAME, используя Powershell в конвейере. К сожалению, он отказывается работать в качестве dnsAdmin. Я прошел через процессы и делегирование установки и все необходимые права для учетной записи для управления записями DNS. Я протестировал учетную запись, и она может добавлять / удалять записи DNS без повышения прав, поэтому я на 100% уверен, что учетная запись пользователя НЕ является проблемой.
На нашем сервере я установил «RSAT: DNS Tools» и с помощью add -dnsServerResourceRecordCName, он работает из PowerShell, работающего в качестве учетной записи службы.
Поэтому я добавил этот сценарий в конвейер devops как «Run Inline Powershell»
param (
[string]$cname,
[string]$hostname,
[string]$zone,
[string]$dnsServer,
[string]$username,
[string]$password
)
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username, $pass
Invoke-Command -ComputerName $dnsServer -Credential $cred -ScriptBlock {
$cname = $using:cname
$zone = $using:zone
$existing = Get-DnsServerResourceRecord -Name $cname -ZoneName $zone -RRType CName -ErrorAction SilentlyContinue -ErrorVariable ProcessError
if ($ProcessError) {
Write-Host "Adding CName $cname for $using:hostname.$zone."
add-dnsServerResourceRecordCName -name $cname -HostNameAlias "$using:hostname.$zone." -ZoneName "$zone"
} else {
$hostname = $existing.RecordData.HostNameAlias
Write-Host "$cname exists as $hostname"
}
}
Однако я продолжаю получать ошибки, в которых отказано в разрешении , Я также попробовал другие методы Powershell, такие как использование start-process и $ session и запуск скриптов, я проверил, что это не проблема двойного прыжка. И у нас давно установилась среда Winrm, мы ежедневно используем скрипты Powershell, поэтому знаем, что они работают. Помните, что мы запустили вышеупомянутый скрипт и передали ему параметры как пользователь учетной записи службы, и он работает с нескольких разных рабочих станций, включая текущий веб-сервер.
Чтобы доказать, что мои настройки работают, я добавил учетную запись в группа администраторов домена, поставила ее в очередь в DevOps и все работает как положено. DNS-запись была создана, как и ожидалось. Итак, мы знаем, что это связано с доступом, который имеет администратор домена, а учетная запись службы - нет.
Есть ли шанс, что у кого-то здесь есть ответ на эту проблему?
Чад