Megosztás a következőn keresztül:


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.loglegyen 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
        }
    }
}