Ho creato una risorsa DSC per copiare una directory di moduli da una determinata origine. Lo sto testando per una distribuzione più ampia nel mio ambiente. La risorsa fa un ottimo lavoro assicurando che tutti i file ci siano e che corrispondano al contenuto sorgente, finora tutto bene ...Utilizzo del provider di file in DSC: assicurarsi che la destinazione contenga solo file dall'origine
Il problema è questo; Voglio assicurarmi che se ci sono file aggiuntivi nella destinazione o destinazione, una cartella che viene rimossa.
Ecco il mio codice:
Configuration TestRun
{
Param
(
$ComputerName = 'Localhost'
)
Node $ComputerName
{
File LoadModules
{
Ensure = 'Present'
Type = 'Directory'
Force = $true
Recurse = $true
SourcePath = "C:\git\Modules"
DestinationPath = 'C:\users\Jason\Documents\WindowsPowerShell\Modules'
Checksum = "SHA-256"
MatchSource = $true
}
}
}
ho provato con la creazione di un file nella directory di destinazione dopo aver eseguito la configurazione la prima volta chiamato Deleteme.flag. Finora non ho avuto fortuna nel vederlo effettivamente cancellato.
Ho provato ad aggiungere un requisito fornitore file aggiuntivo di rimuovere la directory prima che si:
File RemoveModules
{
Ensure = 'absent'
Type = 'Directory'
Force = $true
Recurse = $true
DestinationPath = 'C:\users\Jason\Documents\WindowsPowerShell\Modules'
}
Purtroppo, questo non riesce con il seguente errore:
The key properties combination 'C:\users\Jason\Documents\WindowsPowerShell\Modules' is duplicated for keys 'DestinationPath' of resource 'File' in node 'Localhost'. Please make sure key properties are unique for each resource in a node.
In ogni caso, mi piacerebbe fallo con la risorsa file, ma ovviamente, sarebbe facile farlo con il provider di script o qualche altra risorsa personalizzata. Grazie in anticipo per tutto il tuo aiuto!
Proprio come un avviso, non è necessario tutte le proprietà configurate per il provider di file. Li ho aggiunti nel tentativo di far sì che la cosa dannata cancelli il file aggiuntivo. –
Ho lo stesso requisito in realtà. Avete aggiornamenti su questo? Mi piacerebbe anche configurarlo nella risorsa 'File', idealmente. – julealgon