SCVMM 2012をSP1 CTP3からSP1 Betaに上げた上でSCVMMのエージェントを配布しようとしたら、「SCVMMのサーポートされていないバージョンがインストールされている!」ということで怒られてしまいました。

image

仕方がないので、アンインストールしようと思うのですが、Server Coreでインストールしてあります。Server Coreでアプリケーションのアンインストールはどのようにできるのかを調べました。残念ながらGet-InstalledApplication, Remove-InstalledApplicationなんていうようなコマンドレットは存在していないようです。

WmiObjectを使ったアンインストール

仕方がないので、WmiObjectを使ってアンインストールをします。「Get-WmiObject –Class Win32_Product」でインストールされているアプリケーションが取得できます。

image

Get-Memberを見てみると「Uninstall」メソッドがあることがわかります。

image

Uninstallメソッドを呼ぶとアンインストールができました。

image

 

1行でやるなら以下のような感じで。

Get-WmiObject -Class Win32_Product | Where-Object {$.Name -eq “Microsoft System Center Virtual Machine Manager Agent (x64)”} | ForEach-Object { $.Uninstall()}

参考

- [How can I uninstall an application using PowerShell? - Stack Overflow](http://stackoverflow.com/questions/113542/how-can-i-uninstall-an-application-using-powershell)