PowerCLI 6.5以降でAdd-PSSnapinが使えなくなった場合の対処法

PowerCLIを5.xから6.5以降にアップグレードすると,これまで動いていたPowerShellスクリプトが動かなくなるということがあります。

その場合,PowerShellで以下のようなエラーログが出力されると思います。

The Windows PowerShell snap-in 'VMware.VimAutomation.Core' is not installed on this computer.

The Windows PowerShell snap-in ‘VMware.VimAutomation.Core’ is not installed on this computer.


Add-PSSnapin : The Windows PowerShell snap-in 'VMware.VimAutomation.Core' is not installed on this computer.
At line:1 char:1
+ add-pssnapin VMware.VimAutomation.Core
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (VMware.VimAutomation.Core:String) [Add-PSSnapin], PSArgumentException
    + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

これは,PowerCLI 6.5以降で,Add-PSSnapinというコマンドが完全に廃止されたことによるエラーです。

では,どうすればよいのでしょうか。
続きを読む

Import-Moduleで複数のモジュールを一度に読み込む方法

PowerShellのスクリプトを書く際に,Import-Moduleコマンドで必要なモジュールを読み込ませると思います。

しかし,複数のモジュールを読み込まなければならない場合には,どのように記述できるでしょうか。

もしかすると,Import-Moduleコマンドを1行ずつ,以下のように記述しているかもしれません。

Import-Module ActiveDirectory
Import-Module BitsTransfer
Import-Module Hyper-V
Import-Moduleを複数行で書く方法

Import-Moduleを複数行で書く方法


実は,PowerShellのImport-Moduleコマンドには,配列として複数の要素を読み込ませることが可能です。
続きを読む

最も近いドメインコントローラーを調べる方法

複数のドメインコントローラーを配置しているドメインの場合,どのドメインコントローラーが最も近い場所にあると認識されているのか,確認したい場合があります。

そのような時には,以下のようなPowershellコマンドで調べることが可能です。

Import-Module ActiveDirectory
Get-ADDomainController –DomainName domain-name.co.jp -Discover -NextClosestSite


Import-Module ActiveDirectoryでエラーが出る場合には,機能の追加ウィザードで「AD DS および AD LDS ツール」をインストールする必要があります。

こうして,最も近い場所にあると認識されているドメインコントローラを調べることができました。