我有一个利用函数Get-DNSServerResourceRecord的powershell。 我已经在几个不同的服务器上进行了测试,但在我想让它运行的服务器上,我得到了这个错误。
Get-DNSServerResourceRecord : 术语'Get-DnsServerResourceRecord'不被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,如果包含路径,请确认路径是否正确,然后再试。在 line:2 char:3 + Get-DnsServerResourceRecord -ComputerName $DNSServer -ZoneNam ...。 (Get-DnsServerResourceRecord:String)[], CommandNotF oundException + FullyQualifiedErrorId : CommandNotFoundException (CommandNotFoundException)
我所有的google都告诉我,由于我在Windows Server 2016 (DataCenter)上运行这个,所以这应该可以正常工作。 为了让这个运行,我缺少什么?
我到底是如何运行它的。
$DNSServer = "dnsservername"
$dnsrecord = Get-DnsServerResourceRecord -ComputerName $DNSServer -ZoneName 'db.local' -RRType CName | Where-Object {$_.RecordData.HostNameAlias -like "*" -and $_.HostName -like "*.*"}
$Datatable = New-Object System.Data.DataTable
[void]$Datatable.Columns.Add("CName")
[void]$Datatable.Columns.Add("HostNameAlias")
Foreach ($record in $dnsrecord)
{
[void]$Datatable.Rows.Add($record.HostName, $record.RecordData.HostNameAlias)
}
你需要安装DNS服务器工具模块.运行下面的powershell命令安装-WindowsFeature rsat-DNS-server。