אוטומציה של משימות DNS עם פקודות PowerShell DNS

רשומות DNS ניהול דרך דינמית בדרך כלל על ידי שרת DNS שלך. אך לפעמים תמצא כי עליך ליצור, לערוך או להסיר ידנית שונות סוגי רשומות DNS. או אף להוסיף מגוון משימות DNS לתסריטי אוטומציה. בעתים כאלה, שימוש ב-cmdlets של PowerShell DNS הוא הדרך ללכת.

פוסט זה כולל סרטון מלווה שנוצר על ידי דיויד לאמב, תורם ל-TechSnips. נשמח אם תצפה או, אם אתה מעדיף טקסט, תמשיך לקרוא!

צפייה ברשומות DNS עם cmdlets של PowerShell DNS

אתה יכול לצפות בכל הרשומות המשאב לקבלת אזור DNS נתון פשוט על ידי שימוש ב-cmdlet של PowerShell DNS Get-DnsServerResourceRecord. באמצעות cmdlet זה, תוכל לציין את פרמטר ה-ZoneName שיפרט את כל רשומות ה-DNS באותו אזור.

כפי שאתה יכול לראות למטה, זה יוצר רשומות ארוכות די רבות.

PS51> Get-DnsServerResourceRecord -ZoneName corp.ad
Listing DNS records with PowerShell

ההתנהגות זו מדגישה את אחת מיתרונות cmdlet זה יותר מהקונסול הגרפי של DNS. התצוגה מספקת את כל הרשומות לאותו אזור, ללא קשר לתיקיות בהן הן נמצאות. בקונסול גרפי, ייקח זמן רב לחבר את המידע הזה יחד.

עכשיו נדליק רשימה קצת. באמצעות אותה פקודה, אך הוספת פרמטר RRType לחיפוש רשומות A (מארחי IPv4) וסינון לרשומות שבהן זמן החיים (TTL) גדול מ-15 דקות נותן לנו רשימה ניהולית יותר. ניתן להשתמש בפקודת Where-Object לסינון על מאפייני רשומת DNS שונים.

PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType A | Where-Object TimeToLive -GE "00:15:00"
Finding DNS records with a TimeToLive greater than 15 minutes

המשך צעד אחד נוסף, תוכל גם לחפש רשומות באזור DNS שונה ואפילו בשרתי DNS שונים.

בדוגמה למטה, נחפש רשומות A באזור canada.corp.ad בשרת DNS DC03

PS51> Get-DnsServerResourceRecord -ComputerName DC03 -ZoneName canada.corp.ad -RRType A
Finding DNS A records

הוספת והסרת רשומות מארח

כדי להוסיף רשומת מארח, עליך להשתמש בפקודת ה- PowerShell DNS Add-DnsServerResourceRecordA. בדוגמה למטה, עליך להוסיף רשומת מארח למדפסת חדשה שאתה מוסיף לרשת. היא תתווסף לאזור corp.ad עם השם reddeerprint01, וכתובת ה-IP שלה היא 192.168.2.56.

PS51> Add-DnsServerResourceRecordA -Name reddeerprint01 -ZoneName corp.ad -IPv4Address 192.168.2.56
PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType A
Creating a DNS record

אם יתברר שעליך להסיר רשומה, אולי המדפסת הוסרה משימוש, ניתן להשתמש בקוד הבא כדי להסיר את רשומת המארח שיצרנו כעת:

PS51> Remove-DnsServerResourceRecord -ZoneName corp.ad -Name reddeerprint01 -RRType A

הוספת והסרת רשומות מארח AAAA

גם פשוט להוסיף רשומת מארח IPv6. כמובן, רשומות אלו שונות מעט, מכיוון שהן מופיעות כרשומות AAAA. תוכל לשים לב שאנו משתמשים כעת בפקודת ה־PowerShell DNS Add-DnsServerResourceRecordAAAA. זו שינוי קטן, אך חשוב.

הוסף רשומה לאזור corp.ad עבור שרת ה-IT הפנימי החדש ב־fc00:0128 ואז בדוק מהר שהיא נוצרה באמצעות הפקודה הבאה.

PS51> Add-DnsServerResourceRecordAAAA -Name it-intranet -ZoneName corp.ad -IPv6Address "fc00::0128"
PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType AAAA
Creating an AAA host record

הוספת רשומות חיפוש לאחור (PTR)

באמצעות פקודות ה־PowerShell DNS, תוכל גם להוסיף רשומות PTR. רשומת חיפוש לאחור מאפשרת ללקוח לשאול את שרת ה-DNS ולבקש את שם המארח עבור כתובת ה-IP הספקויה.

יצירת רשומת PTR היא תהליך נוח יחסית, אך יש פרט חשוב שתצטרך לדעת לפני שתתחיל להוסיף רשומות PTR. אזורי חיפוש לאחור אינם נוצרים כברירת מחדל. תצטרך להגדיר את אזור החיפוש לאחור שלך לפני הוספת רשומות. מאושר, זה נוח יחסית לעשות זאת.

יצירת אזור DNS

השתמש בפקודת ה־PowerShell DNS Add-DnsServerPrimaryZone כדי ליצור אזור DNS חדש. במקרה הזה, מאחר שאתה יוצר אזור חיפוש לאחור, ספק לו את זיהוי הרשת.

בדוגמה זו, בחרתי גם להגדיר את טווח השקיפות לכל יעד ה־AD, וסיפקתי יעד מסוים DC03 כשרת DNS מועדף:

PS51> Add-DnsServerPrimaryZone -ComputerName DC03 -NetworkId "192.168.2.0/24" -ReplicationScope Forest
PS51> Get-DnsServerZone -ComputerName DC03
Creating a DNS primary zone

עכשיו שאזור החיפוש לאחורי מוכן, ניתן להוסיף רשומת PTR עבור מדפסת חדשה בשם CYQF-Printer-01.canada.corp.ad שיש לה כתובת IP של 192.168.2.56. מאחר והרשומה הזו היא עבור אזור ה-canada.corp.ad, עליך לכוון את שרת ה-DNS DC03.

עכשיו שהאזור נוצר, בואו ניצור רשומת PTR באמצעות הפקודה Add-DnsServerResourceRecordPtr. בעת שימוש בפקודה זו, חשוב לשים לב לכמה דברים.

  • עליך לציין את שם האזור באמצעות זיהוי הרשת בסדר הפוך, ולאחר מכן להוסיף .in-addr.arpa. לכן עבור רשת ה-192.168.2.0/24, שם האזור הוא 2.168.192.in-addr.arpa.
  • הפרמטר Name הוא החלק המארח של כתובת ה-IP. עבור המדפסת שלנו בכתובת 192.168.2.56, ה-Name הוא 56.

לאחר שיש לך את חלקי המידע האלה, הקוד הדרוש ליצירת רשומת PTR פשוט יחסית, אם כי מעט ארוך:

PS51> Add-DnsServerResourceRecordPtr `
    -Name "56" `
    -PtrDomainName "CYQF-Printer-01.canada.corp.ad" `
    -ZoneName "2.168.192.in-addr.arpa" `
    -computerName DC03

PS51> Get-DnsServerResourceRecord -ComputerName DC03 -ZoneName "2.168.192.in-addr.arpa"
Creating a PTR record

הוספת רשומות אליאס (CNAME)

לסיום המדריך הזה, יש ליצור רשומת אליאס למארח או רשומת CNAME באמצעות הפקודה Add-DnsServerResourceRecordCName.

רשומות אלו מאפשרות לך לציין אליאס עבור רשומת מארח קיימת באזור. זה מתבצע באופן מיוחד אם ברצונך לספק למשתמשי הפיננסים שלך כתובת עבור אפליקציית הפיננסים שלהם המופעלת ברשת.

ניתן ליצור כינוי בשם פיננסי, ולהפנות אותו לשרת האינטרנט webapp25.corp.ad. לאחר העברת היישום לשרת האינטרנט החדש עם שם מארח חדש, יש לשנות את הרשומת CNAME כך שתפנה אל פיננסי שמצביעה למארח החדש. בכך תוכלו לוודא שהמשתמשים לא צריכים לעדכן את סימניותיהם. הם יוכלו להמשיך לגשת לאפליקציה שלהם באמצעות כתובת finance.corp.ad.

PS51> Add-DnsServerResourceRecordCName -ZoneName corp.ad -HostNameAlias "webapp25.corp.ad" -Name "finance"
PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType CName
Creating a CNAME record

אם ברצונכם לעיין בעומק בנושא DNS ולראות יכולות מתקדמות נוספות, עליכם לבדוק את כל הפוסטים האחרים בנושא DNS כאן.

סיכום

זה מסיים את המדריך שלנו על שימוש ב-PowerShell עם רשומות DNS. עם הידע שצברתם כאן, עכשיו תוכלו לנהל או אף לאוטומטז רשומות DNS גדולות אם תקבעו את דעתכם לכך!

Source:
https://adamtheautomator.com/powershell-dns/