SCVMM 2012をSP1 CTP3からSP1 Betaに上げた上でSCVMMのエージェントを配布しようとしたら、「SCVMMのサーポートされていないバージョンがインストールされている!」ということで怒られてしまいました。
仕方がないので、アンインストールしようと思うのですが、Server Coreでインストールしてあります。Server Coreでアプリケーションのアンインストールはどのようにできるのかを調べました。残念ながらGet-InstalledApplication, Remove-InstalledApplicationなんていうようなコマンドレットは存在していないようです。
WmiObjectを使ったアンインストール
仕方がないので、WmiObjectを使ってアンインストールをします。「Get-WmiObject –Class Win32_Product」でインストールされているアプリケーションが取得できます。
Get-Memberを見てみると「Uninstall」メソッドがあることがわかります。
Uninstallメソッドを呼ぶとアンインストールができました。
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)