Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a Windows PowerShell 4.0 y versiones posteriores.
Información general
Los recursos de configuración de estado deseado (DSC) proporcionan los bloques de creación para una configuración de DSC. Un recurso expone propiedades que se pueden configurar (esquema) y contiene las funciones de script de PowerShell a las que llama el Administrador de configuración local (LCM) para "hacerlo así".
Un recurso puede modelar algo tan genérico como un archivo o tan específico como una configuración de servidor IIS. Los grupos de recursos similares se combinan en un módulo DSC, que organiza todos los archivos necesarios en una estructura portátil e incluye metadatos para identificar cómo se van a usar los recursos.
Cada recurso tiene un esquema *que determina la sintaxis necesaria para usar el recurso en una configuración. El esquema de un recurso se puede definir de las siguientes maneras:
-
Schema.Moffile: la mayoría de los recursos definen su esquema en unschema.mofarchivo, utilizando el formato de objeto administrado. -
<Resource Name>.schema.psm1file: los recursos compuestos definen su esquema en un<ResourceName>.schema.psm1archivo mediante un bloque de parámetros. -
<Resource Name>.psm1file: los recursos de DSC basados en clases definen su esquema en la definición de clase. Los elementos de sintaxis se indican como propiedades de clase. Para obtener más información, consulte about_Classes.
Para recuperar la sintaxis de un recurso de DSC, use el cmdlet Get-DSCResource con el parámetro Syntax . Este uso es similar al uso de Get-Command con el parámetro Syntax para obtener la sintaxis del cmdlet. El resultado que ve mostrará la plantilla utilizada para un bloque de recursos para el recurso que especifique.
Get-DscResource -Syntax Service
La salida que ve debe ser similar a la salida siguiente, aunque la sintaxis de este recurso podría cambiar en el futuro. Al igual que la sintaxis del cmdlet, las claves que se ven entre corchetes son opcionales. Los tipos especifican el tipo de datos que espera cada clave.
Nota:
La tecla Ensure es opcional porque el valor predeterminado es "Presente".
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Running | Stopped }]
}
Nota:
En las versiones de PowerShell inferiores a la 7.0, Get-DscResource no encuentra los recursos de DSC basados en clases.
Dentro de una configuración, un bloque de recursos de servicio puede tener este aspecto para garantizar que el servicio de cola de impresión se esté ejecutando.
Nota:
Antes de usar un recurso en una configuración, debe importarlo mediante Import-DSCResource.
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as l
# ong as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
}
}
Las configuraciones pueden contener varias instancias del mismo tipo de recurso. Cada instancia debe tener un nombre único. En el ejemplo siguiente, se agrega un segundo bloque de recursos de servicio para configurar el servicio "DHCP".
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as
# long as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
# To configure a second service resource block, add another Service
# resource block and use a unique name.
Service "DHCP - Running"
{
Name = "DHCP"
State = "Running"
}
}
}
Nota:
A partir de PowerShell 5.0, se agregó IntelliSense para DSC. Esta nueva función le permite usar TAB y Ctr+Space para completar automáticamente los nombres de las claves.
Tipos de recursos
Windows viene con recursos integrados y Linux tiene recursos específicos del sistema operativo. Hay recursos para dependencias entre nodos, recursos de administración de paquetes, así como recursos de propiedad y mantenimiento de la comunidad. Puede usar los pasos anteriores para determinar la sintaxis de estos recursos y cómo usarlos. Las páginas que sirven a estos recursos se han archivado en Referencia.
Recursos integrados de Windows
- Recurso de archivo
- Recurso ambiental
- Recurso de archivo
- Recurso de grupo
- Recurso GroupSet
- Recurso de registro
- Recurso de paquete
- Recurso ProcessSet
- Recurso de registro
- Recurso de script
- Recurso de servicio
- Recurso ServiceSet
- Recurso de usuario
- WindowsFeature (Recurso)
- Recurso WindowsFeatureSet
- Recurso WindowsOptionalFeature
- Recurso WindowsOptionalFeatureSet
- Recurso WindowsPackageCabResource
- Recurso WindowsProcess
Recursos de dependencia entre nodos
Recursos de administración de paquetes
Recursos de Linux
Los recursos de DSC para Linux están en desuso. Para obtener más información, consulte Recursos de DSC para Linux.