OLE DB プロバイダー 登録解除(削除)

・対象のCLSIDを調べる

(New-Object data.oledb.oledbenumerator).getElements() | Where-Object{$_.sources_description -match “ole\s?db”} | Format-List sources_name, sources_description, sources_clsid
にて確認できる。

※32bitを確認したい場合、
%systemroot%\syswow64\windowspowershell\v1.0\powershell.exe
のPowerShellを起動する。

※CLSIDは
dee35070-506b-11cf-b1aa-00aa00b8de95
のような感じになる。

※.UDLの空ファイルを作成し、クリックでもOLE DBは確認できる。CLSIDは調べられないが、接続テストも可能。

・レジストリのキー削除

レジストリエディターを起動(regedit)
HKEY_LOCAL_MACHINE
以下でCLSIDを検索する。

HKEY_LOCAL_MACHINE\[WOW6432Node]\CLSID\xxx
見つかった該当のキーを削除する。※32bitの場合WOW6432Node

そのままでは削除できないため、
右クリック>アクセス許可>詳細設定
所有者を自分に変更。
右クリック>アクセス許可>追加
自分を追加しフルコントロールへ。

サブキーそれぞれ実施が必要。

これで削除完了。

***

・OLE DBの実体(dllファイル)のパスを調べる場合

HKEY_LOCAL_MACHINE\[WOW6432Node]\CLSID\xxx\InprocServer32
以下にdllのパスが入っている。

COMコンポーネント一覧、登録解除

・COM一覧
Get-WmiObject Win32_ClassicCOMClassSetting
Get-WmiObject Win32_ClassicCOMClass

・DCOM一覧
Get-WmiObject Win32_DCOMApplication

・登録解除
regsvr32 /u “C:\Windows\SysWOW64\xxx.dll”
※32bitの場合
C:\Windows\SysWOW64\regsvr32 /u “C:\Windows\SysWOW64\xxx.dll”