موارد DSC
نظرة عامة
توفر موارد DSC واجهة موحدة لإدارة إعدادات النظام. يحدد مورد DSC الخصائص التي يمكنك إدارتها ويحتوي على التعليمات البرمجية PowerShell التي Invoke-DscResource
تستدعي "جعله كذلك".
يمكن لمورد DSC تصميم شيء عام كملف أو محدد مثل إعداد خادم IIS. يتم دمج مجموعات موارد DSC ذات الصلة في وحدات PowerShell النمطية. توفر الوحدات النمطية حزمة محمولة ومصدرة لموارد DSC وتتضمن بيانات التعريف والوثائق عنها.
يحتوي كل مورد DSC على مخطط يحدد بناء الجملة المطلوب لاستخدام مورد DSC مع Invoke-DscResource
أو في تكوين. يتم تعريف مخطط مورد DSC بالطرق التالية:
<Resource Name>.psm1
الملف: تحدد موارد DSC المستندة إلى الفئة مخططها في تعريف الفئة. يتم توضيح عناصر بناء الجملة كخصائص فئة. لمزيد من المعلومات، راجع about_Classes.Schema.Mof
ملف: تحدد موارد DSC المستندة إلى MOF مخططها فيschema.mof
ملف، باستخدام تنسيق الكائن المدار.
لاسترداد بناء الجملة لمورد DSC، استخدم الأمر Cmdlet Get-DSCResource مع معلمة بناء الجملة . يشبه هذا استخدام Get-Command مع معلمة بناء الجملة للحصول على بناء جملة cmdlet. يظهر الإخراج القالب المستخدم لكتلة مورد DSC في تكوين DSC.
Get-DscResource -Syntax Service
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DesktopInteract = [bool]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupTimeout = [UInt32]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Ignore | Running | Stopped }]
[TerminateTimeout = [UInt32]]
}
مثل بناء جملة cmdlet، تكون المفاتيح الموجودة بين أقواس مربعة اختيارية. تحدد الأنواع نوع البيانات الذي يتوقعه كل مفتاح.
للتأكد من Spooler
تشغيل الخدمة:
$SharedDscParameters = @{
Name = 'Service'
ModuleName = 'PSDscResources'
Property = @{
Name = 'Spooler'
State = 'Running'
}
}
$TestResult = Invoke-DscResource -Method Test @SharedDscParameters
if ($TestResult.InDesiredState) {
Write-Host -ForegroundColor Cyan -Object 'Already in desired state.'
} else {
Write-Host -ForegroundColor Magenta -Object 'Enforcing desired state.'
Invoke-DscResource -Method Set @SharedDscParameters
}
$SharedDscParameters
المتغير هو جدول تجزئة يحتوي على المعلمات المستخدمة عند استدعاء أساليبالاختبار وتعيين المورد باستخدام Invoke-DscResource
. الاستدعاء الأول لاستخدام Invoke-DscResource
أسلوب الاختبار للتحقق مما إذا كانت Spooler
الخدمة قيد التشغيل وتخزين النتيجة في $TestResult
المتغير.
تعتمد الخطوة التالية على ما إذا كانت الخدمة بالفعل في الحالة المطلوبة. من أفضل الممارسات التحقق دائما من الحالة المطلوبة قبل فرض واستدعاء أسلوب Set فقط عند الحاجة. في المثال، يكتب البرنامج النصي رسالة إلى وحدة التحكم حول ما إذا كان مورد DSC في الحالة المطلوبة. بعد ذلك، إذا لم تكن الخدمة قيد التشغيل، فإنها تستدعي Invoke-DscResource
الأسلوب Set لفرض الحالة المطلوبة.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ