У меня есть функция для восстановления базы данных сервера sql с помощью «Microsoft.SqlServer.Management.Smo.Restore. Существует событие, называемое завершенным, и в коде, который я поместил
Register-ObjectEvent -InputObject $restore -EventName "Complete" -SourceIdentifier CompleteRestore -Action { Write-Host "Works"} | Out-Null
, оно отлично работаетПо завершении восстановления появляется сообщение.
Когда я запускаю функцию с помощью Powershell Job, восстановление выполняется, но сообщение не появляется.
Можете ли вы помочь мне, ребята?
Спасибо
Я использую этот код для запуска функции в качестве задания, а объект Register находится внутри функции Invoke-SqlRestoreEventing
$server = "."
$dbname = "TestPoshEventing_6"
$filepath = "c:\temp\backup\TestPoshEventing.bak"
$Realocatefiles = @{TestPoshEventing='c:\temp\restore\TestPoshEventing_6.mdf';TestPoshEventing_log='c:\temp\restore\TestPoshEventing_6.ldf'}
Start-Job -Name "Restore1" -InitializationScript {Import-Module c:\temp\testes\PoshTest.psm1 -Force} -scriptblock { Invoke-SqlRestoreEventing -sqlserver $args[0] -dbname $args[1] -filepath $args[2] -relocatefiles $args[3] -force } -ArgumentList $server, $Dbname ,$filepath ,$Realocatefiles