A megadott választható Windows-funkció és kimeneti naplók engedélyezése a megadott elérési útra
Description
Ez a példa bemutatja, hogyan használhatja az erőforrást a WindowsOptionalFeature
felhasználó által megadott értékekkel egy választható Windows-funkció engedélyezéséhez.
Meg kell adnia az opcionális Windows-szolgáltatás nevét a FeatureName paraméterrel, amely beállítja az erőforrás Name tulajdonságát.
Meg kell adnia egy naplófájl elérési útját a LogPath paraméterrel, amely beállítja az erőforrás LogPath tulajdonságát.
Ha a Ensure tulajdonság értéke Present
és a Name tulajdonság a Felhasználó által megadott értékre van állítva a FeatureName paraméterből, az erőforrás engedélyezi a windowsos opcionális funkciót, ha az le van tiltva.
Ha a LogPath a LogPath paraméterből a felhasználó által megadott értékre van beállítva, az erőforrás a naplókat írja, hogy a szolgáltatás ne a fájlban %WINDIR%\Logs\Dism\dism.log
legyen engedélyezve.
A Invoke-DscResource
Ez a szkript bemutatja, hogyan használhatja az WindowsOptionalFeature
erőforrást a Invoke-DscResource
parancsmaggal a felhasználó által megadott funkció engedélyezésének biztosítására.
[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
}
}
Konfigurációval
Ez a kódrészlet bemutatja, hogyan definiálhat egy Configuration
erőforrásblokkot WindowsOptionalFeature
, hogy a felhasználó által megadott funkció engedélyezve legyen.
Fontos
A gép konfigurációjában van egy korlátozás, amely megakadályozza, hogy a DSC-erőforrás olyan PowerShell-parancsmagokat használjon, amelyek nem szerepelnek a PowerShellben vagy a PowerShell-galéria egy moduljában. Ez a példa szemléltetési célokra szolgál, de mivel a DSC-erőforrás a DISM-modul parancsmagjait használja, amely a Windows-modulok egyike, nem fog működni a gépkonfigurációban.
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
}
}
}