Где я могу найти все COM-объекты, которые можно создать в Powershell? - PullRequest
35 голосов
/ 19 марта 2009

В Powershell я могу создавать COM-объекты, которые можно использовать, например, для управления приложениями Microsoft Office:

$excel = New-Object -com "Excel.Application"
$excel.visible = $true

Как я могу перечислить все доступные COM-объекты, которые могут быть созданы в Powershell?

Ответы [ 3 ]

56 голосов
/ 19 марта 2009

Я нашел этот однострочный скрипт powershell, который предположительно перечисляет все COM-объекты.

gci HKLM:\Software\Classes -ea 0| ? {$_.PSChildName -match '^\w+\.\w+$' -and
(gp "$($_.PSPath)\CLSID" -ea 0)} | ft PSChildName

дайте нам знать, если это работает!

7 голосов
/ 19 марта 2009

Используйте OleView.exe от Microsoft. Я думаю, что это может прийти с Visual Studio. Если нет, вы можете найти его в Windows SDK . Это большая загрузка; Вы можете загрузить все это или поэкспериментировать с его загрузкой по частям, используя установщик setup.exe.

Оказавшись в OleView, загляните в «библиотеки типов». Например, Excel отображается под «Microsoft Exel».

3 голосов
/ 25 марта 2009

Другой вариант, который следует отметить, - через WMI:

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