Compartir a través de


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 contiene recursos de DSC nuevos y actualizados que microsoft admite oficialmente. El módulo de PSDscResources está disponible en la Galería de PowerShell.

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 Contenido en el de destino de deben existir o no. Establezca esta propiedad en Present para asegurarse de que el archivo existe. Establézcalo en absent para asegurarse de que no existen. El valor predeterminado es Present.
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 quePresente crearía la ruta de acceso especificada, mientras que Contents 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 , asigne a la cuenta de equipo del nodo de destino los permisos adecuados. El de credenciales de y PSDSCRunAsCredential cambian el contexto que usa el LCM para acceder al SourcePath. Todavía tiene que conceder acceso a la cuenta que se usará para acceder al SourcePath.

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.