Приложение сразу вылетает при запуске с компьютера домена, когда компьютер выходит из домена, оно работает нормально

Наша компания разработала новое приложение для Windows, предназначенное для подключения к базе данных SQL. Когда приложение запускается вне среды домена, оно работает отлично. Когда компьютер, на котором он запущен, присоединяется к домену, приложение сразу вылетает.

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

Вот ошибки:

Журнал приложений

Faulting application name: WcBc.UWP.exe, version: 1.0.0.0, time stamp: 0x5e1b7efb
Faulting module name: ntdll.dll, version: 10.0.18362.418, time stamp: 0x99ca0526
Exception code: 0xc0000005
Fault offset: 0x000000000001792d
Faulting process id: 0x5e2c
Faulting application start time: 0x01d5cd738a0fa05b
Faulting application path: C:\Program Files\WindowsApps\WcBc_6.0.3.0_x64__x092f3jx59vf4\WcBc.UWP.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: fc0e2bd5-9704-4ad2-b601-b61c8bfd53a7
Faulting package full name: WcBc_6.0.3.0_x64__x092f3jx59vf4
Faulting package-relative application ID: App

Журнал безопасности

The Windows Filtering Platform has blocked a packet.

Application Information:
               Process ID:                           24108
               Application Name:              \device\harddiskvolume3\program files\windowsapps\wcbc_6.0.3.0_x64__x092f3jx59vf4\wcbc.uwp.exe

Network Information:
               Direction:                             Outbound
               Source Address:                   10.80.243.64
               Source Port:                         58988
               Destination Address:           10.101.10.18
               Destination Port:                 4118
               Protocol:               6

Filter Information:
               Filter Run-Time ID:              71531
               Layer Name:                         Connect
               Layer Run-Time ID:              48
0
задан 21 January 2020 в 16:19
2 ответа

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

Если да, то я бы сказал, что приложение разработано неправильно, поскольку пользователи обычно не могут писать в Program Files, но могут в ProgramData, где должны быть сохранены любые данные, созданные приложением.

Если нет, предоставьте им доступ в вашу среду, чтобы они могли протестировать его в вашей среде и отладить или попросить их записать подробный журнал в файл, который поможет с анализом.

PS, если можете, настройте быстрый домен с SQL-сервером и протестируйте его по умолчанию Окружающая среда. Если он там работает, то это групповая политика, поэтому работайте в обратном направлении, добавляя одно за другим, пока не найдете, где он ломается.

0
ответ дан 22 January 2020 в 18:53

Поскольку вы работаете в области обратного проектирования, похоже, вы можете определить фильтр, используя идентификатор времени выполнения фильтра.

Из документации [здесь] [1] вы сможете определить уровень блокировки с помощью netsh wfp показать фильтры и найти 71531 идентификатор времени выполнения фильтра (идентификатор времени выполнения фильтра: 71531

идентификатор времени выполнения фильтра [Type = UInt64]: уникальный идентификатор фильтра, который заблокировал пакет.

Чтобы найти конкретный фильтр платформы фильтрации Windows по идентификатору, вам необходимо выполните следующую команду: netsh wfp show filters. Как результат эта команда будет сгенерирована в файле filters.xml. Вам нужно открыть это file и найдите конкретную подстроку с требуемым идентификатором фильтра ()

. Это должно дать вам место для начала. Помимо GPO, есть некоторые другие элементы, которые могут иметь смысл для устранения неполадок:

Kerberos и аутентификация: SQL-сервер тоже находится в домене? используется имя DNS или IP? Учетная запись SQL или учетная запись домена? Разница во времени больше 5 минут? ( https://web.mit.edu/Kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/Clock-Skew.html )

Брандмауэр принимающей стороны: Вы подключаетесь к другой подсети, возможно ли, что существует проблема с брандмауэром / маршрутом, которую необходимо настроить?

удачи!

0
ответ дан 28 January 2020 в 17:35

Теги

Похожие вопросы