ad1

2018年3月30日金曜日

PowerCLI と Hyper-v の PowerShell コマンドの競合回避

PowerCLIとHyper-v用のコマンドレットには同じ名称のものがいくつかあり、競合すると正しくスクリプトが動かないことが多々あります。

※VMTNにも過去いくつか質問が上がっているので、以下も参考になります。
Issue running Powercli script in Powershell ISE
Disable (Hyper-V) PowerShell Modules

最近、作業用のWindows ServerでDNS・AD・DHCPのコンソールを「管理ツール」として機能追加しようとデフォルト設定のまま次へ次へを進めたところ、Hyper-v用のPowerShellモジュールがセットで入ってしまい、PowerCLIと競合して使えなくなってしまったので覚書として記録しておきます。

デフォルト設定のまま機能追加をしようとすると、以下のキャプチャのようにHyper-v用のPowerShellモジュールにチェックが入ってます。



手っ取り早くPowerCLIを正常に利用するためには、再度このHyper-v用のPowerShellモジュールのチェックを外してしまうことです。

Hyper-vモジュールが追加されているとGet-VMもVmware用とHyper-v用が見えます。


PS C:\> Get-Command -Name get-VM*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Get-VMCheckpoint                                   2.0.0.0    Hyper-V
Cmdlet          Get-VM                                             10.0.0.... VMware.VimAutomation.Core
Cmdlet          Get-VM                                             2.0.0.0    Hyper-V
Cmdlet          Get-VMAssignableDevice                             2.0.0.0    Hyper-V
Cmdlet          Get-VMBios                                         2.0.0.0    Hyper-V
Cmdlet          Get-VMComPort                                      2.0.0.0    Hyper-V
Cmdlet          Get-VMConnectAccess                                2.0.0.0    Hyper-V
Cmdlet          Get-VmcService                                     10.0.0.... VMware.VimAutomation.Vmc


「役割と機能の管理」からHyper-vモジュールを削除すれば正常に戻ります。

PS C:\> Get-Command -Name get-VM*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-VM                                             10.0.0.... VMware.VimAutomation.Core
Cmdlet          Get-VmcService                                     10.0.0.... VMware.VimAutomation.Vmc
Cmdlet          Get-VMGuest                                        10.0.0.... VMware.VimAutomation.Core
Cmdlet          Get-VMHost                                         10.0.0.... VMware.VimAutomation.Core
Cmdlet          Get-VMHostAccount                                  10.0.0.... VMware.VimAutomation.Core

0 件のコメント:

コメントを投稿

過去30日でアクセスの多い投稿