tasks/Invoke-BackupFileTask.ps1
# # Invoke_PowershellTask.ps1 # Set-StrictMode -Version 2.0 Function Invoke-BackupFileTask { [CmdletBinding(SupportsShouldProcess=$true)] param( [Parameter(Mandatory=$true)] [string]$FilePath, [Parameter(Mandatory=$false)] [boolean]$AddDateTimeToFileName ) if($pscmdlet.ShouldProcess($FilePath, "Backup file")) { if (![System.IO.File]::Exists($FilePath)) { Write-TaskInfo -Message "File $FilePath does not exist" -Tag Warning Return } $fileProperty = Get-ItemProperty -Path $FilePath $backupFilePath = $FilePath; if ($AddDateTimeToFileName) { $backupFilePath +="_$(get-date -f yyyyMMddHHmmss)" } Write-TaskInfo "Creating backup of $FilePath as $backupFilePath.bak" -Tag "Info" Copy-Item $FilePath -Destination "$backupFilePath.bak" -Force } } Export-ModuleMember Invoke-BackupFileTask |