Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.05.2018, 12:12
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Нашел тут на сайте VBStreets код, который позволяет определить, является ли админом пользователь, вошедший в систему Код можно посмотреть здесь Что интересно. В Access 2003 код великолепно работает, а в 2010 вылетает. Без всяких сообщений об ошибках (в операторах). Просто идёт на перезагрузку Access и предлагает послать сообщение в Microsoft. Windows 7 - 32 bit и Windows Server 2008 R2. Access 2010 - 32 bit 14.0.4750.1000 Access 2003 11.8321.8405 SP3 ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.05.2018, 14:06
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Да, действительно падает и 2010 и 2016. Падает на функции FreeSidю Если закомментить, то работает, но память не освобождается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.05.2018, 15:57
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Проверил сейчас ещё на версии 2007. Такой же вылет на функции FreeSid. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.05.2018, 16:32
|
|||
---|---|---|---|
|
|||
Определение админских привилегий пользователя в системе |
|||
#18+
C:\Windows\System32 VS C:\Windows\SysWOW64(или где там у вас вторая библиотека) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.05.2018, 16:39
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Лично у меня Windows 7 (32 bit). На одной и той же машине, в одной и той же ОС программа под Access 2003 отрабатывает нормально, Под Access 2010 вылетает. (правда Access 2003 portable) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.05.2018, 16:50
|
|||
---|---|---|---|
|
|||
Определение админских привилегий пользователя в системе |
|||
#18+
JossЛично у меня Windows 7 (32 bit). На одной и той же машине, в одной и той же ОС программа под Access 2003 отрабатывает нормально, Под Access 2010 вылетает. (правда Access 2003 portable)так нужно понять откуда дёргает dll'ку Access 2010 и откуда дёргает Access 2003. В каких местах у вас библиотека? У меня на компе, например, аж в 4-х местах dll'ка... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.05.2018, 08:39
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Ну что сказать? Поскольку у меня система 32-х битная, то DLL содержится только в одном месте - c:\Windows\System32\advapi32.dll Её версия 6.1.7601.23807 от 30.06.2017 В архиве хранятся ещё 8 версий. В каталогах c:\Windows\winsxs\x86_microsoft-windows-advapi32_... начиная от 6.1.7601.17514 от 20.11.2010 Вряд ли 2003 шарится по архивам. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.05.2018, 09:50
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Продолжаю разбираться с программой. Попробовал адаптировать её под VBA7. Поправил Вызовы функций. Оказалось что VBA6 Код: vbnet 1. 2. 3. 4.
VBA7 Код: vbnet 1. 2. 3. 4.
И как с этим бороться? Проверялось на Access 2010 32 бит под Windows 7 32 бит Менял только вызовы функций AP{ - больше ничего не менял. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.05.2018, 15:51
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Вот максимально упрощенная программа. Работает и функции FreeSidю ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.05.2018, 15:55
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
А если отключить функции FreeSidю, то заработает и в VBA7. Вечером проверю на 64 битном варианте Access. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.05.2018, 11:37
|
|||
---|---|---|---|
Определение админских привилегий пользователя в системе |
|||
#18+
Проверил под Access 64-bit - работает. Продолжил копать дальше. Вот здесь наткнулся на упоминание функции IsUserAnAdmin из библиотеки Shell32 . MSDN говорит следующее Эта функция является оберткой для CheckTokenMembership . Рекомендуется вызвать эту функцию напрямую, чтобы определить статус группы администратора, а не вызвать IsUserAnAdmin . Определение функции Код: vbnet 1.
В интернете я встречал и вот такой вызов Код: vbnet 1.
Проверено для Windows 7 и Windows Server 2008 R2 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&tablet=1&tid=1611432]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 155ms |
0 / 0 |