предоставить разрешения для xp_cmdshell - PullRequest
0 голосов
/ 12 декабря 2018

Прежде всего, извините за мой плохой английский.

Теперь, к делу.У меня есть установщик запуска, созданный с помощью installshield.Таким образом, этот setup.exe может быть выполнен в режиме без вывода сообщений, как описано здесь: http://www.silentinstall.org/InstallShield

Я пытаюсь запустить файл setup.exe в режиме без вывода сообщений через сервер SQL, но он не работает,Вот код:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', 1 
RECONFIGURE

declare @result table (line nvarchar(1000))

insert into @result

Exec master..xp_cmdshell [ "C:\abc\setup.exe" /s ]

select * from @result

Я пробовал один и тот же код на двух разных компьютерах.В одном из них это сработало, поэтому инструкции верны.Как я уже сказал, выполнение setup.exe не работает, но хорошо известный пример

Exec master..xp_cmdshell [ "dir c:\*.*"  ]

да, это работает.Я также проверил, является ли XPCmdShellEnabled истинным в фасете конфигурации поверхности, и это так.Поэтому я думаю, что это вопрос разрешений, но я не могу понять это.

Я не знаю, что еще я могу сделать / проверить.

Заранее спасибо.

пс: выполнение этого setup.exe в автоматическом режиме через командную строку работает нормально.

позже отредактируйте: если умышленно я укажу какой-то файл, который не существует, например

Exec master..xp_cmdshell [ "C:\abc\set3up.exe" /s ]

Я получу правильный результат: % s не распознается как внутренний или внешнийКоманда, работающая программа или командный файл.

edit 2: когда я запускаю xp_cmdshell "whoami.exe", я получаю следующие результаты:

1) на ПК, который работает: ntполномочия \ system

2) другое: nt service \ mssql $ sqlexpress

...