Instalación de recursos de DSC adicionalesInstall Additional DSC Resources

PowerShell incluye varios recursos listos para usar para Desired State Configuration (DSC).PowerShell includes several Out-of-the-box resources for Desired State Configuration (DSC). El módulo PSDesiredStateConfiguration contiene todos los estos recursos disponibles en su instancia específica de PowerShell.The PSDesiredStateConfiguration module contains all of the OOB DSC resources available on your specific instance of PowerShell.

Se trata de una lista de los recursos listos para usar incluidos en PowerShell 4.0 y una descripción de las capacidades del recurso.This is a list of the OOB resources included in PowerShell 4.0 and a description of the resource's capabilities.

Nota

No es una lista completa, ya que la cantidad de estos recursos ha aumentado con cada versión de PowerShell.This is an incomplete list, as the number of OOB resources has grown with each version of PowerShell.

ResourceResource DescripciónDescription
ArchivoFile Controla el estado de los archivos y directorios.Controls the state of files and directories. Copia los archivos de un origen a un destino y los actualiza cuando el origen cambia mediante la comparación de fechas, sumas de comprobación y algoritmos hash.Copies files from a Source to a Destination and updates them when the Source changes by comparing dates, checksums, and hashes.
ArchivarArchive Desempaqueta los archivos y una ubicación especificada.Unpacks archives and a specified location. Valida los archivos con una determinada suma de comprobación.Validates the archives with a specified Checksum.
EntornoEnvironment Administra variables de entorno.Manages environment variables.
GrupoGroup Administra grupos locales y controla la pertenencia al grupo.Manages local groups and controls group membership.
LogLog Escribe mensajes en el registro de eventos Microsoft-Windows-Desired State Configuration/Analytic.Writes messages to the Microsoft-Windows-Desired State Configuration/Analytic event log.
PackagePackage Instala o desinstala los paquetes mediante Arguments , LogPath , ReturnCode u otras configuraciones.Installs or uninstalls packages using Arguments , LogPath , ReturnCode , other settings.
RegistroRegistry Administra los valores y claves del Registro.Manages registry keys and values.
ScriptScript Le permite diseñar sus propios bloques de script get-test-set.Allows you to design your own get-test-set script blocks.
ServicioService Configura los servicios de Windows.Configures Windows services.
UserUser Administra los usuarios y atributos locales.Manages local users and attributes.
WindowsFeatureWindowsFeature Administra roles y características.Manages roles and features.
WindowsProcessWindowsProcess Configura procesos de Windows.Configures Windows processes.

Los recursos listos para usar suponen un buen punto de partida para las operaciones comunes.The OOB resources allow a good starting point for common operations. Si tales recursos no satisfacen sus necesidades, puede escribir su propio recurso personalizado.If the OOB resources do not meet your needs, you can write your own Custom Resource. Antes de escribir un recurso personalizado para solucionar el problema, debe examinar el gran número de recursos de DSC que ya se han creado por Microsoft y la comunidad de PowerShell.Before you write a custom resource to solve your problem, you should look through the vast number of DSC resources that have already been created by both Microsoft and the PowerShell community.

Puede encontrar los recursos de DSC tanto en la Galería de PowerShell como en GitHub.You can find DSC resources in both the PowerShell Gallery and GitHub. También puede instalar los recursos de DSC directamente desde la consola de PowerShell mediante PowerShellGet.You can also install DSC resources directly from the PowerShell console using PowerShellGet.

Instalación de PowerShellGetInstalling PowerShellGet

Para determinar si ya tiene PowerShell get o para obtener ayuda para instalarlo, consulte la guía siguiente: instalación PowerShellGet.To determine if you already have PowerShell get, or to get help installing it, see the following guide: Installing PowerShellGet.

Búsqueda de recursos de DSC mediante PowerShellGetFinding DSC resources using PowerShellGet

Una vez que PowerShellGet está instalado en el sistema, puede buscar e instalar recursos de DSC hospedados en la Galería de PowerShell.Once PowerShellGet is installed on your system, you can find and install DSC resources hosted in the PowerShell Gallery.

En primer lugar, use el cmdlet Find-DSCResource para buscar los recursos de DSC.First, use the Find-DSCResource cmdlet to find DSC resources. Al ejecutar Find-DSCResource por primera vez, verá el aviso siguiente para instalar el "proveedor de NuGet".When you run Find-DSCResource for the first time, you see the following prompt to install the "NuGet provider".

PS> Find-DSCResource

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based
repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies'
or 'C:\Users\xAdministrator\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install
the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201
-Force'. Do you want PowerShellGet to install and import the NuGet provider now?
[Y] Yes  [N] No  [?] Help (default is "Y"):

Después de presionar "y", se instalará el proveedor de "NuGet" y verá una lista de recursos de DSC que se pueden instalar desde la Galería de PowerShell.After pressing 'y', the "NuGet" provider is installed, you see a list of DSC resources that you can install from the PowerShell Gallery.

Nota

La lista no se muestra porque es muy extensa.List is not shown because it is very large.

También puede especificar el parámetro -Name mediante caracteres comodín, o el parámetro -Filter sin caracteres comodín para limitar la búsqueda.You can also specify the -Name parameter using wildcards, or -Filter parameter without wildcards to narrow down your search. En este ejemplo se intenta encontrar un recurso de DSC "TimeZone" mediante caracteres comodín.This example attempts to find a "TimeZone" DSC resource using the wildcards.

Importante

Actualmente hay un error en el cmdlet Find-DSCResource que evita el uso de comodines en los parámetros -Name y -Filter.Currently there is a bug in the Find-DSCResource cmdlet that prevents using wildcards in both the -Name and -Filter parameters. El segundo ejemplo a continuación muestra una solución utilizando Where-Object.The second example below shows a workaround using Where-Object.

PS> Find-DSCResource -Name *Time*

Name                                Version    ModuleName                          Repository
----                                -------    ----------                          ----------
Carbon_EnvironmentVariable          2.6.0      Carbon                              PSGallery
Carbon_FirewallRule                 2.6.0      Carbon                              PSGallery
Carbon_Group                        2.6.0      Carbon                              PSGallery
Carbon_IniFile                      2.6.0      Carbon                              PSGallery
Carbon_Permission                   2.6.0      Carbon                              PSGallery
Carbon_Privilege                    2.6.0      Carbon                              PSGallery
Carbon_ScheduledTask                2.6.0      Carbon                              PSGallery
Carbon_Service                      2.6.0      Carbon                              PSGallery
TimeZone                            6.0.0.0    ComputerManagementDsc               PSGallery
xTimeZone                           1.8.0.0    xTimeZone                           PSGallery
xSqlServerDefaultDir                1.0.0      mlSqlServerDSC                      PSGallery
xSqlServerMoveDatabaseFiles         1.0.0      mlSqlServerDSC                      PSGallery
xSqlServerSQLDataRoot               1.0.0      mlSqlServerDSC                      PSGallery
xSqlServerStartupParam              1.0.0      mlSqlServerDSC                      PSGallery

También puede usar Where-Object para buscar recursos de DSC con un filtrado más detallado.You can also use Where-Object to find DSC resources with more granular filtering. Este enfoque será más lento que el uso de parámetros de filtrado integrados.This approach will be slower than using built in filtering parameters.

PS> Find-DSCResource | Where-Object {$_.Name -like "Time*"}

Name                                Version    ModuleName                          Repository
----                                -------    ----------                          ----------
TimeZone                            6.0.0.0    ComputerManagementDsc               PSGallery

Para obtener más información sobre el filtrado, consulte Where-Object.For more information on filtering, see Where-Object.

Instalación de recursos de DSC mediante PowerShellGetInstalling DSC Resources using PowerShellGet

Para instalar un recurso de DSC, use el cmdlet Install-Module, especificando el nombre del módulo que se muestra bajo el nombre Módulo en los resultados de búsqueda.To install a DSC resource, use the Install-Module cmdlet, specifying the name of the module shown under Module name in your search results.

El recurso "TimeZone" existe en el módulo "ComputerManagementDSC", así que es el módulo que instala este ejemplo.The "TimeZone" resource exists in the "ComputerManagementDSC" module, so that is the module this example installs.

Nota

Si no ha confiado en la Galería de PowerShell, verá la siguiente advertencia solicitando una confirmación, que le indicará cómo evitar las solicitudes posteriores en las instalaciones.If you have not trusted the PowerShell gallery, you see the warning below asking for confirmation, and instructing you how to avoid subsequent prompts on installs.

PS> Install-Module -Name ComputerManagementDSC

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change
its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to
install the modules from 'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"):

Presione "y" para continuar con la instalación del módulo.Press 'y' to continue installing the module. Después de la instalación, compruebe que el nuevo recurso está instalado mediante Get-DSCResource.After install, you can verify that your new resource is installed using Get-DSCResource.

PS> Get-DSCResource -Name TimeZone -Syntax

TimeZone [String] #ResourceName
{
    IsSingleInstance = [string]{ Yes }
    TimeZone = [string]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
}

También puede ver otros recursos en el módulo recién instalado, especificando el parámetro -ModuleName.You can also view other resources in your newly installed module, by specifying the -ModuleName parameter.

PS> Get-DSCResource -Module ComputerManagementDSC

ImplementedAs   Name                      ModuleName                     Version    Properties
-------------   ----                      ----------                     -------    ----------
PowerShell      Computer                  ComputerManagementDsc          6.0.0.0    {Name, Credential, DependsOn, ...
PowerShell      OfflineDomainJoin         ComputerManagementDsc          6.0.0.0    {IsSingleInstance, RequestFile...
PowerShell      PowerPlan                 ComputerManagementDsc          6.0.0.0    {IsSingleInstance, Name, Depen...
PowerShell      PowerShellExecutionPolicy ComputerManagementDsc          6.0.0.0    {ExecutionPolicy, ExecutionPol...
PowerShell      ScheduledTask             ComputerManagementDsc          6.0.0.0    {TaskName, ActionArguments, Ac...
PowerShell      TimeZone                  ComputerManagementDsc          6.0.0.0    {IsSingleInstance, TimeZone, D...
PowerShell      VirtualMemory             ComputerManagementDsc          6.0.0.0    {Drive, Type, DependsOn, Initi...

Consulte tambiénSee also