Recursos File de DSC
Aplica-se a: Windows PowerShell 4.0, Windows PowerShell 5.x
O recurso File no DSC (Desired State Configuration) do Windows PowerShell fornece um mecanismo para gerenciar arquivos e pastas no nó de destino. O DestinationPath e o SourcePath devem ser acessíveis pelo nó de destino.
Observação
Esta documentação desse recurso de DSC abrange a versão incluída no PowerShell antes da versão 7.2. O módulo PSDscResources contém recursos de DSC novos e atualizados que têm suporte oficial da Microsoft. O módulo PSDscResources está disponível na Galeria do PowerShell.
Para obter mais informações e a documentação atualizada, consulte a documentação de referência do PSDscResources.
Sintaxe
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] ]
}
Propriedades
Propriedade | Descrição |
---|---|
DestinationPath | O local, no nó de destino, que você quer que seja Present ou Absent com Ensure. |
Atributos | O estado desejado dos atributos para o arquivo ou diretório de destino. Os valores válidos são Archive, Hidden, ReadOnly e System. |
Checksum (soma de verificação) | O tipo de soma de verificação a usar para determinar se dois arquivos são iguais. Os valores válidos incluem: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate. |
Conteúdo | Válido apenas quando usado com TypeFile. Indica se o conteúdo a Ensure está Present ou Absent no arquivo de destino. |
Credencial | As credenciais necessárias para acessar recursos, como arquivos de origem. |
Force | Substitui as operações de acesso que resultariam em erro (como substituir um arquivo ou excluir um diretório que não esteja vazio). O valor padrão é $false . |
Recurse | Válido somente quando usado com TypeDirectory. Executa a operação de estado recursivamente para todo o conteúdo do diretório, subdiretórios e conteúdo de subdiretório. O valor padrão é $false . |
SourcePath | O caminho do qual o recurso de arquivo ou pasta deve ser copiado. |
Type | O tipo de recurso que está sendo configurado. Os valores válidos são Directory e File. O valor padrão é File. |
MatchSource | Determina se o recurso deve monitorar novos arquivos adicionados ao diretório de origem após a cópia inicial. Um valor $true indica que, após a cópia inicial, os novos arquivos de origem devem ser copiados para o destino. Se for definido como $false , o recurso armazena em cache o conteúdo do diretório de origem e ignora todos os arquivos adicionados após a cópia inicial. O valor padrão é $false . |
Aviso
Se você não especificar um valor para Credential ou PSRunAsCredential, o recurso usará a conta de computador do nó de destino para acessar o SourcePath. Quando o SourcePath é um compartilhamento UNC, isso pode resultar em um erro "Acesso negado". Verifique se suas permissões estão definidas adequadamente ou use as propriedades Credential ou PSRunAsCredential para especificar a conta que deve ser usada.
Propriedades comuns
Propriedade | Descrição |
---|---|
DependsOn | Indica que a configuração de outro recurso deve ser executada antes de ele ser configurado. 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" . |
Ensure | Determina se o arquivo e Contents em Destination devem existir ou não. Defina essa propriedade como Present para garantir que o arquivo exista. Defina-a como Absent para garantir que não exista. O valor padrão é Present. |
PsDscRunAsCredential | Define a credencial para executar todo o recurso. |
Observação
A propriedade comum PsDscRunAsCredential foi adicionada ao WMF 5.0 para permitir a execução de qualquer recurso de DSC no contexto de outras credenciais. Para saber mais, confira Usar credenciais com recursos de DSC.
Informações adicionais
- Ao especificar apenas um DestinationPath, o recurso garante que o caminho existe caso seja Present ou se não existe caso seja Absent.
- Quando você especifica um SourcePath e um DestinationPath com um valor Type do Diretório, o recurso copia o diretório de origem para o caminho de destino. As propriedades Recurse, Force e MatchSource alteram o tipo de operação de cópia executada, embora Credential determine qual conta usar para acessar o diretório de origem.
- Se você não definir a propriedade Recurse como
$true
ao copiar um diretório, nenhum dos conteúdos do diretório existente será copiado. Somente o diretório especificado será copiado. - Se você tiver especificado um valor de ReadOnly para a propriedade Attributes junto com um DestinationPath, EnsurePresent criarão o caminho especificado, enquanto Contents definirá o conteúdo do arquivo. Uma configuração EnsureAbsent ignoraria a propriedade Attributes completamente e removeria qualquer arquivo no caminho especificado.
Exemplo
O exemplo a seguir copia um diretório e seus subdiretórios de um servidor de pull para um nó de destino usando o recurso de arquivo. Se a operação for bem-sucedida, o recurso de Log gravará uma mensagem de confirmação no log de eventos.
O diretório de origem é um caminho UNC (\\PullServer\DemoSource
) compartilhado do servidor de pull. A propriedade Recurse garante que todos os subdiretórios também sejam copiados.
Importante
O LCM no nó de destino é executado no contexto da conta do sistema local por padrão. Para conceder acesso ao SourcePath, dê à conta do computador do nó de destino as permissões apropriadas. Credential e PSDSCRunAsCredential alteram o contexto que o LCM usa para acessar o SourcePath. Você ainda precisa conceder acesso à conta a ser usada para acessar o 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 saber mais sobre como usar Credentials no DSC, confira Executar como usuário ou Configurar credenciais de dados.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de