VMware PowerCLI 6.5.1 のアンインストール
まとめ
- MSI パッケージではないので、アンインストールはコントロールパネルから行えない
- Uninstall-Module でアンインストール
- アンインストール対象のモジュールは RequiredModules プロパティを使って依存関係のあるモジュールを列挙
- 大雑把に対応するならばモジュールフォルダ内の当該フォルダを単純に削除
はじめに
VMware PowerCLI 6.5.1 から MSI インストーラーパッケージではなくなってしまったので、従来のようにコントロールパネルのプログラムのアンインストールから PowerCLI を削除することができません。インストール時のお作法に則って、アンインストールも同様のお作法に従います。
依存関係がインストール向け…Orz
Install-Module -Name VMware.PowerCLI で、関連モジュールが全てインストールされることから分かるように、VMware.PowerCLI がその他のモジュールを Require しています。VMware.PowerCLI.psd1 の中身を見るとよく分かります。
...snip...
# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @(
@{"ModuleName"="VMware.VimAutomation.Sdk";"ModuleVersion"="1.0.0.5334677"}
@{"ModuleName"="VMware.VimAutomation.Common";"ModuleVersion"="6.5.1.5335010"}
@{"ModuleName"="VMware.VimAutomation.Core";"ModuleVersion"="6.5.1.5374329"}
@{"ModuleName"="VMware.VimAutomation.Srm";"ModuleVersion"="6.5.1.5374694"}
@{"ModuleName"="VMware.VimAutomation.License";"ModuleVersion"="6.5.1.5375648"}
@{"ModuleName"="VMware.VimAutomation.Vds";"ModuleVersion"="6.5.1.5374428"}
@{"ModuleName"="VMware.VimAutomation.vROps";"ModuleVersion"="6.5.1.5375723"}
@{"ModuleName"="VMware.VimAutomation.Cis.Core";"ModuleVersion"="6.5.1.5374323"}
@{"ModuleName"="VMware.VimAutomation.HA";"ModuleVersion"="6.0.0.5314477"}
@{"ModuleName"="VMware.VimAutomation.HorizonView";"ModuleVersion"="7.1.0.5307191"}
@{"ModuleName"="VMware.VimAutomation.PCloud";"ModuleVersion"="6.5.1.5376282"}
@{"ModuleName"="VMware.VimAutomation.Cloud";"ModuleVersion"="6.5.1.5375799"}
@{"ModuleName"="VMware.DeployAutomation";"ModuleVersion"="6.5.1.5299608"}
@{"ModuleName"="VMware.ImageBuilder";"ModuleVersion"="6.5.1.5299608"}
@{"ModuleName"="VMware.VimAutomation.Storage";"ModuleVersion"="6.5.1.5374001"}
@{"ModuleName"="VMware.VimAutomation.StorageUtility";"ModuleVersion"="1.0"}
@{"ModuleName"="VMware.VumAutomation";"ModuleVersion"="6.5.1.5301639"}
)
...snip...
ということで、アンインストール時にはモジュールの依存関係に頼れません。Uninstall-Module -Name VMware.PowerCLI としても VMware.PowerCLI モジュールが消えるだけで、その他の VMware.* モジュールは残ったままとなります。逆依存を遡る都合の良いオプションはないため、スクリプトで対応します。具体的には以下のコマンドレットを実行します。
PS C:\Temp> (Get-Module VMware.PowerCLI -ListAvailable).RequiredModules | Uninstall-Module -Force
PS C:\Temp> Get-Module VMware.PowerCLI -ListAvailable | Uninstall-Module -Force
もっともこの辺のことはマニュアルに記載してあるので API Reference ばかり見ていないで User Guide もよく読みましょう。» 自分
もっとズボラに
モジュールのアンインストールはもっと簡単に行えます。PowerShell のモジュール フォルダから、VMware.* フォルダを全て削除してしまうのです。最もオペミスで遅効性の大惨事を招きかねないので、コマンドでしっかり管理したほうがよいでしょう。