Rumah php教程 PHP开发 PowerShell 给现有DNS记录创建PTR反向查询

PowerShell 给现有DNS记录创建PTR反向查询

Nov 23, 2016 pm 05:25 PM
powershell

今天早上豆子无意中发现公司的DNS服务器上面只有正向的解析,而没有对应的PTR记录。换句话说,可以通过域名来解析IP地址,但是倒过来IP地址是找不着域名的。

1个小时写了个很简单的脚本,判断已有的记录是否存在对应的reverse zone 和PTR记录,如果没有的话,自动给我创建加上。

思路很简单,脚本也比较糙,没有任何容错处理和优化,不过实现功能就好。

$ptrzones=Get-DnsServerzone -ComputerName syddc01 | Where-Object {$_.zonename -like "*.arpa"}
#获取所以的A记录
$machines=Get-DnsServerResourceRecord -ComputerName syddc01 -RRType A -ZoneName 'omnicom.com.au'| select @{n='IP';e={$_.recorddata.IPV4Address.IPAddressToString}}, hostname, timestamp, @{n='PTRZone';e={$temp=$_.recorddata.IPV4Address.IPAddressToString.split('.');$t=$temp[2]+'.'+$temp[1]+'.'+$temp[0]+‘.in-addr.arpa’;$t}}
 
foreach($machine in $machines){
   
  #判断是否存在PTR的reverse zone
  write-host $machine.hostname
  write-host $machine.PTRZone 
  $flag=0
  foreach($p in $ptrzones){
    if($p.zonename -eq $machine.PTRZone){
        #write-host " Matched PTR Zone" -BackgroundColor Cyan
        $flag=1
        break
        }
   
  }
  #如果PTR Zone不存在,创建一个对应的
  if($flag -eq 0){
    write-host " PTRZone is Missing,A new PTRZone will be created" -ForegroundColor Red
    $temp=$machine.IP.Split('.')
    $range=$temp[0]+'.'+$temp[1]+'.'+$temp[2]+".0/24"
    #$range
    Add-DnsServerPrimaryZone -DynamicUpdate Secure -NetworkId $range -ReplicationScope Domain -ComputerName syddc01
  }
  else{
   
    #如果PTR zone存在,判断是否存在对应的PTR记录
    $hname=Get-DnsServerResourceRecord -ComputerName syddc01 -RRType Ptr -ZoneName $machine.PTRZone | select @{n='name';e={$_.recorddata.ptrdomainname}}
    #$hname
    $temp="*"+$machine.hostname+"*"
    if($hname -like $temp){
         
       Write-Host "Already exist" -ForegroundColor Cyan
     
    }
    else{
        #PTR Zone存在 但是PTR记录不存在
        Write-Host "Adding PTR record" -ForegroundColor Yellow
        Add-DnsServerResourceRecordPtr -ComputerName syddc01 -ZoneName $machine.PTRZone -Name $machine.IP.Split('.')[3] -AllowUpdateAny -TimeToLive 01:00:00 -AgeRecord -PtrDomainName $machine.hostname 
    }
    }
   
   
  }
Salin selepas log masuk

执行脚本

wKioL1g1FQKRNt6DAAAEXizhf1w010.png

结果

wKioL1g1FQKRNt6DAAAEXizhf1w010.png

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tidak dapat memadam fail ISO yang dibuka dalam sistem: Cara membetulkannya Tidak dapat memadam fail ISO yang dibuka dalam sistem: Cara membetulkannya Apr 16, 2023 pm 02:25 PM

Apakah fail ISO? Fail ISO ialah fail yang mengandungi salinan tepat cakera optik, seperti DVD atau CD. Imej cakera jenis ini boleh dipasang pada komputer anda dan kelihatan seolah-olah anda mempunyai pemacu optik yang disambungkan ke komputer anda dan CD atau DVD yang mengandungi data dimasukkan ke dalam pemacu. Fail ISO juga boleh digunakan untuk membakar salinan baharu DVD atau CD dari mana ia dicipta, atau hanya untuk mengandungi sejumlah besar fail dalam satu fail yang mudah dimuat turun. Fail ISO selalunya agak besar apabila anda selesai dengannya, kemungkinan besar anda akan mahu

Bagaimana untuk membuka PowerShell sebagai pentadbir pada Windows 11 Bagaimana untuk membuka PowerShell sebagai pentadbir pada Windows 11 May 10, 2023 pm 06:40 PM

Cara Membuka PowerShell sebagai Pentadbir pada Windows 11 Menjalankan PowerShell dengan keizinan peringkat tinggi atau pentadbir membolehkan anda menjalankan perintah yang memintas perlindungan fail Windows, seperti yang digunakan untuk fail pemasangan Windows. Anda boleh menjalankan PowerShell dengan membuka PowerShell secara terus atau dengan membuka aplikasi Terminal Windows baharu, yang menggunakan PowerShell untuk menjalankan arahan secara lalai. Buka PowerShell sebagai pentadbir pada Windows 11: Buka menu mula dan taip powershell atau terminal. dari sebelah kanan

Betulkan: PowerShell tidak boleh dibuka atau PowerShell telah berhenti berfungsi dalam Windows 11/10 Betulkan: PowerShell tidak boleh dibuka atau PowerShell telah berhenti berfungsi dalam Windows 11/10 Apr 24, 2023 pm 07:49 PM

Ramai pengguna telah melaporkan masalah dengan Windows PowerShell berhenti berfungsi atau tidak dibuka sama sekali. Salah satu sebab yang paling biasa untuk melihat mesej PowerShell telah berhenti berfungsi ialah terdapat virus tersembunyi pada komputer anda. Ini seterusnya akan melambatkan sistem anda dan proses lain pada sistem akan berhenti berfungsi. Mesej ralat tidak memberikan sebarang maklumat tentang punca masalah ini, menjadikannya sukar untuk diselesaikan. Jika anda jengkel dengan PowerShell tidak menjalankan atau membuka isu pada PC anda, maka artikel ini adalah untuk anda. Dalam artikel ini, kami telah membincangkan beberapa penyelesaian yang boleh anda gunakan untuk membetulkan ralat ini. Betulkan 1 – Lumpuhkan dan dayakan semula Windows PowerShell 1. Gunakan Ctr

Cara menggunakan Nishang, alat ujian penembusan PowerShell Cara menggunakan Nishang, alat ujian penembusan PowerShell May 13, 2023 am 10:58 AM

PowerShell permulaan, mula-mula mari kita fahami konsep: PowerShell boleh dianggap sebagai versi cmd (bahasa skrip kelawar) yang dinaik taraf, iaitu bahasa skrip pada platform Windows. Ia berorientasikan objek dan berkait rapat dengan .NetFrameWork. Ia juga boleh dianggap sebagai bashshell pada Windows. Windows PowerShell ialah shell baris perintah dan persekitaran skrip yang membolehkan pengguna baris arahan dan skrip untuk memanfaatkan kuasa Rangka Kerja .NET. Ia memperkenalkan beberapa konsep baharu yang sangat berguna, memanjangkan lagi perkara yang anda dapat dalam persekitaran Windows Command Prompt dan WindowsHost

Arahan PowerShell gagal dengan isu HRESULT 0x80073D02 dibetulkan Arahan PowerShell gagal dengan isu HRESULT 0x80073D02 dibetulkan May 10, 2023 am 11:02 AM

Adakah anda melihat mesej ralat ini "Add-AppxPackage: Deployment failed with HRESULT: 0x80073D02, Pakej tidak boleh dipasang kerana sumber yang diubah suai sedang digunakan. Ralat 0x80073D02..." dalam PowerShell apabila anda menjalankan skrip? Seperti yang dinyatakan oleh mesej ralat, ini berlaku apabila pengguna cuba mendaftar semula satu atau semua aplikasi WindowsShellExperienceHost semasa proses sebelumnya sedang berjalan. Kami mempunyai beberapa penyelesaian mudah untuk menyelesaikan masalah ini dengan cepat. Betulkan 1 – Tamatkan proses hos pengalaman yang anda mesti tamatkan sebelum melaksanakan perintah powershell

Bagaimana untuk mendayakan akaun pentadbir pada Windows 11 Bagaimana untuk mendayakan akaun pentadbir pada Windows 11 Apr 15, 2023 pm 07:46 PM

Cara Mendayakan atau Melumpuhkan Akaun Pentadbir pada Windows 11 Menggunakan PowerShell Salah satu cara terpantas untuk mendayakan akaun pentadbir pada Windows 11 ialah menggunakan PowerShell. Anda juga boleh menggunakan Terminal Windows yang lebih baharu atau, jika anda lebih suka, alat Prompt Perintah (cmd) yang lebih lama. Anda perlu memastikan anda menjalankan arahan ini daripada akaun pengguna yang sudah mempunyai hak pentadbir. Jika anda menggunakan akaun pengguna standard, anda perlu bertukar kepada akaun pengguna lain untuk menjalankan alat ini. Untuk mendayakan akaun pentadbir menggunakan PowerShell pada Windows 11: Buka dengan mengklik butang Mula atau menekan kekunci Windows

Cara memasang dan menggunakan Git pada Windows 11 Cara memasang dan menggunakan Git pada Windows 11 May 28, 2023 am 08:08 AM

Klik untuk masuk: Senarai navigasi pemalam alat ChatGPT Git ialah salah satu sistem kawalan versi paling popular, yang membolehkan anda menjejaki semua perubahan yang dibuat pada fail supaya anda boleh kembali ke versi terdahulu dengan mudah jika perlu. Git membolehkan anda mempunyai kedua-dua repositori tempatan dan repositori jauh, menggalakkan orang lain untuk bekerjasama dan memusatkan semua perubahan tersebut ke dalam satu sumber. Prasyarat untuk memasang Git pada Windows 11 Sebelum kita mulakan, terdapat beberapa prasyarat untuk memasang Git pada Windows. Ini dia datang: Hak pentadbir ke akaun Windows anda untuk mengakses alat baris arahan (cth. CMD atau PowerShell) Nama pengguna dan kata laluan Git (pilihan) Editor teks kegemaran anda WSL di Ubuntu

Apakah perbezaan antara powershell dan cmd Apakah perbezaan antara powershell dan cmd Jan 11, 2023 pm 02:23 PM

Perbezaan: 1. Apabila menjalankan Cmd, ia hanya menggunakan kurang daripada 1M memori apabila menggunakan PowerShell, ia mengambil kira-kira 20M memori. 2. Cmd tidak menyokong penyerlahan sintaks, tetapi PowerShell menyokongnya. 3. Apabila menggunakan Cmd untuk menjalankan beberapa arahan yang lebih kompleks dan memakan masa, apabila anda menyeret tetingkap baris arahan sesuka hati, kandungan dalam tetingkap masih boleh kekal sama tetapi PowerShell tidak boleh. 4. Cmd hanya boleh menggunakan arahan dalam perpustakaan .net, dan juga tidak boleh menggunakan perintah Linux;

See all articles