Nutanix Advent Calendar 2016 の20日目の投稿です。
今回は、Microsoft の Visual Studio Code (VS Code)で、Nutanix Cmdlets を使ってみます。VS Code はすでにインストールずみで、バージョンは 1.8.1 を使用しています。
Visual Studio Code - Visual Studio
VS Code に 機能拡張: PowerShell のインストール
「機能拡張」ボタンのあたりで PowerShell を検索すると見つかるので、インストールしておきます。
PowerShell の Profile ファイル作成
VS Code の PowerShell 言語モードで、NutanixCmdlets の PSSnapIn を読み込むようにします。プロファイルは、下記のあたりに作成します。
PS C:\Users\gowatana> $PROFILE C:\Users\gowatana\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
デフォルトではプロファイルを格納するフォルダがないので、作成しておきます。
PS C:\Users\gowatana> $HOME C:\Users\gowatana PS C:\Users\gowatana> mkdir $HOME\Documents\WindowsPowerShell
NutanixCmdletsPSSnapin を読み込む「Microsoft.VSCode_profile.ps1」ファイルを作成します。
PS C:\Users\gowatana> echo "Add-PSSnapin NutanixCmdletsPSSnapin" >> $HOME\Documents\WindowsPowerShell\Microsoft.VSCode_profile.ps1 PS C:\Users\gowatana> cat $HOME\Documents\WindowsPowerShell\Microsoft.VSCode_profile.ps1 Add-PSSnapin NutanixCmdletsPSSnapin
VS Code の言語モードで PowerShell を選択
VS Code を起動しなおして、言語モードで PowerShell を選択します。
インテリセンスで NTNX 系のコマンドレットが補完されるようになります。
オプションの候補も表示されるようになります。
デバッグ実行
デバッグ実行の構成を保存するファイルを作成します。
これは、最初にデバッグ実行するあたりで、自動生成することができます。
(そのときの画面ではないですが、下記のあたりです。)
今回は、スクリプトで Connect-NutanixCluster で Nutanix クラスタ(クラスタ VIP は 192.168.1.190)に接続してみます。
デバッグ 画面の「構成の追加」ボタンで、「PowerShell: Launch Current File Configuration」あたりを選択すると launch.json のテンプレートが表示されるので、引数(args)あたりを編集します。
launch.json (下記は、デフォルトから args だけ編集してあります。)
{ "version": "0.2.0", "configurations": [ { "type": "PowerShell", "request": "launch", "name": "PowerShell Launch (current file)", "script": "${file}", "args": ["192.168.1.190","admin","パスワード"], "cwd": "${file}" } ] }
実行する Nutanix Cmdlets の PowerShell スクリプトです。
Add-PSSnapin NutanixCmdletsPSSnapin $prism_addr = $args[0] $prism_user = $args[1] $prism_pass = ConvertTo-SecureString $args[2] -AsPlainText -Force $prism = Connect-NutanixCluster -Server $prism_addr -UserName $prism_user -Password $prism_pass -AcceptInvalidSSLCerts -ForcedConnection Get-NTNXCluster Disconnect-NutanixCluster $prism
「デバッグの開始」を実行すると、オプションを読み込んで、クラスタに接続して情報取得できました。
以上。