У меня есть скрипт powershell, который предоставляет информацию о задании агента SQL.Сценарий предназначен для мониторинга заданий и скажите мне, если они потерпели неудачу во время последнего запуска.Однако я также хочу знать , который был последним шагом выполнения .и я не могу понять, как.
Я запрашиваю объект управления Sql-сервером, потому что его нужно использовать на нескольких удаленных серверах (удаленных подключениях), и я хочу избежать запуска сценариев SQL.
Имейте в виду, что я немного новичок в powershell.
Это код , который у меня пока есть: и я загрузил библиотеки SMO, я просто не сталпокажи ему скопированный скрипт.
## Get Jobstep Class SMO
Push-Location; Import-Module SQLPS -DisableNameChecking; Pop-Location;
$JobStep = New-Object microsoft.sqlserver.management.smo.agent.jobstep
## Run the select from the local SQL server management objects
$SQLSvr = "."
$MySQLObject = new-object Microsoft.SqlServer.Management.Smo.Server `
$SQLSvr;;
$Select = ($MySQLObject.JobServer.jobs) `
| Select Name, isEnabled, `
lastRunDate, lastRunOutCome, NextRunDate `
| Where-Object {$_.LastRunDate -ge ((Get-Date).adddays(-2)) } `
| ft -AutoSize;
$Select
Раздел push-location предназначен для получения правильного класса smo для выбора шага задания (не уверен, что это правильно), однако я ничего из этого не добавил.
Теперь скрипт работает, я не получаю ошибок и мне возвращается вся необходимая информация, но я не могу понять, как добавить шаг задания, - и я обратился к Google.Я хорошо знаю, что мне нужно добавить больше к выбору, но в чем проблема для меня. Итак, как извлечь шаг задания последнего запуска из задания агента SQL с помощью SMO и добавить его в приведенный выше сценарий?