Создание экземпляра COM-компонента с CLSID - PullRequest
0 голосов
/ 05 декабря 2018

Я получаю следующую ошибку при запуске сценария.Требуется несколько циклов, прежде чем он начнет появляться.

New-Object : Creating an instance of the COM component with CLSID 
{0002DF01-0000-0000-C000-000000000046} from the IClassFactory failed due to the 
following error: 80004005 Unspecified error (Exception from HRESULT: 0x80004005 
(E_FAIL)).
At C:\Users\Script.ps1:210 
char:13
+       $ie = New-Object -Com "InternetExplorer.Application"
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [New-Object], COMException
    + FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand

1 Ответ

0 голосов
/ 06 декабря 2018

Если вы постоянно создаете новый объект Internet Explorer Com в цикле, не уничтожая его, когда закончите с ним, вы обязательно получите ошибку ResourceUnavailable в какой-то момент.

Поместите это вВаш код (цикл), когда вы закончили использовать объект для очистки его из памяти:

$ie.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($ie) | Out-Null
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...