web-dev-qa-db-ja.com

Powershellで作成できるすべてのCOMオブジェクトはどこにありますか?

Powershellでは、たとえばMicrosoft Officeアプリケーションの制御に使用できるCOMオブジェクトを作成できます。

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

Powershellで作成できるすべての利用可能なCOMオブジェクトを一覧表示するにはどうすればよいですか?

39
John Channing

すべてのCOMオブジェクトをリストしていると思われるこのPowerShellワンライナースクリプトを見つけました。

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

動作するかどうかをお知らせください!

62
Jeff Atwood

MicrosoftのOleView.exeを使用します。 Visual Studioに付属していると思います。そうでない場合は、 Windows SDK で確認できます。これは大きなダウンロードです。すべてをダウンロードするか、setup.exeインストーラーを使用して少しずつダウンロードして試すことができます。

OleViewに入ったら、「タイプライブラリ」を確認します。たとえばExcelが「Microsoft Exel」の下に表示されます。

6
dan-gph

注意すべきもう1つのオプションは、WMIによるものです。

Get-WMIObject Win32_ClassicCOMClassSetting
5
JasonMArcher