PowerShell: VMware PowerCLI – jak sprawdzić która maszyna blokuje ISO?

Przy próbie pobrania ISO z datastore z poziomu przeglądarki web pojawia się komunikat:

HTTP ERROR 500

Szybkie googlowanie tego problemu podpowiedziało że jedna lub kilka z maszyn wirtualnych musi mieć podmontowany ten plik i dlatego nie mogę go pobrać. Pytanie tylko która to z tych moich 200 maszyn trzyma plik ISO? Ręczne przeklikanie nie wchodzi w grę, dlatego sięgamy po VMware PowerCLI

Skrypt nie jest zbyt rozbudowany, do jego poprawnego użycia musimy znać dokładną nazwę pliku ISO:

Connect-VIServer -Server vcenter.sprawdzone.it

Get-VM | Get-CDDrive |

where{$_.IsoPath -match 'SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-3_MLF_X19-53588.ISO'} |

Select @{N='VM';E={$_.Parent.Name}},Name,IsoPath

Po wywołaniu powyższego polecenia otrzymujemy jasna informacje jakie maszyny maja zamontowany plik ISO: