У меня есть HTA-файл, который просто зависает при переходе через записи группы из запроса LDAP.Контур объекта LDAP Group
Set objUser = GetObject("LDAP://" & strUserDN)
For Each objGroup In objUser.Groups
If "wifi user" = lcase(replace(objGroup.Name,"CN=","")) Then
'modify my dom element here....
End If
If "encryption enabled" = lcase(replace(objGroup.Name,"CN=","")) Then
'modify my dom element here....
End If
If "dl - some office" = lcase(replace(objGroup.Name,"CN=","")) Then
'modify my dom element here....
End If
Next
Есть ли более эффективный способ для перебора этих групп, 80+ целый ряд групп его циклами и вызывающих проблемы.
Или, может быть, я пытаюсь вывести весь список в строку и выполнить запрос InStr
?
извините, страшный пример, мой фактический код - все в нижнем регистре. поздно ночью blur ... Спасибо, что поймали, и я отредактирую свою публикацию. – ssaviers
Вы определили, в какой момент код висит, вызов 'GetObject' или где-то внутри цикла? Если код висит внутри цикла: где именно. Если вы не изолировали проблемный оператор, попробуйте добавить операторы MsgBox (или инструкции, записывающие в файл журнала) после каждой операции. –
, когда я говорю «зависание», я полагаю, что его просто повесить на приложение HTA. если я запустил свой запрос с куском выше, где он зацикливает объект «Группы», он запускается в среднем за 2 секунды, что просто обращается к свойствам непосредственного пользователя. Когда я добавляю цикл группы, он работает в среднем через 10 секунд, независимо от того, что у меня есть какая-либо обработка для каждой записи в цикле. Я еще не нашел, что такое магическое число для HTA, чтобы перейти в это не отвечающее состояние, когда процесс занимает больше времени, чем обычно, чтобы отчитываться, но если бы я мог получить этот запрос через 5 секунд, я думаю, что я был бы в хорошей форме , – ssaviers