Habilitar la característica opcional y los registros de salida de Windows especificados en la ruta de acceso especificada
Descripción
En este ejemplo se muestra cómo puede usar el recurso con valores proporcionados por el WindowsOptionalFeature
usuario para asegurarse de que está habilitada una característica opcional de Windows.
Debe especificar el nombre de la característica opcional de Windows para habilitar con el parámetro FeatureName , que establece la propiedad Name del recurso.
Debe especificar la ruta de acceso a un archivo de registro con el parámetro LogPath , que establece la propiedad LogPath del recurso.
Con Ensure establecido en Present
y la propiedad Name establecida en el valor proporcionado por el usuario del parámetro FeatureName , el recurso habilita la característica opcional de Windows especificada si está deshabilitada.
Con LogPath establecido en el valor proporcionado por el usuario del parámetro LogPath , el recurso escribe los registros para habilitar la característica en ese archivo en lugar de %WINDIR%\Logs\Dism\dism.log
.
Con Invoke-DscResource
Este script muestra cómo puede usar el WindowsOptionalFeature
recurso con el cmdlet para asegurarse de que está habilitada una característica especificada por el Invoke-DscResource
usuario.
[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
}
}
Con una configuración
Este fragmento de código muestra cómo se puede definir un Configuration
elemento con un WindowsOptionalFeature
bloque de recursos para asegurarse de que está habilitada una característica especificada por el usuario.
Importante
Hay una limitación en la configuración de la máquina que impide que un recurso de DSC use los cmdlets de PowerShell que no se incluyan en PowerShell o en un módulo de la Galería de PowerShell. Este ejemplo se proporciona con fines demostrativos, pero dado que el recurso de DSC usa cmdlets del módulo DISM, que se distribuye como uno de los módulos de Windows, no funcionará en la configuración de la máquina.
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
}
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de