前のようにWScript.Shellを使って
> $shell = New-Object -ComObject WScript.Shell
> $Shell.Application.NameSpace(17).ParseName('D:\').InvokeVerb("取り出し(&J)")
っとやろうとしたけどShellの下にApplication.NameSpaceってのがないらしく呼び出せなかった。
そこで調べてみるとWMPlayerの機能を呼び出しても取り出しができそうだったので、そっちでやってみた。
> $wmp = New-Object -ComObject WMPlayer.OCX.7
> $wmp.cdromCollection.Item(0).Eject()
自分の場合はドライブが1つしかないので試せないけど、複数ドライブなら”Item(0)”の部分を変えればいけると思う。