Я пытаюсь автоматизировать создание и удаление записей CName в нашем внутреннем DNS. Мы работаем под управлением Windows Server 2012 R2 и используем командлеты сервера DNS PowerShell.Удалить конкретную запись CName [PowerShell]
опрашивающие и создание синонимов не является проблемой, эта линия создает web.test.dev.contoso.com
CNAME и связывает его с записью dev01.contoso.com.
AName
Add-DnsServerResourceRecordCName -ZoneName "contoso.com" -HostNameAlias "dev01.contoso.com." -Name "web.test.dev"
Этой строка извлекает web.test.dev.contoso.com
CNAME, которая связана с dev01.contoso.com.
AName
Get-DnsServerResourceRecord -RRType CName -ZoneName "contoso.com" | ? {$_.RecordData.HostNameAlias -eq "dev01.contoso.com." -and $_.HostName -eq "web.test.dev"
Но удаление записи CNAME является вопрос, я могу извлечь CNAME и передать его в Remove-DnsServerResourceRecord
командлет likeso:
Get-DnsServerResourceRecord -RRType CName -ZoneName "contoso.com" | ? {$_.RecordData.HostNameAlias -eq "dev01.contoso.com." -and $_.HostName -eq "web.test.dev" | Remove-DnsServerResourceRecord -ZoneName $zoneName -RRType "CName"
Но я получаю эту ошибку:
The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take
pipeline input.
+ CategoryInfo : InvalidArgument: (DnsServerResourceRecord:PSObject) [Remove-DnsServerResourceRecord], ParameterBindingException
+ FullyQualifiedErrorId : InputObjectNotBound,Remove-DnsServerResourceRecord
Кто-нибудь был в состоянии удалить запись CNAME с помощью командлета Remove-DnsServerResourceRecord на основе значений Входа или же он просто удалить все синонимами с определенным именем ?
EDIT: В соответствии с ответом Фрод F, в финале команда:
Get-DnsServerResourceRecord -RRType CName -ZoneName "contoso.com" | ? {$_.RecordData.HostNameAlias -eq "dev01.contoso.com." -and $_.HostName -eq "web.test.dev" | Remove-DnsServerResourceRecord -ZoneName $zoneName -Force
Что произойдет, если вы просто использовать сырую команду, без конвейерная? (ошибка указывает на проблему с конвейером) –