استعد لتعلم كيفية كتابة سكربتات PowerShell لـ DFS بشكل أفضل باستخدام المعرفة التي تكتسبها في هذا البرنامج التعليمي. في هذا المنشور، سوف تتعلم كل شيء عن إدارة روابط DFS في PowerShell!
هذا المنشور للمدونة يحتوي على فيديو مرافق تم إنشاؤه بواسطة Scott Hurst، مساهم في تكنولوجيا تقنية المعلومات. لا تتردد في مشاهدته أو، إذا كنت تفضل النص، فاستمر في القراءة!
أحدث مقاطع الفيديو الخاصة بي
تقلل روابط نظام الملفات الموزع (DFS) من تعقيد العمل مع المشاركات الملفات عبر الشبكة. تتيح روابط DFS للمستخدمين والتطبيقات الوصول إلى مسار افتراضي للاتصال بالمجلدات المشتركة. يمكنك إنشاء روابط DFS باستخدام PowerShell.
سواء كنت تدير Active Directory أو منتج DFS آخر، فإن كتابة سكربتات PowerShell لـ DFS ستساعدك في التعامل مع أي مشاكل تواجهك.
يتيح هذا الـاسم الظاهري للمسؤولين عرض المجلدات المشتركة الموجودة على خوادم مختلفة، أو حتى تغيير موقع مجلد مشترك، بشكل شفاف تمامًا لمستهلكي تلك المجلدات.
لن يحتاج المستخدمون إلى تحديث الإشارات المرجعية، ولن يكون من الضروري تحديث التطبيقات بمسارات جديدة عند تغيير خوادم الملفات.
فوائد DFS
بالنسبة للمستخدمين، يتم تبسيط الوصول إلى مجلدات المشاركات عبر الشبكة إلى تنسيق مثل <اسم النطاق>\اسم المجلد، مما يقلل من التعقيد المرتبط بالمجلدات المخزنة على الخوادم البعيدة.
بالنسبة للتطبيقات، لا يلزم تغيير المسارات المُشَفَرة بشكل صلب إلى الموارد على الشبكة بسبب تغيير المسار الشبكي. يكفي تحديث رابط DFS وسيستمر التطبيق في الوصول إلى الموارد في موقعها الجديد.
المتطلبات الأولية لدور خادم DFS
- Active Directory
- تم تثبيت دور خدمات الملفات والتخزين على خادم Windows
- Windows Server (قناة نصف سنوية)
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 Datacenter/Enterprise
المتطلبات الأولية
- حساب مسؤول يتوفر فيه الصلاحيات اللازمة
- أدوات RSAT مع تثبيت “أدوات خدمات الملفات – أدوات إدارة DFS”
الاستعداد لـ نصوص قوة الشبكة المحلية للإعداد
أولاً، قم بتنزيل وتثبيت RSAT. بعد ذلك، يتعين عليك تثبيت جميع الميزات اللازمة لنظام Windows. سيتم تثبيت واجهة المستخدم الرسومية لإدارة DFS ووحدة “مساحات أسماء DFS” لـ PowerShell لإنشاء روابط DFS باستخدام PowerShell وإدارتها، بالإضافة إلى أدوات السطر الأمر، ولكنها لن تقوم بتثبيت أي خدمات DFS على الخادم.
أوامر DFS المشتركة
يمكنك إدارة مساحات الأسماء باستخدام واجهة المستخدم الرسومية لإدارة DFS، وأدوات سطر الأوامر والأوامر “DFS Namespace (DFSN)” في PowerShell، وأوامر “DfsUtil”، أو النصوص التي تستدعي WMI.
بعض أمثلة الأوامر المشتركة في PowerShell هي:
Get-DfsnRoot
– اكتشاف جميع أسماء فضاءات DFS في النطاق الحالي – يستخدم عادة للتحقق من وجود فضاءات في النطاق الحاليNew-DfsnFolder
– إنشاء اسم مجلد DFS جديد
– يستخدم عادة لإنشاء مجلد DFS جديد في فضاء الأسماءNew-DfsnFolderTarget
– تعيين مسار (مسارات) إلى اسم مجلد DFS
– يستخدم عادة لتعيين مسار أو أكثر لمجلد DFS على الشبكةRemove-DfsnFolderTarget
– إزالة مسار من مجلد DFS ولكن لا يزيل المجلد DFS نفسه.
– يستخدم عادة لإزالة مسار أو أكثر من مجلد DFS على الشبكةRemove-DfsnFolder
– إزالة مجلد وجميع مساراته
– يستخدم عادة لإزالة مجلد DFS من فضاء الأسماء
العثور على فضاءات أسماء DFS
سنبدأ بالحصول على فكرة عن جميع الفضاءات المتصلة بالإنترنت والمتاحة في النطاق الحالي باستخدام أمر Get-DfsnRoot.
تظهر هذه النتيجة أن هناك اثنين من الفضاءات المتصلة بالإنترنت في هذا النطاق.

العثور على مجلدات DFS
باستخدام أمر Get-DfsnFolder
يمكننا إدراج مجلدات DFS في كل فضاء.
من هذه النتائج، يمكننا رؤية أنه في فضاء التطبيقات هناك ليس مجلد DFS باسم PowerShell.

إنشاء مجلدات روابط DFS لنصوص PowerShell DSC
في هذا المثال، لدينا مجلد مكرر يسمى PowerShell على ثلاثة خوادم ملفات لدينا؛ FileServer01، FileServer02 و Datacenter.
الهدف هو مشاركة هذا المجلد المكرر مع المسؤولين باستخدام مسار واحد.
للقيام بذلك، سنقوم بإنشاء مجلد DFS رابط جديد في مساحة الأسماء AppRoot باسم PowerShell باستخدام New-DfsnFolder
ونشير إليه في مشاركة ملفات خادم مركز البيانات. سنقوم بتعيين حالة المجلد DFS إلى Online ونعيّن حالة TargetPath إلى Online.
في واجهة المستخدم لإدارة DFS، يمكننا رؤية أن مجلد DFS PowerShell غير موجود.


دعونا الآن نشغل مستكشف Windows من داخل وحدة التحكم PowerShell ونتأكد من عدم وجوده.
إذا كان المجلد غير موجود، فسيتم كتابة الناتج Path not found. Clear to proceed بخط أخضر في نافذة الطرفية كما يمكنك رؤيته أدناه.
من الناتج نرى أن المجلد تم إنشاؤه، وتم تعيين Referral Priority Class
إلى Global-High
والحالة هي Online
.

ويؤكد واجهة المستخدم الرسومية ما قاله PowerShell لنا.

وأصبح مسارنا الآن متاحًا في مستكشف Windows.

إنشاء أهداف المجلد في DFS
الآن بعد أن قمنا بإنشاء مجلد Powershell DFS في النطاق الأسماء الرئيسية ، أضف مسار وجهة مستهدف إضافي له وقم بتعيين ذلك المسار كـ “متصل” باستخدام الأمر التالي New-DfsnFolderTarget . سكربتات PowerShell لـ DFS تتيح لك إضافة أي عدد من المكونات.
حتى هذه النقطة ، لدينا مسارين من ثلاثة مسارات للخوادم مضافة ومتصلة. بالنسبة لمسار المجلد الأخير ، نريد إضافة المسار ولكن دون توفيره للمستخدمين. لذا دعنا نضيف مسار وجهة مستهدفة لمجلدنا DFS وهذه المرة قم بتعيين حالة مسار DFS القديم إلى “غير متصل” وسنستخدم مرة أخرى الأمر التالي New-DfsnFolderTarget .

يمكنك رؤية أن مسار FileServer01 ومسار Datacenter حاليًا متصلان وتم تعيين حالة مسار FileServer02 إلى “غير متصل”.

ضبط مسارات مجلدات DFS على “غير متصل” أو “متصل”
يمكننا أيضًا تغيير الخوادم التي تعتبر مضيفًا متصلاً وغير متصلاً، وحتى الخادم الذي سيكون مضيف المسار الأساسي للملف باستخدام Set-DfsnFolderTarget
.
كما يمكنك رؤية الأمور أدناه:
- تم تغيير المسار الخاص بـ FileServer01 إلى
غير متصل
- تم تغيير
ReferralPriorityClass
للخادم Datacenter إلىsitecost-normal
بدلاً منglobal-high
- تم تغيير حالة المسار الخاص بـ FileServer02 إلى
متصل
- تم تغيير
ReferralPriorityClass
لـ FileServer02 إلىglobal-high

إزالة مسارات الهدف لمجلد DFS باستخدام PowerShell
I try to vaccinate my code against the fat finger flu as much as possible. Here we will try to install a safety net before removing one of the folders by making sure that it is offline before deleting it.
وداعًا مجلد FileServer01!

بالنسبة لأولئك الذين يفضلون التخلي عن خيار الشبكة الآمنة، يمكننا أن نتكيف معكم، أيها الأرواح الشجاعة.
لقد ودعنا مجلد FileServer02.

إزالة مجلدات DFS
كانت رحلة طويلة ومعقدة، لكن حان الوقت لانتهاء رابطنا DFS باستخدام الأمر Remove-DfsnFolder
لإزالة المجلد والرابط DFS.

A quick double-check of the DFS Management GUI shows our DFS link is no more.

ملخص
هذا كل شيء! لقد قمت بتغطية طريق معقد من DFS و٫PowerShell. آمل أن تكون الآن قد اكتسبت بعض مقتطفات الشفرة لمساعدتك في بناء نصوص PowerShell DFS أفضل!
Source:
https://adamtheautomator.com/dfs-powershell-scripts/