В доступе отказано.0x80070005 (E_ACCESSDENIED) при поиске COM-портов - PullRequest
0 голосов
/ 22 января 2019

Мы столкнулись с ситуацией, когда некоторые учетные записи пользователей на небольшом количестве компьютеров получают:

Доступ запрещен: 0x80070005 (E_ACCESSDENIED)

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

Public Shared Function ProcessConnectionOptions() As ConnectionOptions
    Dim options As New ConnectionOptions()
    options.Impersonation = ImpersonationLevel.Impersonate
    options.Authentication = AuthenticationLevel.[Default]
    options.EnablePrivileges = True
    Return options
End Function

OR

Public Shared Function ConnectionScope(ByVal machineName As String, ByVal options As ConnectionOptions, ByVal path As String) As ManagementScope
    Dim connectScope As New ManagementScope()

    connectScope.Path = New ManagementPath("\\" & machineName & path)
    connectScope.Options = options
    connectScope.Connect()
    Return connectScope
End Function

OR

Dim options As ConnectionOptions = ProcessConnection.ProcessConnectionOptions()
Dim connectionScope As ManagementScope = ProcessConnection.ConnectionScope(Environment.MachineName, options, "\root\CIMV2")

Dim objectQuery As New ObjectQuery("SELECT * FROM Win32_PnPEntity WHERE ConfigManagerErrorCode = 0")
Dim comPortSearcher As New ManagementObjectSearcher(connectionScope, objectQuery)

Есть ли какое-то конкретное разрешение, которое должна иметь конкретная учетная запись для доступа к COM-портам на ПК?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...