Recursos File de DSCDSC File Resource

Aplica-se a: Windows PowerShell 4.0, Windows PowerShell 5.0Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0

O recurso File na Configuração de Estado Desejado (DSC) do Windows PowerShell fornece um mecanismo para gerenciar arquivos e pastas no nó de destino.The File resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to manage files and folders on the target node.

Observação: se a propriedade MatchSource estiver definida como $false (que é o valor padrão), o conteúdo a ser copiado será armazenado em cache na primeira vez que a configuração for aplicada.Note: If the MatchSource property is set to $false (which is the default value), the contents to be copied are cached the first time the configuration is applied. Os aplicativos subsequentes da configuração não verificarão arquivos e/ou pastas atualizados no caminho especificado pelo SourcePath.Subsequent applications of the configuration will not check for updated files and/or folders in the path specified by SourcePath. Se você quiser verificar se há atualizações para os arquivos e/ou pastas em SourcePath toda vez que a configuração for aplicada, defina MatchSource como $true.If you want to check for updates to the files and/or folders in SourcePath every time the configuration is applied, set MatchSource to $true.

SintaxeSyntax

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] ]
    [ Ensure = [string] { Absent | Present } ] 
    [ Force = [bool] ]
    [ Recurse = [bool] ]
    [ DependsOn = [string[]] ]
    [ SourcePath = [string] ]
    [ Type = [string] { Directory | File } ] 
    [ MatchSource = [bool] ]
}

PropriedadesProperties

PropriedadeProperty DescriçãoDescription
DestinationPathDestinationPath Indica o local onde você deseja garantir o estado de um arquivo ou diretório.Indicates the location where you want to ensure the state for a file or directory.
AtributosAttributes Especifica o estado desejado dos atributos para o arquivo ou diretório de destino.Specifies the desired state of the attributes for the targeted file or directory.
Soma de verificaçãoChecksum Indica o tipo de soma de verificação que deve ser usado para determinar se dois arquivos são iguais.Indicates the checksum type to use when determining whether two files are the same. Se Checksum não for especificado, somente o nome de arquivo ou diretório será usado para comparação.If Checksum is not specified, only the file or directory name is used for comparison. Os valores válidos incluem: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate.Valid values include: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate.
ConteúdoContents Especifica o conteúdo de um arquivo, como uma cadeia de caracteres específica.Specifies the contents of a file, such as a particular string.
CredentialCredential Indicará as credenciais necessárias para acessar recursos, como arquivos de origem, se tal acesso for necessário.Indicates the credentials that are required to access resources, such as source files, if such access is required.
EnsureEnsure Indica se o arquivo ou diretório existe.Indicates if the file or directory exists. Defina essa propriedade como "Absent" para garantir que o arquivo ou diretório não exista.Set this property to "Absent" to ensure that the file or directory does not exist. Defina-a como "Present" para garantir que o arquivo ou diretório exista.Set it to "Present" to ensure that the file or directory does exist. O padrão é "Present".The default is "Present".
ForceForce Determinadas operações de arquivo (como substituição de um arquivo ou exclusão de um diretório que não esteja vazio) resultarão em erro.Certain file operations (such as overwriting a file or deleting a directory that is not empty) will result in an error. O uso da propriedade Force substitui esses erros.Using the Force property overrides such errors. O valor padrão é $false.The default value is $false.
RecurseRecurse Indica se subdiretórios são incluídos.Indicates if subdirectories are included. Defina essa propriedade como $true para indicar que você deseja que subdiretórios sejam incluídos.Set this property to $true to indicate that you want subdirectories to be included. O padrão é $false.The default is $false. Observação: essa propriedade é válida somente quando a propriedade Type é definida como Directory.Note: This property is only valid when the Type property is set to Directory.
DependsOnDependsOn Indica que a configuração de outro recurso deve ser executada antes de ele ser configurado.Indicates that the configuration of another resource must run before this resource is configured. Por exemplo, se a ID do bloco de script de configuração do recurso que você deseja executar primeiro for ResourceName e seu tipo for ResourceType, a sintaxe para usar essa propriedade será DependsOn = "[ResourceType]ResourceName".For example, if the ID of the resource configuration script block that you want to run first is ResourceName and its type is ResourceType, the syntax for using this property is DependsOn = "[ResourceType]ResourceName".
SourcePathSourcePath Indica o caminho do qual o recurso de arquivo ou pasta deve ser copiado.Indicates the path from which to copy the file or folder resource.
TipoType Indica se o recurso que está sendo configurado é um diretório ou um arquivo.Indicates if the resource being configured is a directory or a file. Defina essa propriedade como "Directory" para indicar que o recurso é um diretório.Set this property to "Directory" to indicate that the resource is a directory. Defina-a como "File" para indicar que o recurso é um arquivo.Set it to "File" to indicate that the resource is a file. O valor padrão é “File”.The default value is “File”.
MatchSourceMatchSource Se definida como o valor padrão de $false, em seguida, todos os arquivos de origem (digamos, arquivos A, B e C) serão adicionados ao destino na primeira vez em que a configuração for aplicada.If set to the default value of $false, then any files on the source (say, files A, B, and C) will be added to the destination the first time the configuration is applied. Se for adicionado um novo arquivo (D) à origem, ele não será adicionado ao destino, mesmo quando a configuração for reaplicada posteriormente.If a new file (D) is added to the source, it will not be added to the destination, even when the configuration is re-applied later. Se o valor for $true, em seguida, cada vez que a configuração for aplicada, os novos arquivos subsequentemente encontrados na origem (como arquivo D, neste exemplo) serão adicionados ao destino.If the value is $true, then each time the configuration is applied, new files subsequently found on the source (such as file D in this example) are added to the destination. O valor padrão é $false.The default value is $false.

ExemploExample

O exemplo a seguir mostra como usar o recurso Files para garantir que um diretório com o caminho C:\Users\Public\Documents\DSCDemo\DemoSource em um computador de origem (como o servidor de “pull”) também esteja presente (juntamente com todos os subdiretórios) no nó de destino.The following example shows how to use the File resource to ensure that a directory with the path C:\Users\Public\Documents\DSCDemo\DemoSource on a source computer (such as the “pull” server) is also present (along with all subdirectories) on the target node. Também escreve uma mensagem de confirmação no log quando for concluído e inclui uma declaração para garantir que a operação de verificação de arquivos seja executada antes da operação de registro em log.It also writes a confirmatory message to the log when complete and includes a statement to ensure that the file-checking operation runs prior to the logging operation.

Configuration FileResourceDemo
{
    Node "localhost"
    {
        File DirectoryCopy
        {
            Ensure = "Present"  # You can also set Ensure to "Absent"
            Type = "Directory" # Default is "File".
            Recurse = $true # Ensure presence of subdirectories, too
            SourcePath = "C:\Users\Public\Documents\DSCDemo\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" # This means run "DirectoryCopy" first.
        }
    }
}