Я пытаюсь создать экземпляр Shell.Application.1 удаленно, но выдает ошибку при получении фабрики COM-класса. DLL регистрируется, и если я вхожу в удаленную машину и создаю ее экземпляр локально (без IP-адреса), она работает. Po C код:
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("Shell.Application.1","192.168.0.11"))
Exception calling "CreateInstance" with "1" argument(s): "Retrieving the COM class factory for remote component with CLSID
{13709620-C279-11CE-A49E-444553540000} from machine 192.168.0.11 failed due to the following error: 80040154 192.168.0.11."
At line:1 char:1
+ $com = [activator]::CreateInstance([type]::GetTypeFromProgID("Shell.A ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : COMException
На 192.168.0.11:
PS C:\Windows\system32> $com = [activator]::CreateInstance([type]::GetTypeFromProgID("Shell.Application.1"))
PS C:\Windows\system32> $com | gm
TypeName: System.__ComObject#{286e6f1b-7113-4355-9562-96b7e9d64c54}
Name MemberType Definition
---- ---------- ----------
AddToRecent Method void AddToRecent (Variant, string)
BrowseForFolder Method Folder BrowseForFolder (int, string, int,
Я уже пытался перерегистрировать DLL, все равно я получаю ту же ошибку.