At a customer we decided to remove the need of backing up files in the branches, so theres no need for the employees to switch tapes or usb drives.
To get all data backed up nevertheless, we implemented DFSR between the branches and the head quarter. In the head quarter the data are backed up.
A quick look in the DFSR reportings showed up, that there are files, that where not backed up.
With a little search in a famous serach engine, we stumbled throughwards that blog:
http://blogs.technet.com/b/askds/archive/2008/11/11/dfsr-does-not-replicate-temporary-files.aspx
At the customer, there are some scanning devices responsible to convert all paper mail into digital files. Those devices are generating its output directly on the file server.
All files generated that way do not loose the temporary file attribute after saving the file.
So we buidled a powershell script that run’s as scheduler to remove these flags on a daily base.
If you are interested in this on,
here you are:
<# .SYNOPSIS This script is for determing files with "Temporary File" attribute set. .DESCRIPTION The script shows files where the "Temporary File"-attribute is set. Those files are not synchronised by Microsoft DFSR. Also the script can remove the attribute, based on the file extension. The common extensions are a set as default, but can be overridden by command. .PARAMETER startpath Specifies the file path to start the search for files with "Temp File"-attribute set. Required? true Default value Accept pipeline input? false .PARAMETER RemoveTemp If this switch is used, the "Temp File"-attribute is removed from the file. Required? false Default value Accept pipeline input? false .PARAMETER extensions Specifies the file extensions that should be inspected. Required? false Default value (".pdf",".xls",".doc",".docx",".xlsx",".ppt",".pptx",".bmp",".jpg") Accept pipeline input? false .PARAMETER countOlny If given, only the count of the affected file is shown. Required? false Default value Accept pipeline input? false .EXAMPLE .\tempfiles.ps1 -startpath D:\ This Example lists the files where the "Temp File"-attribute is set located on the hole D:\ - Drive .EXAMPLE .\tempfiles.ps1 -startpath D:\ -removeTemp This Example lists the files where the "Temp File"-attribute is set and removes the "Temp File"-attribute. .EXAMPLE .\tempfiles.ps1 -startpath D:\ -removeTemp -extensions ".exe",".jpg" This Example lists the files where the "Temp File"-attribute is set if the file extension is exe or jpg only. .NOTES See Link for further description. .LINK <a href="http://blogs.technet.com/b/askds/archive/2008/11/11/dfsr-does-not-replicate-temporary-files.aspx">http://blogs.technet.com/b/askds/archive/2008/11/11/dfsr-does-not-replicate-temporary-files.aspx</a> #> param([string]$startpath=(read-host "Start Pfad"),[switch]$removeTemp,[string[]]$extensions=(".pdf",".xls",".doc",".docx",".xlsx",".ppt",".pptx",".bmp",".jpg"),[switch]$countOnly) if(!($startpath -eq "")) { if(test-path -path "$startpath" -ErrorAction SilentlyContinue) { if(!($countonly)) { Get-childitem $startpath -recurse | ` ForEach-Object { if (($_.attributes -band 0x100) -eq 0x100) { foreach($ext in $extensions) { if($_.extension.tolower() -eq $ext.tolower()) { $_.fullname if($removetemp) { $_.attributes = ($_.attributes -band 0xFEFF) } break } } } } } else { $count = @(Get-childitem $startpath -recurse | where-object { $_.attributes -band 0x100 }).count "There are $count files affected in $startpath with seleted extensions: `"$extensions`"" } } else { "Path $startpath not found!" } } else { get-help .\tempfiles }
COMMENTS