Recurso de archivo DSC
Se aplica a: Windows PowerShell 4.0, Windows PowerShell 5.x
El recurso File en La configuración de estado deseado (DSC) de Windows PowerShell proporciona un mecanismo para administrar archivos y carpetas en el nodo de destino. DestinationPath y SourcePath deben ser accesibles para el nodo de destino.
Nota
Esta documentación de este recurso de DSC trata la versión que se incluye con PowerShell antes de la versión 7.2. El módulo psDscResources de
Para obtener más información y documentación actualizada, consulte la documentación de referencia de PSDscResources.
Sintaxis
File [string] #ResourceName
{
DestinationPath = [string]
[ Attributes = [string[]] { Archive | Hidden | ReadOnly | System }]
[ Checksum = [string] { CreatedDate | ModifiedDate | SHA-1 | SHA-256 | SHA-512 } ]
[ Contents = [string] ]
[ Credential = [PSCredential] ]
[ Force = [bool] ]
[ Recurse = [bool] ]
[ SourcePath = [string] ]
[ Type = [string] { Directory | File } ]
[ MatchSource = [bool] ]
[ DependsOn = [string[]] ]
[ Ensure = [string] { Absent | Present } ]
[ PsDscRunAsCredential = [PSCredential] ]
}
Propiedades
Propiedad | Descripción |
---|---|
DestinationPath | La ubicación, en el nodo de destino, quiere asegurarse de que es presente o ausentes con Asegúrese de. |
Atributos | Estado deseado de los atributos del archivo o directorio de destino. Los valores válidos son Archive, Hidden, ReadOnlyy System. |
Checksum | Tipo de suma de comprobación que se va a usar al determinar si dos archivos son los mismos. Los valores válidos incluyen: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate. |
Contenido | Solo es válido cuando se usa con TipoArchivo. Indica el contenido que se va a Asegurarse de que están presentes o ausentes del archivo de destino. |
Credencial | Las credenciales necesarias para acceder a los recursos, como los archivos de origen. |
Fuerza | Invalida las operaciones de acceso que generarían un error (por ejemplo, sobrescribir un archivo o eliminar un directorio que no está vacío). El valor predeterminado es $false . |
Recurse | Solo es válido cuando se usa con TipoDirectory. Realiza la operación de estado de forma recursiva en todo el contenido del directorio, los subdirectorios y el contenido del subdirectorio. El valor predeterminado es $false . |
SourcePath | Ruta de acceso desde la que se va a copiar el recurso de archivo o carpeta. |
Tipo | Tipo de recurso que se va a configurar. Los valores válidos son Directory y File. El valor predeterminado es archivo. |
MatchSource | Determina si el recurso debe supervisar los nuevos archivos agregados al directorio de origen después de la copia inicial. Un valor de $true indica que, después de la copia inicial, se deben copiar los nuevos archivos de origen en el destino. Si se establece en $false , el recurso almacena en caché el contenido del directorio de origen y omite los archivos agregados después de la copia inicial. El valor predeterminado es $false . |
Advertencia
Si no especifica un valor para credenciales o PSRunAsCredential, el recurso usará la cuenta de equipo del nodo de destino para acceder al SourcePath. Cuando el SourcePath es un recurso compartido UNC, esto podría dar lugar a un error de "Acceso denegado". Asegúrese de que los permisos estén establecidos en consecuencia o use las propiedades de Credential o PSRunAsCredential para especificar la cuenta que se debe usar.
Propiedades comunes
Propiedad | Descripción |
---|---|
DependsOn | Indica que la configuración de otro recurso debe ejecutarse antes de configurar este recurso. Por ejemplo, si el identificador del bloque de script de configuración de recursos que desea ejecutar primero es ResourceName y su tipo es ResourceType, la sintaxis para usar esta propiedad es DependsOn = "[ResourceType]ResourceName" . |
Asegurar | Determina si el archivo y |
PsDscRunAsCredential | Establece la credencial para ejecutar todo el recurso como. |
Nota
El psDscRunAsCredential propiedad común se agregó en WMF 5.0 para permitir la ejecución de cualquier recurso de DSC en el contexto de otras credenciales. Para obtener más información, consulte Usar credenciales con recursos de DSC.
Información adicional
- Cuando solo se especifica un DestinationPath, el recurso garantiza que la ruta de acceso exista si Presente o no existe si Absent.
- Cuando se especifica un SourcePath y un DestinationPath con un valor de tipo de Directory, el recurso copia el directorio de origen en la ruta de acceso de destino. Las propiedades Recurse, Forcey MatchSource cambiar el tipo de operación de copia realizada, mientras que Credential determina qué cuenta usar para acceder al directorio de origen.
- Si no establece la propiedad Recurse en
$true
al copiar un directorio, no se copiará ninguno del contenido del directorio existente. Solo se copiará el directorio especificado. - Si especificó un valor de
ReadOnly para la propiedad Attributes junto con un DestinationPath ,Asegúrese de que Presente crearía la ruta de acceso especificada, mientras queContents establecería el contenido del archivo. Un asegurarse de quevalor absent omitiría completamente la propiedad Attributes y quitaría cualquier archivo en la ruta de acceso especificada.
Ejemplo
En el ejemplo siguiente se copia un directorio y sus subdirectorios de un servidor de extracción en un nodo de destino mediante el recurso de archivo. Si la operación se realiza correctamente, el recurso Registro escribe un mensaje de confirmación en el registro de eventos.
El directorio de origen es una ruta de acceso UNC (\\PullServer\DemoSource
) compartida desde el servidor de extracción. La propiedad Recurse garantiza que todos los subdirectorios también se copien.
Importante
El LCM del nodo de destino se ejecuta en el contexto de la cuenta del sistema local de forma predeterminada. Para conceder acceso alsourcePath de
Configuration FileResourceDemo
{
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Node "localhost"
{
File DirectoryCopy
{
Ensure = "Present" # Ensure the directory is Present on the target node.
Type = "Directory" # The default is File.
Recurse = $true # Recursively copy all subdirectories.
SourcePath = "\\PullServer\DemoSource"
DestinationPath = "C:\Users\Public\Documents\DSCDemo\DemoDestination"
}
Log AfterDirectoryCopy
{
# The message below gets written to the Microsoft-Windows-Desired State Configuration/Analytic log
Message = "Finished running the file resource with ID DirectoryCopy"
DependsOn = "[File]DirectoryCopy" # Depends on successful execution of the File resource.
}
}
}
Para obtener más información sobre el uso de credenciales de en DSC, consulte Ejecutar como usuario o Credenciales de datos de configuración.