スタッフブログ

Windows PowerShell ISEの紹介


こんにちは

田中と申します。

主にインフラ関連を担当しております。

今回は管理などに利用するツールについて紹介します。

Windows PowerShell ISE

AzureやOffice 365などPowerShellで管理を行う場合があります。

Azureの場合、以前と異なり、GUIである程度できることが増えていますが、

まだPowerShellでしかできないことや、繰り返し作業を行う場合などPowerShelで行った場合が便利です。

Office 365の場合、大量のユーザーの登録やExchangeへの登録などの場合は、PowerShellで行ったほうが確実に早く行うことが可能です。


起動方法

Windows 10であれば[Cortana 検索ボックス」に「PowerShell…」などと入力すると

検索候補に[Windows PowerShell ISE]と表示されるので、アイコンをクリックします。

 

または、ツールバーのPowerShellのアイコンを右クリックのジャンプリストに[Windows PowerShell ISE]が表示されるのでクリックします。

 

起動画面例(Windows 10)

以下のように起動します。

このままではPowerShellと同じ?というところで、[表示]-[スクリプトウィンドウの表示]をクリックします。

 

上部に[スクリプトウィンドウ]が表示されます。


使用例

スクリプトウィンドウでは、コマンドを途中まで入力すると、含まれるコマンド候補が表示されます。

※以下の例ではAzure PowerShellのコマンドが表示されています。

スクリプトウィンドウの使い方

以下のようにスクリプトウィンドウにコマンドやPowerShellの内容を記述します。

実行する際に、一部のコマンドを選択して、ツールバーの[選択項目の実行]ボタンをクリックすることで、一部の部分のみ実行できます。

例えば、以下のように、同様の設定を複数行う場合、以下のようにスクリプトウィンドウに記述しておいて、選択しながら順番に実行することが可能です。

_____________________________

#IP10

$pip = Get-AzureRmPublicIpAddress -Name ip2aa10pg01ip -ResourceGroupName pgmpnrgp01
$pip.DnsSettings = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSPublicIpAddressDnsSettings
$pip.DnsSettings.DomainNameLabel = “ip10testjp”
$pip.DnsSettings.ReverseFqdn = “ip10.example.jp.”
Set-AzureRmPublicIpAddress -PublicIpAddress $pip

 

#IP11

$pip = Get-AzureRmPublicIpAddress -Name ip2aa11pg01ip -ResourceGroupName pgmpnrgp01
$pip.DnsSettings = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSPublicIpAddressDnsSettings
$pip.DnsSettings.DomainNameLabel = “ip11testjp”
$pip.DnsSettings.ReverseFqdn = “ip11.example.jp.”
Set-AzureRmPublicIpAddress -PublicIpAddress $pip

_____________________________

実際に上記のような、複数のパブリックIPに対しての設定を、確認しながら実行していく場合、

指定するオブジェクトの変更を確認しながら行う必要があります。

その場合は1つ目を実行して確認して、内容をコピーして、指定するオブジェクトを変更しながら実行していくなどの場合は便利です。

また、PSファイルで保存しておくことで再利用も可能です。

※上記のスクリプトはリソースマネージャー環境での、パブリックIPへの逆引き設定をしている例となります。

PowerShellよりGUIでの操作部分など増えていたり、ブレークポイントなども指定できます。

上記のような短いPowerShellであればいいのですが、長いPowerShellを記述して実行する場合、細かいエラーなど修正する場合などISEは大変便利なツールです。

 

ちなみに

ちなみに、現在Azureの管理構造が変わったため、コマンド体系も2つの種類があります。

ASM: Azure Service Management

主に以下のクラシックポータルでの管理するものです。
https://manage.windowsazure.com/

ARM: Azure Resource Manager
主に以下のAzure Portalで管理するものです。リソースマネージャーやV2と呼ばれるものですね。

https://portal.azure.com/

現状はおそらく、ARMで作成することが多いですが、以前のASMで作成したオブジェクトへの操作などの場合は注意が必要です。

 

たとえばPowerShellでログインする場合、

Add-AzureAccount

はASMへのログインとなり、

Login-AzureRmAccount

は、ARMへのログインとなります。

※Add-AzureRmAccount はLogin-AzureRmAccountと同じようです。

おおむね、ASMコマンドのAzureXXXの部分が、AzureRmXXXとなっているようです。