0برنامج نصي دفعي لإعادة تسمية جهاز الكمبيوتر استنادًا إلى اسم DHCP المحجوز

أستخدم WDS على خادم مستقل لإعداد ملف جديد أجهزة الكمبيوتر ولإعادة الصورة أجهزة الكمبيوتر عندما ينتهي بهم الأمر مشوهين بشكل لا يمكن إصلاحه. مع عدد لا بأس به من أجهزة الكمبيوتر في منزلي ، من المفيد إعادة رسمها من حين لآخر عند تبديل الأجهزة أو ترقيتها. تتم الآن معظم هذه العملية تلقائيًا بواسطة ملف unattend.xml ، ولكن يبدو أن عملية إعادة التسمية لا تدعمها إحدى الخطوات أجهزة الكمبيوتر العودة إلى اسمهم الأصلي.

كل ما عندي أجهزة الكمبيوتر لديك حجوزات DHCP ثابتة باسم مضيفها الصحيح (والتي تم تسجيلها أيضًا في DNS) لذلك اعتقدت أنه لا بد من وجود طريقة لسحب هذه المعلومات واستخدامها لإعادة تسميتها. بعد الكثير من العبث حول ، قمت بإنتاج نص برمجي للدفعات من شأنه أن يفعل ذلك (عند تشغيله كمسؤول).

قم بلصق التعليمات البرمجية التالية في ملف .cmd وتشغيلها كجزء من العملية غير المراقبة (أصف لي أدناه)

@echo off
set ip_address_string="عنوان IPv4"
من أجل / واو "usebackq" %%أنا في ("اسم المضيف") DO SET MYVAR=%%i
for /f "usebackq tokens = 2 delims =:" %%و في ("ipconfig ^| findstr / ج:%ip_address_string٪ `) فعل (
    من أجل / و "usebackq tokens = 2 delims =:" %%جين (nslookup ٪٪ f ^| findstr / ج:الاسم`) فعل (
        لـ / F. "الرموز = 1 delims =." %%أ في ("%%ز") فعل (
            لـ / F. "الرموز = 1 delims = " %%سلة مهملات ("%%ا") فعل (
                WMIC ComputerSystem حيث الاسم ="%مايفار ٪" استدعاء إعادة تسمية الاسم ="%%ب"
                غوتو :eof
            )
        )
    )
)

أدعو البرنامج النصي الخاص بي من <FirstLogonCommands> قسم من ImageUnattend.xml.

<متزامن wcm:عمل ="إضافة">
  <ترتيب>5</ترتيب>
  <وصف>إعادة تسمية النظام</وصف>
  <سطر الأوامر>ج:\إضافات  رفع-ج ج:\إضافات  إعادة تسمية الكمبيوتر من dns.cmd</سطر الأوامر>
</متزامن>

لتشغيله كمسؤول أستخدم القليل من المرافق (يسمى elevate.exe) هذا يفعل هذا (يمكن للأوامر التي يتم تشغيلها أثناء الإعداد أن ترتفع دون ظهور مطالبة!). يمكنك الحصول عليه منه المصدر الأصلي

الجزء الأخير من اللغز للإعداد الخاص بي هو أنني أقوم بتعديل صورة تثبيت Windows لتشمل ملف exe ونصًا صغيرًا من برنامج poweershell النصي - يسمحان بنسخ جميع المثبتات الأخرى من الشبكة. ملف exe هو "تياراتوهو نظام (الآن جزء من Microsoft) أداة لإزالة "هذا الملف جاء من الإنترنت هل أنت متأكد أنك تريد تشغيله" تحذير.

لدي أيضًا البرنامج النصي التالي كملف .ps1

نسخ العنصر -Path \ wds-server  RemInst  Custom  *. * -Destination C:\إضافات

الخاص بي أولا 4 تكون أوامر LogonCommands كما يلي ...

<متزامن wcm:عمل ="إضافة">
  <ترتيب>1</ترتيب>
  <وصف>لا يوجد استعداد أثناء الإعداد</وصف>
  <سطر الأوامر>powercfg -تغيير الاستعداد-مهلة التيار المتردد 0</سطر الأوامر>
</متزامن>
<متزامن wcm:عمل ="إضافة">
  <ترتيب>2</ترتيب>
  <وصف>أضف بيانات اعتماد للوصول إلى الخادم عبر الشبكة</وصف>
  <سطر الأوامر>cmdkey / إضافة:خادم wds / مستخدم:خادم wds  مسؤول / تمرير:كلمة المرور 123</سطر الأوامر>
</متزامن>
<متزامن wcm:عمل ="إضافة">
  <ترتيب>3</ترتيب>
  <وصف>انسخ البرامج النصية والتطبيقات من الشبكة إلى مجلد الإضافات</وصف>
  <سطر الأوامر>C:\Windows  System32  WindowsPowerShell  v1.0 owershell.exe -Windowstyle المخفية -ExecutionPolicy ByPass -ملف C:\الإضافات  copyapps.ps1</سطر الأوامر>
</متزامن>
<متزامن wcm:عمل ="إضافة">
  <ترتيب>4</ترتيب>
  <وصف>قم بإزالة تحذير الإنترنت من التطبيقات المنسوخة</وصف>
  <سطر الأوامر>C:\إضافات  Streams64.exe -d -d -nobanner ج:\الإضافات  *. * / Accepteula</سطر الأوامر>
</متزامن>

اترك رد