$CurrentDate = Get-Date
$TargetFolder = "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\"
$DeadDate = $CurrentDate.AddDays(-5)
$NameDate = Get-Date -Format {dd-MM-yyyy-HHmm}
$SQLpathBackup = "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\"
$CredFSSRV = New-Object System.Management.Automation.PSCredential ("sys\1", $(ConvertTo-SecureString "1" -AsPlainText -Force))
new-psdrive -name A -psprovider FileSystem -root \\fssrv\1\databases -Credential $CredFSSRV
$DistFolder = "A:\"
function BackupDB {
param (
$DBNAME
)
Remove-Item -Path $($SQLpathBackup + $DBNAME + ".bak")
Backup-SqlDatabase -ServerInstance "127.0.0.1" -Database $DBNAME -CompressionOption On -BackupFile $($SQLpathBackup + $DBNAME + ".bak")
Copy-Item -Path $($TargetFolder + $DBNAME + ".bak") -Destination $($DistFolder + $DBNAME + "\" + $DBNAME + "_" + $NameDate + ".bak") -Force
GCI -Path $($DistFolder + $DBNAME) -Recurse | Where-Object {$_.CreationTime -LT $DeadDate} | RI -Recurse -Force
}
1BackupDB -DBNAME dev-data
2BackupDB -DBNAME app-hom
3BackupDB -DBNAME mdt-data
4BackupDB -DBNAME training
Backup-SqlDatabase -ServerInstance "127.0.0.1" -Database $DBNAME -CompressionOption On -BackupFile $($SQLpathBackup + $DBNAME + ".bak")эту команду вручную пробовали запускать? Если правильно помню - параметр ServerInstance должен иметь вид "Computer\Instance"
$SQLpathBackup + $DBNAME + ".bak"вот это дело я бы один раз вычислял в начале функции через Join-Path и подставлял в нужных местах