AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1167461
Accepted
Wayne Jondle
Wayne Jondle
Asked: 2024-11-06 05:36:58 +0800 CST2024-11-06 05:36:58 +0800 CST 2024-11-06 05:36:58 +0800 CST

Lista de servidores DNS do Windows, todos os registros, todas as zonas contendo CIDR

  • 772

No PowerShell, posso executar Get-DnsServerResourceRecord -zonename "test.com" para obter todos os registros na zona.

Posso carregar todas as zonas em uma variável e usar um loop for para obter todos os registros em todas as zonas.

O que eu quero é todos os registros de todas as zonas com um registro contendo um endereço IP dentro de um intervalo CIDR.

Exemplo: Quero todos os registros em todas as zonas que tenham um valor de 10.10.10.1/24. O retorno deve conter zona, tipo de registro, nome do registro e valor, por exemplo, temp.com, registro A, www, 10.10.10.10 test.org, cname, host1, 10.10.10.25 etc.

windows
  • 1 1 respostas
  • 49 Views

1 respostas

  • Voted
  1. Best Answer
    Keith Langmead
    2024-11-06T19:45:42+08:002024-11-06T19:45:42+08:00

    A primeira coisa a ser notada é que ao consultar DNS, cada tipo de registro DNS tem uma propriedade diferente para consultar, então não há como simplesmente consultar um registro para qualquer coisa que corresponda a "mydomain.foo" e obter todos os registros CNAME, MX, TXT, NS que podem ter essa sequência. Então a consulta abaixo é especificamente para encontrar endereços IPv4 em registros A.

    Já que você está procurando por um /24, a opção mais simples é simplesmente procurar pelos 3 primeiros octetos. Então:

    $searchIP="10.10.10."
    $zonelist=get-dnsserverzone
    ForEach ($zone in $zonelist)
    {
        get-dnsserverresourcerecord -zonename $Zone.zonename | 
            Where-Object {$_.RecordData.ipv4address -match $searchIP} | 
            select @{N="ZoneName";E={$Zone.zonename}},HostName,RecordType,@{N="IPv4 Address";E={$_.RecordData.ipv4address}} | 
            Format-Table
    }
    

    Você poderia, com alguma manipulação de strings, procurar por um subconjunto de /24, mas como os endereços IP são strings e não números, fica complicado.

    Observe que o bit de consulta em si é:

    Where-Object {$_.RecordData.ipv4address -match $searchIP}
    

    onde o elemento crítico é:

    RecordData.ipv4address
    

    Você pode consultar outros tipos de registros usando outras propriedades encontradas em RecordData, alguns exemplos das quais são :

    RecordData.HostNameAlias
    RecordData.MailExchange
    RecordData.DomainName
    RecordData.DescriptiveText
    RecordData.PrimaryServer
    RecordData.NameServer
    RecordData.IPv6Address
    RecordData.PtrDomainName
    
    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve