إدارة سجلات DNS ومجموعات السجلات في Azure DNS باستخدام Azure PowerShell

توضح لك هذه المقالة كيفية إدارة سجلات DNS لمنطقة DNS الخاصة بك باستخدام Azure PowerShell. يمكن أيضاً إدارة سجلات DNS باستخدام النظام الأساسي Azure CLI أو مدخل Microsoft Azure.

تفترض الأمثلة الواردة في هذه المقالة أنك قمت بالفعل بتثبيت Azure PowerShell وتسجيل الدخول وإنشاء منطقة DNS.

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

مقدمة

قبل إنشاء سجلات DNS في Azure DNS، تحتاج أولاً إلى فهم كيفية تنظيم Azure DNS لسجلات DNS في مجموعات سجلات DNS.

أسماء السجلات

في AZURE DNS، يتم تحديد السجلات باستخدام الأسماء النسبية. يتضمن اسم مجال المؤهل بالكامل (FQDN) اسم المنطقة، بينما لا يتضمن الاسم النسبي ذلك. على سبيل المثال، اسم السجل النسبي wwwفي المنطقةcontoso.com يعطي www.contoso.comاسم السجل المؤهل بالكامل .

سجل القمة هو سجل DNS في جذر (أو قمة) منطقة DNS. على سبيل المثال، في منطقة contoso.comDNS، لسجل القمة أيضاً اسم contoso.comمؤهل بالكامل (ويسمى أحياناً مجال مكشوف). وحسب الاصطلاح، يتم استخدام الاسم النسبي '@' لتمثيل سجلات القمة.

أنواع السجلات

كل سجل DNS له اسم ونوع. يتم تنظيم السجلات إلى أنواع مختلفة وفقا للبيانات التي تحتوي عليها. النوع الأكثر شيوعاً هو سجل 'A'، الذي يعين اسماً إلى عنوان IPv4. هناك نوع شائع آخر هو سجل "MX"، الذي يعين اسماً إلى خادم بريد.

يدعم Azure DNS جميع أنواع سجلات DNS الشائعة: A وAAA وCAA وCNAME وMX وNS وPTR وSA وSRV وTXT. لاحظ أن سجلات SPF يتم تمثيلها باستخدام سجلات TXT.

مجموعات السجلات

في بعض الأحيان، تحتاج إلى إنشاء أكثر من سجل DNS واحد مع اسم ونوع محددين. على سبيل المثال، افترض وجود موقع ويب "www.contoso.com" مستضاف على عنواني IP مختلفين. يتطلب الموقع سجلين مختلفين، أحدهما لكل عنوان IP. وفيما يلي مثال على مجموعة السجلات:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

يدير Azure DNS جميع سجلات DNS باستخدام مجموعات السجلات. مجموعة السجلات (المعروفة أيضا باسم مجموعة سجلات الموارد) هي مجموعة سجلات DNS في منطقة لها نفس الاسم ومن نفس النوع. تحتوي معظم مجموعات السجلات على سجل واحد. ومع ذلك، أمثلة مثل المذكورة أعلاه، حيث تحتوي مجموعة السجلات على أكثر من سجل واحد، تكون غير شائعة.

على سبيل المثال، افترض أنك قمت بالفعل بإنشاء سجل "www" في المنطقة "contoso.com"، مشيراً إلى عنوان IP '134.170.185.46' (السجل الأول أعلاه). لإنشاء السجل الثاني، يمكنك إضافة هذا السجل إلى مجموعة السجلات الموجودة، بدلاً من إنشاء مجموعة سجلات إضافية.

أنواع سجلات SOA وCNAME تكون استثنائية. لا تسمح معايير DNS بسجلات متعددة تحمل الاسم نفسه من هذه الأنواع، لذلك يمكن أن تحتوي مجموعات السجلات هذه على سجل واحد فقط.

لمزيد من المعلومات حول سجلات DNS في Azure DNS، راجع سجلات ومناطق DNS.

قم بإنشاء سجل DNS جديد

لإنشاء مجموعة سجلات جديدة، يجب أن يكون لها اسم ونوع مختلفان عن أي سجلات موجودة. إذا كان للسجل الجديد نفس الاسم والنوع كسجل موجود، فستحتاج إلى إضافته إلى مجموعة السجلات الحالية.

قم بإنشاء سجلات "A" في مجموعة قياسية جديدة

إنشاء مجموعات السجلات باستخدام New-AzDnsRecordSet cmdlet. عند إنشاء مجموعة سجلات، تحتاج إلى تحديد اسم مجموعة السجلات والمنطقة ووقت البقاء (TTL) ونوع السجل والسجلات التي سيتم إنشاؤها.

تختلف معلمات إضافة السجلات إلى مجموعة السجلات وفقاً لنوع مجموعة السجلات. على سبيل المثال، عند استخدام مجموعة سجلات من النوع 'A'، تحتاج إلى تحديد عنوان IP باستخدام المعلمة -IPv4Address. سيكون لأنواع السجلات المختلفة معلمات إضافية.

ينشئ المثال التالي مجموعة سجلات بالاسم النسبي www في منطقة DNS contoso.com. الاسم المؤهل لمجموعة السجلات هو www.contoso.com. نوع السجل هو "A" وTTL هو 3600 ثانية. تحتوي مجموعة السجلات على سجل واحد بعنوان IP '1.2.3.4'.

New-AzDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "1.2.3.4") 

لإنشاء مجموعة سجل عند "قمة" منطقة (في هذه الحالة، "contoso.com")، استخدم اسم مجموعة السجلات "@" (باستثناء علامات الاقتباس):

New-AzDnsRecordSet -Name "@" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "1.2.3.4") 

إذا كنت بحاجة إلى إنشاء مجموعة سجلات تحتوي على أكثر من سجل واحد، فقم أولاً بإنشاء مصفوفة محلية وأضف السجلات، ثم مرر المصفوفة إلى New-AzDnsRecordSet على النحو التالي:

$aRecords = @()
$aRecords += New-AzDnsRecordConfig -IPv4Address "1.2.3.4"
$aRecords += New-AzDnsRecordConfig -IPv4Address "2.3.4.5"
New-AzDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName MyResourceGroup -Ttl 3600 -RecordType A -DnsRecords $aRecords

يمكن استخدامبيانات التعريف لمجموعة السجلات لربط البيانات الخاصة بالتطبيق بكل مجموعة سجلات، كأزواج مفتاح - قيمة. يوضح المثال التالي كيفية إنشاء مجموعة سجلات مع إدخالين لبيانات التعريف، "القسم = التمويل" و"البيئة = الإنتاج".

New-AzDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "1.2.3.4") -Metadata @{ dept="finance"; environment="production" } 

يدعم Azure DNS أيضاً مجموعات السجلات "الفارغة"، والتي يمكن أن تعمل كعنصر نائب لحجز اسم DNS قبل إنشاء سجلات DNS. تظهر مجموعات السجلات الفارغة في مستوى تحكم Azure DNS، لكنها تظهر على خوادم أسماء Azure DNS. ينشئ المثال التالي مجموعة سجلات فارغة:

New-AzDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords @()

إنشاء سجلات لأنواع أخرى

بعد الاطلاع بالتفصيل على كيفية إنشاء سجلات 'A'، توضح الأمثلة التالية كيفية إنشاء سجلات لأنواع السجلات الأخرى التي يدعمها Azure DNS.

في كل حالة، نعرض كيفية إنشاء مجموعة سجلات تحتوي على سجل واحد. يمكن تكييف الأمثلة السابقة لسجلات 'A' لإنشاء مجموعات سجلات من أنواع أخرى تحتوي على سجلات متعددة، مع بيانات التعريف، أو لإنشاء مجموعات سجلات فارغة.

لا يوجد مثال لإنشاء مجموعة سجلات SOA، حيث يتم إنشاء وإزالة SOAs مع كل منطقة DNS. لا يمكن إنشاء سجل SOA أو إزالته بشكل منفصل. ومع ذلك، يمكن تعديلSOA، كما هو موضح في مثال لاحق.

قم بإنشاء مجموعة سجل AAAA بسجل واحد

New-AzDnsRecordSet -Name "test-aaaa" -RecordType AAAA -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Ipv6Address "2607:f8b0:4009:1803::1005") 

إنشاء سجل CAA مع سجل واحد

New-AzDnsRecordSet -Name "test-caa" -RecordType CAA -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Caaflags 0 -CaaTag "issue" -CaaValue "ca1.contoso.com") 

إنشاء سجل CNAME مع سجل واحد

إشعار

لا تسمح معايير DNS بسجلات CNAME في قمة المنطقة (-Name '@')، كما أنها لا تسمح بمجموعات السجلات التي تحتوي على أكثر من سجل واحد.

لمزيد من المعلومات، راجع سجلات CNAME.

New-AzDnsRecordSet -Name "test-cname" -RecordType CNAME -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Cname "www.contoso.com") 

قم بإنشاء مجموعة سجل MX بسجل واحد

في هذا المثال، نستخدم اسم مجموعة السجلات "@" لإنشاء سجل MX في قمة المنطقة (في هذه الحالة، "contoso.com").

New-AzDnsRecordSet -Name "@" -RecordType MX -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Exchange "mail.contoso.com" -Preference 5) 

قم بإنشاء مجموعة سجل NS بسجل واحد

New-AzDnsRecordSet -Name "test-ns" -RecordType NS -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Nsdname "ns1.contoso.com") 

إنشاء سجل PTR مع سجل واحد

في هذه الحالة، يمثل "my-arpa-zone.com" منطقة البحث العكسي لـ ARPA التي تمثل نطاق IP الخاص بك. يتوافق كل سجل PTR تم تعيينه في هذه المنطقة مع عنوان IP ضمن نطاق IP هذا. اسم السجل "10" هو آخر ثماني بتات من عنوان IP ضمن نطاق IP الذي يمثله هذا السجل.

New-AzDnsRecordSet -Name 10 -RecordType PTR -ZoneName "my-arpa-zone.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Ptrdname "myservice.contoso.com") 

قم بإنشاء مجموعة سجل SRV بسجل واحد

عند إنشاء مجموعة سجلات SRV، حدد _service و_protocol في اسم مجموعة السجلات. ليست هناك حاجة لتضمين "@" في اسم مجموعة السجلات عند إنشاء مجموعة سجل SRV في قمة المنطقة.

New-AzDnsRecordSet -Name "_sip._tls" -RecordType SRV -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Priority 0 -Weight 5 -Port 8080 -Target "sip.contoso.com") 

إنشاء سجل TXT مع سجل واحد

يوضح المثال التالي كيفية إنشاء سجل TXT. لمزيد من المعلومات عن الحد الأقصى لطول السلسلة المدعوم في سجلات TXT، راجع سجلات TXT.

New-AzDnsRecordSet -Name "test-txt" -RecordType TXT -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Value "This is a TXT record") 

الحصول على مجموعة قياسية

لاسترداد مجموعة سجلات موجودة، استخدم Get-AzDnsRecordSet. يقوم أمر cmdlet هذا بإرجاع كائن محلي يمثل مجموعة السجلات في Azure DNS.

كما هو الحال مع New-AzDnsRecordSet، يجب أن يكون اسم مجموعة السجلات المعطى اسماً نسبياً، ما يعني أنه يجب استبعاد اسم المنطقة. تحتاج أيضاً إلى تحديد نوع السجل والمنطقة التي تحتوي على مجموعة السجلات.

يوضح المثال التالي كيفية استرداد مجموعة السجلات. في هذا المثال، يتم تحديد المنطقة باستخدام معلمات -ZoneName و-ResourceGroupName.

$rs = Get-AzDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

بدلاً من ذلك، يمكنك أيضاً تحديد المنطقة باستخدام كائن منطقة، يتم تمريره باستخدام المعلمة -Zone.

$zone = Get-AzDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
$rs = Get-AzDnsRecordSet -Name "www" -RecordType A -Zone $zone

قائمة مجموعات السجلات

يمكنك أيضاً استخدام Get-AzDnsZone لسرد مجموعات السجلات في منطقة، عن طريق حذف إحدى أو كلتا المعلمتين -Name أو -RecordType.

يُرجع المثال التالي جميع مجموعات السجلات في المنطقة:

$recordsets = Get-AzDnsRecordSet -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

يوضح المثال التالي كيف يمكنك استرداد جميع مجموعات السجلات لنوع معين عن طريق تحديد نوع السجل عند إزالة اسم مجموعة السجلات:

$recordsets = Get-AzDnsRecordSet -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

لاسترداد جميع مجموعات السجلات باسم معين، عبر أنواع السجلات، تحتاج إلى استرداد جميع مجموعات السجلات ثم تصفية النتائج:

$recordsets = Get-AzDnsRecordSet -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" | where {$_.Name.Equals("www")}

في جميع الأمثلة المذكورة أعلاه، يمكن تحديد المنطقة إما باستخدام معلمات -ZoneName و-ResourceGroupName(كما هو موضح)، أو عن طريق تحديد كائن منطقة:

$zone = Get-AzDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
$recordsets = Get-AzDnsRecordSet -Zone $zone

إضافة سجل إلى مجموعة السجلات الموجودة

لإضافة سجل إلى مجموعة سجلات موجودة، اتبع الخطوات الثلاث التالية:

  1. الحصول على مجموعة السجلات الحالية

    $rs = Get-AzDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A
    
  2. أضف السجل الجديد إلى مجموعة السجلات المحلية.

    Add-AzDnsRecordConfig -RecordSet $rs -Ipv4Address "5.6.7.8"
    
  3. قم بتحديث التغييرات بحيث تعكس خدمة Azure DNS.

    Set-AzDnsRecordSet -RecordSet $rs
    

يؤدي استخدام Set-AzDnsRecordSet إلى استبدال مجموعة السجلات الحالية في Azure DNS (وجميع السجلات التي تحتوي عليها) بمجموعة السجلات المحددة. يتم استخدام عمليات فحص Etag لضمان عدم الكتابة فوق التغييرات المتزامنة. يمكنك استخدام مفتاح -Overwrite الاختياري لإلغاء عمليات التحقق هذه.

يمكن أيضاً أن يكون تسلسل العمليات هذا بالتدفق، ما يعني أنك تمرر كائن مجموعة السجلات باستخدام الأنبوب بدلاً من تمريره كمعامل:

Get-AzDnsRecordSet -Name "www" –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A | Add-AzDnsRecordConfig -Ipv4Address "5.6.7.8" | Set-AzDnsRecordSet

توضح الأمثلة أعلاه كيفية إضافة سجل 'A' إلى مجموعة سجلات موجودة من النوع 'A'. يتم استخدام تسلسل مماثل من العمليات لإضافة سجلات لمجموعات السجلات من الأنواع الأخرى، واستبدال المعلمة -Ipv4Address الخاصة بـ Add-AzDnsRecordConfig بمعلمات أخرى خاصة بكل نوع سجل. المعلمات لكل نوع سجل هي نفسها New-AzDnsRecordConfig cmdlet، كما هو موضح في أمثلة نوع السجل الأخرى أعلاه.

لا يمكن أن تحتوي مجموعات السجلات من النوع "CNAME" أو "SOA" على أكثر من سجل واحد. ينشأ هذا القيد من معايير DNS. إنها ليست قيوداً على Azure DNS.

إزالة سجل من مجموعة السجلات الموجودة

تشبه عملية إزالة سجل من مجموعة السجلات عملية إضافة سجل إلى مجموعة سجلات موجودة:

  1. الحصول على مجموعة السجلات الحالية

    $rs = Get-AzDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A
    
  2. إزالة السجل من كائن مجموعة السجلات المحلية. يجب أن يكون السجل الذي تتم إزالته مطابقاً تماماً لسجل موجود عبر جميع المعلمات.

    Remove-AzDnsRecordConfig -RecordSet $rs -Ipv4Address "5.6.7.8"
    
  3. التزم بالتغيير مرة أخرى في خدمة Azure DNS. استخدم مفتاح -Overwrite الاختياري لإلغاء عمليات فحص Etag للتغييرات المتزامنة.

    Set-AzDnsRecordSet -RecordSet $Rs
    

لا يؤدي استخدام التسلسل أعلاه لإزالة السجل الأخير من مجموعة السجلات إلى حذف مجموعة السجلات، بل يترك مجموعة سجلات فارغة. لإزالة مجموعة السجلات بالكامل، راجع شطب مجموعة السجلات.

على غرار إضافة السجلات إلى مجموعة السجلات، يمكن أيضاً توصيل تسلسل العمليات لإزالة مجموعة السجلات:

Get-AzDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A | Remove-AzDnsRecordConfig -Ipv4Address "5.6.7.8" | Set-AzDnsRecordSet

يتم دعم أنواع السجلات المختلفة عن طريق تمرير المعلمات المناسبة الخاصة بالنوع إلى Remove-AzDnsRecordSet. المعلمات لكل نوع سجل هي نفسها الخاصة بالأمر New-AzDnsRecordConfig، كما هو موضح في أمثلة نوع السجل الأخرى أعلاه.

تعديل مجموعة السجلات الموجودة

تشبه خطوات تعديل مجموعة سجلات موجودة الخطوات التي تتخذها عند إضافة أو إزالة سجلات من مجموعة سجلات:

  1. استرجع مجموعة السجلات الحالية باستخدام Get-AzDnsRecordSet.
  2. تعديل كائن مجموعة السجلات المحلية عن طريق:
    • إضافة أو حذف السجلات
    • تغيير معلمات السجلات الموجودة
    • تغيير بيانات التعريف لمجموعة السجلات ووقت البقاء (TTL)
  3. قم بتنفيذ تغييراتك باستخدام الأمر Set-AzDnsRecordSet. هذا يستبدل مجموعة السجلات الحالية في Azure DNS بمجموعة السجلات المحددة.

عند استخدام Set-AzDnsRecordSet الأمر، يتم استخدام عمليات التحقق من Etag لضمان عدم الكتابة فوق التغييرات المتزامنة. يمكنك استخدام مفتاح -Overwrite الاختياري لإلغاء عمليات التحقق هذه.

لتحديث سجل في مجموعة سجلات موجودة

في هذا المثال، نقوم بتغيير عنوان IP لسجل "A" موجود:

$rs = Get-AzDnsRecordSet -name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
$rs.Records[0].Ipv4Address = "9.8.7.6"
Set-AzDnsRecordSet -RecordSet $rs

لتعديل سجل SOA

لا يمكنك إضافة أو إزالة السجلات من سجل SOA الذي تم إنشاؤه تلقائياً في قمة المنطقة (-Name "@"، بما في ذلك علامات الاقتباس). ومع ذلك، يمكنك تعديل أي من المعلمات داخل سجل SOA (باستثناء "المضيف") ومجموعة السجلات TTL.

يوضح المثال التالي كيفية تغيير خاصية البريد الإلكتروني لسجل SOA:

$rs = Get-AzDnsRecordSet -Name "@" -RecordType SOA -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
$rs.Records[0].Email = "admin.contoso.com"
Set-AzDnsRecordSet -RecordSet $rs

لتعديل سجلات NS في قمة المنطقة

يتم إنشاء سجل NS الذي تم تعيينه في قمة المنطقة تلقائياً مع كل منطقة DNS. يحتوي على أسماء خوادم أسماء Azure DNS المعينة للمنطقة.

يمكنك إضافة المزيد من خوادم الأسماء إلى مجموعة سجلات NS هذه، لدعم مجالات الاستضافة المشتركة مع أكثر من موفر DNS واحد. يمكنك أيضاً تعديل TTL وبيانات التعريف لمجموعة السجلات تلك. ومع ذلك، لا يمكنك إزالة أو تعديل خوادم أسماء Azure DNS المعبأة مسبقاً.

ينطبق هذا القيد فقط على سجل NS الذي تم تعيينه في قمة المنطقة. يمكن تعديل مجموعات سجلات NS الأخرى في منطقتك (على النحو المستخدم لتفويض المناطق الفرعية) دون قيود.

يوضح المثال التالي كيفية إضافة خادم اسم آخر إلى سجل NS الذي تم تعيينه في قمة المنطقة:

$rs = Get-AzDnsRecordSet -Name "@" -RecordType NS -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
Add-AzDnsRecordConfig -RecordSet $rs -Nsdname ns1.myotherdnsprovider.com
Set-AzDnsRecordSet -RecordSet $rs

لتعديل بيانات التعريف لمجموعة السجل

يمكن استخدامبيانات التعريف لمجموعة السجلات لربط البيانات الخاصة بالتطبيق بكل مجموعة سجلات، كأزواج مفتاح - قيمة.

يوضح المثال التالي كيفية تعديل بيانات التعريف لمجموعة السجلات الحالية:

# Get the record set
$rs = Get-AzDnsRecordSet -Name www -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

# Add 'dept=finance' name-value pair
$rs.Metadata.Add('dept', 'finance') 

# Remove metadata item named 'environment'
$rs.Metadata.Remove('environment')  

# Commit changes
Set-AzDnsRecordSet -RecordSet $rs

شطب مجموعة السجلات

يمكن شطب مجموعات السجلات باستخدام الأمر Remove-AzDnsRecordSet. يؤدي حذف مجموعة السجلات أيضاً إلى شطب جميع السجلات الموجودة ضمن مجموعة السجلات.

إشعار

لا يمكنك شطب مجموعات سجلات SOA وNS في قمة المنطقة (-Name '@'). أنشأ Azure DNS تلقائياً عند إنشاء المنطقة، وشطبها تلقائياً عند شطب المنطقة.

يوضح المثال التالي كيفية شطب مجموعة السجلات. في هذا المثال، تم تحديد كل من اسم مجموعة السجلات ونوع مجموعة السجلات واسم المنطقة ومجموعة الموارد بشكل صريح.

Remove-AzDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

بدلاً من ذلك، يمكن تحديد مجموعة السجلات بالاسم والنوع والمنطقة المحددة باستخدام كائن:

$zone = Get-AzDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
Remove-AzDnsRecordSet -Name "www" -RecordType A -Zone $zone

كخيار ثالث، يمكن تحديد مجموعة السجلات نفسها باستخدام كائن مجموعة السجلات:

$rs = Get-AzDnsRecordSet -Name www -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
Remove-AzDnsRecordSet -RecordSet $rs

عند تحديد مجموعة السجلات المطلوب شطبها باستخدام كائن مجموعة السجلات، يتم استخدام عمليات فحص من Etag لضمان عدم شطب التغييرات المتزامنة. يمكنك استخدام مفتاح -Overwrite الاختياري لإلغاء عمليات التحقق هذه.

يمكن أيضاً توجيه كائن مجموعة السجلات بدلاً من تمريره كمعامل:

Get-AzDnsRecordSet -Name www -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" | Remove-AzDnsRecordSet

مطالبات التأكيد

تدعم أوامر New-AzDnsRecordSet، وSet-AzDnsRecordSet، وRemove-AzDnsRecordSet مطالبات التأكيد جميعها.

يطالبك كل أمر cmdlet بالتأكيد إذا كان $ConfirmPreference متغير تفضيل PowerShell له قيمة Medium أو أقل. نظراً لأن القيمة الافتراضية لـ $ConfirmPreference هي High، لا يتم تقديم هذه المطالبات عند استخدام إعدادات PowerShell الافتراضية.

يمكنك تجاوز إعداد $ConfirmPreference الحالي باستخدام المعلمة -Confirm. إذا حددت -Confirm أو -Confirm:$True، فسيطالبك الأمر cmdlet بالتأكيد قبل تشغيله. إذا حددت -Confirm:$False، فلن يطالبك الأمر cmdlet بالتأكيد.

لمزيد من المعلومات عن -Confirm و$ConfirmPreference، راجع حول متغيرات التفضيل.

الخطوات التالية

تعرف على المزيد عن المناطق والسجلات في Azure DNS.
تعرف على كيفية حماية مناطقك وسجلاتك عند استخدام Azure DNS.
راجع الوثائق المرجعية لـ Azure DNS PowerShell.