Expansión de un archivo con validación de archivos predeterminada y sobrescritura de archivos permitida
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 not set, el recurso compara la propiedad LastWriteTime de cada archivo expandido con la propiedad LastWriteTime del archivo pertinente en Archive.zip
. Si los valores de cualquier contenido de la Destination
carpeta no coinciden con el valor de Archive.zip
, el recurso está fuera del estado deseado.
Con Force establecido en $true
, el recurso sobrescribe los archivos expandidos con un valor LastWriteTime incorrecto. 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 carpeta con la Destination
validación predeterminada.
[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
objeto con un Archive
bloque de recursos para asegurarse de que Archive.zip
se expande a la carpeta con la Destination
validación predeterminada.
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