powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms. Impersonate + Excel
6 сообщений из 6, страница 1 из 1
WinForms. Impersonate + Excel
    #39907545
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Потребность: открыть Excel из под другой учетной записи.
Делаем LogonUser с последующим Impersonate
WindowsIdentity.GetCurrent().Name - возвращает имперсонированую учетную запись
но
Код: c#
1.
2.
using Excel = Microsoft.Office.Interop.Excel;
var excel = new Excel.Application();


создает процесс из под учетной записи того кто запустил приложение, а не имперсонированной
Есть ли какая возможность открыть офисное приложение из под другой учетной записи?
...
Рейтинг: 0 / 0
WinForms. Impersonate + Excel
    #39907581
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У процесса экселя, активированного через интероп, родительский процесс вовсе не от вашей программы, а от svchost.exe, у которого родитель services.exe. И они сами управляют правами и имперсонализацией. Теоретически можно попробовать получить primary token нужной учётки, дальше запустить непосредственно экзешник экселя через пинвок CreateProcessAsUser, потом подключиться к существующему экземпляру com-сервера экселя. Как последнее получится на практике - не знаю, не пробовал.
...
Рейтинг: 0 / 0
WinForms. Impersonate + Excel
    #39907587
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

если просто через RunAs запустить не подхватит?
...
Рейтинг: 0 / 0
WinForms. Impersonate + Excel
    #39907589
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо конечно, но интеропы использовать в сервисе, это плохая идея.
если надо документ формировать, есть ODF и куча надстроек
...
Рейтинг: 0 / 0
WinForms. Impersonate + Excel
    #39907596
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
Сон Веры Павловны,

если просто через RunAs запустить не подхватит?

Он же (runas) в консоли требует ввести пароль, а параметра ком. строки для задания пароля у него нет. Люди этот момент частенько в интернетах обсуждают: https://www.google.com/search?q=bat runas with password
...
Рейтинг: 0 / 0
WinForms. Impersonate + Excel
    #39907622
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение WinForms т.е. с UI
Учетка и пароль будут вхардкожены в код - допущение норм

Попробовали
Код: c#
1.
var p = Process.Start(@"c:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE", @"d:\MyBook.xlsx", "TestUser", pass, "OurDomain");


Процесс запускается, видно в диспетчере, но завершается через секунду.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms. Impersonate + Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]