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