Aggiornare un file di versione diversa tramite le Group Policy Preferences

Per gestire i file tramite le Group Policy Preferences è possibile usare i Windows Settings Preference Items che consentono di fare le seguenti operazioni sui file:

  • Copy a file (or multiple files in one folder) to a new location and then configure the attributes of those files. New subfolders are created as necessary.
  • Delete a file (or multiple files in one folder) and replace it with a copy of a file from a source folder.
  • Modify the attributes of a file (or multiple files in one folder).
  • Delete a file (or multiple files in one folder).
  • Modify the attributes of, replace, or delete all files with a particular extension in one folder.
  • Modify the attributes of, replace, or delete all files in a particular folder.

Da cui come di vede non è prevista la possibilità di aggiornare un file della destinazione solo se risulta modificato nella sorgente, questo comportamento è by design e dipende dalle azioni che è possibile configurare su di una Files preference extension:

  • Create
    Copy a file (or multiple files in one folder) from a source location to a destination location if it does not already exist at the destination, and then configure the attributes of those files for computers or users.
  • Delete
    Remove a file (or multiple files in one folder) for computers or users.
  • Replace
    Delete a file (or multiple files in one folder), replace it with another file or files, and configure the attributes of those files for computers or users. The net result of the Replace action is to overwrite the files at the destination location. If the file does not exist at the destination, then the Replace action copies the file from the source location to the destination.
  • Update
    Modify settings of an existing file (or multiple files in one folder) for computers or users. This action differs from Replace in that it only updates file attributes defined within the preference item. All other file attributes remain as configured on the file. If the file does not exist, then the Update action copies the file from the source location to the destination.

L’azione Update infatti copia il file dalla sorgente alla destinazione solo se non esiste, mentre l’azione Replace cancella il file dalla destinazione e lo copia dalla sorgente con l’effetto di sovrascrivere sempre il file anche quando non è cambiato.

Fatta questa premessa è però possibile aggiornare un file se la sua versione è cambiata, ovviamente se il file ammette la proprietà versione come ad esempio eseguibili ed dll.

Per aggiornare un file solo se la versione è diversa dalla versione che si intende distribuire è possible creare due Group Policy Files preference extension

La prima Group Policy Files preference extension prevede un’azione di tipo Replace e sovrascrive il file solo se la versione del file è minore della della versione che si intende distribuire. Questa Group Policy Files preference extension sovrascriverà il file nella destinazione nel caso la versione dello stesso sia inferiore a quella nella sorgente. Si noti però che se nella destinazione il file non esiste tale Group Policy Files preference extension non copierà il file.

La seconda Group Policy Files preference extension prevede un’azione di tipo Update e copia il file dalla sorgente se questo non esiste nella destinazione.