Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 запуск xp_cmdshell от имени администратора  [new]
ankaf
Member

Откуда:
Сообщений: 11
День добрый всем. Сломала всю голову, в отчаянии пишу сюда.

Что хочу сделать:
нужно запустить на удаленном компе батник на выполнение. В батнике прописан запуск 1с и вызов обработки.
удаленный комп под Win server 2008R2 enterprise. Назовем его RemoteComp

на локальном компе есть юзер mydomen\myUser
если руками запустить cmd "от имени администратора" и написать

PsExec \\RemoteComp c:\temp\myfile.bat
- все работает.


из SSMS не работает....
пробовала так:

execute as login = 'mydomen\myUser'
exec xp_cmdshell 'PsExec \\RemoteComp c:\temp\myfile.bat' 

- не работает

в сообщениях вываливается мессэйдж аналогичный тому, который вываливается при запуске PsExec без параметров.

если в батник написать примитивную команду копирования одного файла в другой - все работает.
Поэтому я грешу на то, что xp_cmdshell запускается от имени 'mydomen\myUser' но не "от имени администратора" в понятиях windows.

помогите советом, плиз.
4 сен 17, 10:02    [20768995]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
aleks222
Guest
whoami.exe
расскажет вам...
4 сен 17, 10:05    [20769004]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
ankaf
Member

Откуда:
Сообщений: 11
aleks222
whoami.exe
расскажет вам...


если я пишу
execute as login = 'mydomen\myUser'

это разве не заставляет запускать cmd от имени mydomen\myUser?
4 сен 17, 10:09    [20769015]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
aleks222
Guest
ankaf
aleks222
whoami.exe
расскажет вам...


если я пишу
execute as login = 'mydomen\myUser'

это разве не заставляет запускать cmd от имени mydomen\myUser?


Наивная, эдак я себя путиным назначу, а вы скушаете?

execute as login для ОСи НИЧЕГО не значит.
4 сен 17, 10:28    [20769078]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
ankaf,
положи там vbs, где будешь запускать батник от имени администратора, а в xp_cmdshell его вызывай

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "\\RemoteComp\temp\myfile.bat", "", "", "runas", 1
4 сен 17, 11:24    [20769219]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
ankaf
Member

Откуда:
Сообщений: 11
aleks222,
Хорошо. Признаю, что Путиным через login as прикинуться будет сложно.
Тогда вопрос такой:
на свойствах сервера ->Безопасность->....указываю серверную учетную запись-посредник = mydomen\myUser
перестартовала SQL.....
под юзером mydomen\myUser открываю новый запрос.
xp_cmdshell 'whoami.exe' 
все равно показывает учетку из под которой запущен sql-агент.
Что я не так сделала? Должна ли эта команда у меня при указанной учетке-посреднике показывать эту самую учетку-посредника?
Сталкиваюсь первый раз с этим.... придумала себе задачку, сделать хочется, бросить жалко, хотя обходной путь уже придуман.
4 сен 17, 11:25    [20769220]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
Konst_One
Member

Откуда:
Сообщений: 11517
sql-агент под своей учёткой стартует, вот пример как настраивать:

https://docs.microsoft.com/ru-ru/sql/ssms/agent/select-an-account-for-the-sql-server-agent-service
4 сен 17, 11:27    [20769225]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
aleks222
Guest
ankaf
aleks222,
Хорошо. Признаю, что Путиным через login as прикинуться будет сложно.
Тогда вопрос такой:
на свойствах сервера ->Безопасность->....указываю серверную учетную запись-посредник = mydomen\myUser
перестартовала SQL.....
под юзером mydomen\myUser открываю новый запрос.
xp_cmdshell 'whoami.exe' 
все равно показывает учетку из под которой запущен sql-агент.
Что я не так сделала? Должна ли эта команда у меня при указанной учетке-посреднике показывать эту самую учетку-посредника?
Сталкиваюсь первый раз с этим.... придумала себе задачку, сделать хочется, бросить жалко, хотя обходной путь уже придуман.


Вот тут ангельским по белому

http://sqlblog.com/blogs/tibor_karaszi/archive/2007/08/23/xp-cmdshell-and-permissions.aspx

If the SQL Server login who is executing xp_cmdshell is sysadmin, then SQL Server will use the service account
But if the login isn't sysadmin, then we need to configure what Windows account to be used (using sp_xp_cmdshell_proxy_account).
Note that this configuration is the same for all non-sysadmins!
4 сен 17, 11:39    [20769268]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
iii2
Member

Откуда:
Сообщений: 202
1. Создайте локального пользователя
2. Дайте ему административные права
3. Создайте кредишналз на основе этого пользователя
4. На основе него создайте прокси аккаутнт
5. Запускайте джоб от имени прокси аккаунта.

И не извращайтесь. Не надо.
4 сен 17, 12:56    [20769529]     Ответить | Цитировать Сообщить модератору
 Re: запуск xp_cmdshell от имени администратора  [new]
ankaf
Member

Откуда:
Сообщений: 11
Всем спасибо.
За ссылки и за участие.
Все по 100-му разу перечитала, осознала, в результате все получилось.
5 сен 17, 12:44    [20772398]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить