تمكين ميزة Windows الاختيارية المحددة وسجلات الإخراج إلى المسار المحدد
الوصف
يوضح هذا المثال كيف يمكنك استخدام WindowsOptionalFeature
المورد مع القيم التي يوفرها المستخدم لضمان تمكين ميزة اختيارية ل Windows.
يجب تحديد اسم ميزة Windows الاختيارية لتمكينها باستخدام المعلمة FeatureName ، التي تعين خاصية Name للمورد.
يجب تحديد المسار إلى ملف سجل باستخدام المعلمة LogPath ، التي تعين خاصية LogPath للمورد.
مع تعيين التأكد إلى Present
وتعيين الخاصية Name إلى القيمة التي يوفرها المستخدم من المعلمة FeatureName ، يمكن المورد ميزة Windows الاختيارية المحددة إذا تم تعطيلها.
مع تعيين LogPath إلى القيمة التي يوفرها المستخدم من المعلمة LogPath ، يكتب المورد السجلات لتمكين الميزة إلى هذا الملف بدلا من %WINDIR%\Logs\Dism\dism.log
.
مع Invoke-DscResource
يوضح هذا البرنامج النصي كيف يمكنك استخدام WindowsOptionalFeature
المورد مع Invoke-DscResource
cmdlet لضمان تمكين ميزة محددة من قبل المستخدم.
[CmdletBinding()]
param(
[Parameter (Mandatory = $true)]
[String]
$FeatureName,
[Parameter(Mandatory = $true)]
[String]
$LogPath
)
begin {
$SharedParameters = @{
Name = 'WindowsOptionalFeature'
ModuleName = 'PSDscResource'
Properties = @{
Name = $FeatureName
Ensure = 'Present'
LogPath = $LogPath
}
}
$NonGetProperties = @(
'Ensure'
'LogPath'
)
}
process {
$TestResult = Invoke-DscResource -Method Test @SharedParameters
if ($TestResult.InDesiredState) {
$QueryParameters = $SharedParameters.Clone()
foreach ($Property in $NonGetProperties) {
$QueryParameters.Properties.Remove($Property)
}
Invoke-DscResource -Method Get @QueryParameters
} else {
Invoke-DscResource -Method Set @SharedParameters
}
}
مع تكوين
توضح هذه القصاصة البرمجية كيف يمكنك تعريف Configuration
مع كتلة WindowsOptionalFeature
موارد لضمان تمكين ميزة محددة من قبل المستخدم.
هام
هناك قيود في تكوين الجهاز تمنع مورد DSC من استخدام أي أوامر PowerShell cmdlets غير مضمنة في PowerShell نفسها أو في وحدة نمطية في معرض PowerShell. يتم توفير هذا المثال لأغراض توضيحية، ولكن نظرا لأن مورد DSC يستخدم cmdlets من الوحدة النمطية DISM، والتي يتم شحنها كأحد وحدات Windows النمطية، فلن يعمل في تكوين الجهاز.
Configuration Enable {
param(
[Parameter (Mandatory = $true)]
[String]
$FeatureName,
[Parameter(Mandatory = $true)]
[String]
$LogPath
)
Import-DscResource -ModuleName 'PSDscResources'
Node Localhost {
WindowsOptionalFeature TelnetClient {
Name = $FeatureName
Ensure = 'Present'
LogPath = $LogPath
}
}
}
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ