Expansión de un archivo en una credencial sin validación de archivos
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 en una cuenta elegida. Esto le permite especificar ubicaciones para el archivo y el destino que requieren autorización para el acceso y la escritura.
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 la propiedad Credential establecida en una cuenta con permisos para el Archive.zip
archivo y la Destination
carpeta, el recurso expande el .zip
archivo a medida que esa cuenta. Si la cuenta no tiene permisos para ninguna ruta de acceso, el recurso produce un error.
Sin las propiedades Validate o Checksum establecidas, el recurso no comprueba el contenido expandido con los archivos de Archive.zip
, solo que existen. Es posible que el contenido expandido de la Destination
carpeta no coincida con el contenido de Archive.zip
.
Con Invoke-DscResource
Este script muestra cómo puede usar el Archive
recurso con el Invoke-DscResource
cmdlet para asegurarse Archive.zip
de que se expande a la carpeta mediante la credencial de una Destination
cuenta especificada para leer y escribir los archivos.
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential
)
begin {
$SharedParameters = @{
Name = 'Archive'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Credential = $Credential
Ensure = 'Present'
}
}
$NonGetProperties = @(
'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 Destination
carpeta mediante la credencial de una cuenta especificada para leer y escribir los archivos.
Configuration ExpandArchiveNoValidationCredential {
param(
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential
)
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Credential = $Credential
Ensure = 'Present'
}
}
}