Expandir um arquivo com validação de arquivo padrão e substituição de arquivo permitida
Descrição
Este exemplo mostra como você pode usar o Archive
recurso para garantir que um .zip
arquivo seja expandido para um diretório específico e que o conteúdo expandido corresponda ao conteúdo no .zip
arquivo.
Com Ensure definido como Present
, o caminho definido como C:\ExampleArchivePath\Archive.zip
, e o destino definido como C:\ExampleDestinationPath\Destination
, o recurso expande o conteúdo da Archive.zip
Destination
pasta se eles ainda não estiverem lá.
Com Validate definido como $true
e Checksum não definido, o recurso compara a propriedade LastWriteTime de cada arquivo expandido em relação à propriedade LastWriteTime do arquivo relevante em Archive.zip
. Se os valores de qualquer conteúdo na Destination
pasta não corresponderem ao valor Archive.zip
, o recurso estará fora do estado desejado.
Com Force definido como $true
, o recurso substitui todos os arquivos expandidos com um LastWriteTime incorreto. Se Force foi definido como $false
, o recurso lançaria uma exceção em vez de substituir os arquivos.
Com Invoke-DscResource
Este script mostra como você pode usar o Archive
recurso com o Invoke-DscResource
cmdlet para garantir Archive.zip
que ele seja expandido para a Destination
pasta com validação padrão.
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'Archive'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Force = $true
Ensure = 'Present'
}
}
$NonGetProperties = @(
'Validate'
'Force'
'Ensure'
)
}
process {
$TestResult = Invoke-DscResource -Method Test @SharedParameters
if ($TestResult.InDesiredState) {
$QueryParameters = $SharedParameters.Clone()
foreach ($Property in $NonGetProperties) {
$QueryParameters.Properties.Remove($Property)
}
Invoke-DscResource -Method Get @QueryParameters
} else {
Invoke-DscResource -Method Set @SharedParameters
}
}
Com uma configuração
Este snippet mostra como você pode definir um com um Configuration
Archive
bloco de recursos para garantir Archive.zip
que seja expandido para a Destination
pasta com validação padrão.
Configuration ExpandArchiveDefaultValidationAndForce {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Force = $true
Ensure = 'Present'
}
}
}
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