Назад | Перейти на главную страницу

Сбой задания Powershell агента SQL с прокси без прав администратора

Я пытаюсь создать задание агента SQL, которое будет запускать сценарий PowerShell, сохраненный в моей системе. Однако задание не выполняется из-за следующей ошибки:

Шаг задания получил ошибку в строке 1 в сценарии PowerShell. Соответствующая строка - g: \ PowerShellShare \ Get-LastDBBackups.ps1. Исправьте сценарий и перенесите задание. PowerShell возвращает следующую информацию об ошибке: «Ошибка проверки AuthorizationManager.

Если я добавлю учетную запись прокси для локальных администраторов, она будет работать, поэтому это будет проблемой с разрешениями (оставить учетную запись в локальном администраторе не вариант для моей среды).

Журнал безопасности Windows показывает несколько сбоев аудита с идентификатором события 4656 каждый раз, когда я запускаю задание, все они происходят из учетной записи прокси, пытающейся получить доступ к объекту:

Object:
Object Server:      SC Manager
Object Type:        SERVICE OBJECT

Быстрый sc sdshow scmanager показало, что Прошедшие проверку пользователи должен иметь доступ к scmanager:

D:(A;;CCLCRPRC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

Самое удивительное, что если я ЗАПУСКАЮ учетную запись прокси на сервере и запускаю сценарий, он работает нормально. Неважно, какой сценарий я пытаюсь запустить через задание агента SQL, попытка выполнить любой сценарий приводит к тому же поведению. я жестяная банка однако запускайте другие команды PowerShell, но не выполняйте никаких сценариев.

Надеюсь, что кто-то сталкивался с этим раньше и может указать мне правильное направление.

ОБНОВИТЬ: Кажется, основная проблема заключается в том, что когда я выполняю задание агента SQL, моя учетная запись прокси не является членом интерактивный неявная группа безопасности. Похоже, что эта группа предоставляет прокси-серверу все разрешения, необходимые для успешного выполнения задания, когда я тестирую его с помощью RUNAS. Я не могу отследить все разрешения, которые позволяет эта группа.

Провалы аудита, которые я видел, были связаны с WinHttpAutoProxySvc и CryptSvc Сервисы. Я использовал sc sdshow и sc sdset, чтобы изменить разрешения для этих конкретных служб, чтобы Прошедшие проверку пользователи разрешения совпадают с Интерактивные пользователи группа. Ошибки аудита теперь исчезли, но я все еще получаю то же сообщение об ошибке в SQL, когда выполняю задание.

Проверьте свою политику выполнения в Powershell; звучит так, как будто это может быть сбой, потому что настройка по умолчанию - «Restricted», которая позволяет Powershell работать только как интерактивную оболочку и не выполняет сценарии вообще. Подробнее см. По следующей ссылке:

http://technet.microsoft.com/en-us/library/ee176961.aspx

РЕДАКТИРОВАТЬ: только что понял, что приведенная выше ссылка описывает только синтаксис для «Set-ExecutionPolicy»; эта ссылка также должна предоставить дополнительный контекст:

http://technet.microsoft.com/en-us/library/ee176949.aspx