2009-03-18 22 views

cevap

45

Tüm COM nesnelerini içerdiği iddia edilen bu powershell one-liner komut dosyasını buldum.

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

Çalışırsa bize bildirin!

+1

Ben tüm kayıtlı COM nesneleri listelemek yapar teyit edebiliriz. COM arayüzünü doğru şekilde uygulayıp uygulamadıkları tamamen farklı bir konudur. :) – EBGreen

+3

* İki sent'im: * 'HKLM \ Software \ Classes'Istatistiksel olarak 'HKCR'ye karşılık gelen – ZJR

+1

Ve iki sent'im:' ft PSChildName 'değerine pipetlemek yerine,' -ExpandProperty PSChildName 'öğesini seçin. Bu, sonuçları ** - match ** veya ** Select-String ** ile filtrelenebilecek bir dizi olarak döndürür. –

6

Microsoft'tan OleView.exe'yi kullanın. Visual Studio ile gelebilir düşünüyorum. Değilse, Windows SDK'da bulabilirsiniz. Bu büyük bir indirme; Her şeyi indirebilir veya setup.exe yükleyicisini kullanarak parça parça indirmeyi deneyebilirsiniz. OleView'de bir kere "kitaplık türü" altına bakın. Excel örneğin "Microsoft Exel" altında görünür. unutulmamalıdır

3

Başka bir seçenek WMI geçer:

Get-WMIObject Win32_ClassicCOMClassSetting 
+0

Bunu çalıştırmak sonsuz bir döngü oluşturdu – CoderDennis

+3

Döngü olmadığından sonsuz bir döngü olmayabilir. Çalıştırmak için uzun zaman alacak çünkü MANY COM bileşenleri var. – JasonMArcher

+0

Aradığım ActiveX denetimini listelemiyor. Bu, https://gist.github.com/810398 –

İlgili konular