Eliminación de un archivo con validación de archivos SHA-256
Descripción
En este ejemplo se muestra cómo puede usar el Archive
recurso para asegurarse de que ningún contenido de un .zip
archivo se expanda a un directorio específico.
Con Asegurar establecido en Absent
, la ruta de acceso establecida en C:\ExampleArchivePath\Archive.zip
. y destination establecido en C:\ExampleDestinationPath\Destination
, el recurso quita el contenido de de Archive.zip
la Destination
carpeta si existen.
Con Validate establecido en $true
y Checksum establecido SHA-256
en , el recurso compara la suma de comprobación SHA256 de cada que existe tanto en la Destination
carpeta Archive.zip
como en . Si la suma de comprobación de cualquier archivo de la Destination
carpeta coincide con la suma de comprobación de ese archivo en Archive.zip
, el recurso está fuera del estado deseado. El recurso quita esos archivos coincidentes cuando se ejecuta su método Set . No quitará ningún otro archivo.
Con Invoke-DscResource
Este script muestra cómo puede usar el Archive
recurso con el Invoke-DscResource
cmdlet para asegurarse de que no existe ningún contenido en Archive.zip
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
Checksum = 'SHA-256'
Ensure = 'Absent'
}
}
$NonGetProperties = @(
'Ensure'
'Validate'
'Checksum'
)
}
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
objeto con un Archive
bloque de recursos para asegurarse de que no existe ningún contenido en Archive.zip
la Destination
carpeta con validación de suma de comprobación SHA256.
Configuration RemoveArchiveChecksum {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Checksum = 'SHA-256'
Ensure = 'Absent'
}
}
}