Expansión de un archivo con la validación de archivos SHA-256 y la sobrescritura de archivos permitidas
Descripción
En este ejemplo se muestra cómo puede usar el Archive
recurso para asegurarse de que un .zip
archivo se expande a un directorio específico y el contenido expandido coincide con el contenido del .zip
archivo.
Con Ensure establecido en Present
, la ruta de acceso establecida C:\ExampleArchivePath\Archive.zip
en y destination establecidoC:\ExampleDestinationPath\Destination
en , el recurso expande el contenido de Archive.zip
a la Destination
carpeta si aún no están allí.
Con Validate establecido en $true
y Checksum establecido SHA-256
en , el recurso compara la suma de comprobación SHA256 de cada archivo expandido con el archivo pertinente en Archive.zip
. Si la suma de comprobación de cualquier archivo expandido no coincide con la suma de comprobación de ese archivo en Archive.zip
, el recurso está fuera del estado deseado.
Con Force establecido en $true
, el recurso sobrescribe los archivos expandidos con una suma de comprobación incorrecta. Si Force se estableció en $false
, el recurso produciría una excepción en lugar de sobrescribir los archivos.
Con Invoke-DscResource
Este script muestra cómo puede usar el Archive
recurso con el Invoke-DscResource
cmdlet para asegurarse de que Archive.zip
se expande a la Destination
carpeta con validación de suma de comprobación SHA256.
[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
}
}
Con una configuración
Este fragmento de código muestra cómo se puede definir un Configuration
con un Archive
bloque de recursos para asegurarse de que Archive.zip
se expande a la Destination
carpeta con validación de suma de comprobación SHA256.
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'
}
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de