ところが、PowerShellでは角括弧[]は正規表現で使用されるため、ファイル名や仮想マシン名で角括弧が使用されている時はそれをエスケープする必要があります。
ファイル名やフォルダ名を検索するGet-ChildItemでは-LiteralPathスイッチパラメータを使って逃げることができます。
PS C:\temp> Get-ChildItem -LiteralPath [test].txt ディレクトリ: C:\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2013/06/30 22:31 0 [test].txt
ところが、Hyper-Vの仮想マシンを取得するGet-VMだと-LiteralPathスイッチはありません。
この場合`(アクサングラーブ、シフトを押しながら@)を2つ重ねてダブルクオーテーションで囲む必要があります。
PS C:\temp> Get-VM "``[Project1``]Win8" Name State CPUUsage(%) MemoryAssigned(M) Uptime Status ---- ----- ----------- ----------------- ------ ------ [Project1]Win8 Off 0 0 00:00:00 正常稼働中
正直面倒くさいので仮想マシン名は角括弧は使わないほうがいいでしょう。