【Azure】Azure PowerShellをインストールする

Azure

【Azure】Azure PowerShellをインストールする

2018年4月27日

こんにちは!SE ブログの相馬です。

 

 

 

今回は、Azure 用の PowerShell があるという事を知り調べてみました。

 

 

Azure には 2 種類の PowerShell があり概要について纏めてみました。

 

 

また、Azure Cloud Shell と Azure PowerShell のインストール方法や使い方について書いてみましたので、参考になれば幸いです。

 

 

 

Azure PowerShell とは何か

 

 

Microsoft のサイトに分かり易い内容が書いてありましたので引用させていただきました。

 

Azure PowerShell は、コマンド ラインから Azure リソースを管理したり、Azure Resource Manager を操作対象とする自動化スクリプトを作成したりできるように設計されています。

 

引用元:Azure PowerShell を使ってみる | Microsoft Azure

 

 

端末からリモートで Azure に接続して、リソースをデプロイ・管理する事ができるという内容で、端末から使用するには Azure PowerShell をインストールする必要があります。

 

 

 

Azure PowerShell の種類

 

 

上にも書きましたが、Azure 用の PowerShell は 2 種類あります。

 

  • Azure ポータルから実行できるのが、Azure Cloud Shell になります。
  • Windows 環境から実行できるのが、Azure PowerShell になります。

 

 

マイクロソフトのドキュメントがありますので、詳細はこちらを参照していただくと良いでしょう。

 

Azure PowerShell を使ってみる

https://docs.microsoft.com/ja-jp/powershell/azure/get-started-azureps?view=azurermps-5.7.0

 

 

先に Azure Cloud Shell から説明します。

 

 

 

Azure Cloud Shell

 

 

上記のように Azure ポータルから実行でき、インストール不要で簡単な方法です。使用方法は以下のとおりです。但し、料金がかかるところに注意が必要です。

 

 

使用方法

 

 

1. Azure ポータルウィンドウ右上に >_ が表示されているので、それをクリックします。

 

 

 

2. Azure ポータルウィンドウ下に、以下の表示がでますので、PowerShell (Windows) をクリックします。

 

 

 

3. 使用するにはサブスクリプションが必要になります。使うサブスクリプションを選択して [ストレージの作成] をクリックします。

 

 

 

 

なお、料金についてはマイクロソフトに説明があります。

 

Cloud Shell の価格 | Microsoft Azure

 

 

4. ストレージの作成が完了しますと、PowerShell が表示されます。これで使用できるようになりました。

 

 

 

 

Azure Power Shell

 

 

Windows 環境に インストールして使う方法になります。Windows 環境と書いてありますが、MacOS や Linux でもインストールして使えるようです。

 

 

 

インストール方法

 

 

注意:PowerShell を管理者として起動します。

 

1. まずは、PowerShellGet のバージョンを確認します。

 

 

確認する方法として、Get-Module コマンドレットを使い、PowerShell のモジュールのバージョンをコンソールに出力します。

 

 

また、パイプラインを使って PowerShellGet の Name、Version や Path をリストで出力します。

 

 

実行結果で返ってきたバージョンが 1.1.2.0 より下のバージョンであれば、新しいバージョンをインストールします。

 

  • PowerShell 1.1.2.0 か、それより上のバージョン:インストールは必要ありません。
  • PowerShell 1.1.2.0 より下のバージョン:インストールする必要があります。

 

 

バージョン確認方法は以下になります。

 

Get-Module -Name PowerShellGet -ListAvailable | Select-Object -Property Name,Version,Path


# 実行結果

Name Version Path
---- ------- ----
PowerShellGet 1.0.0.1 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1

 

 

 

2. 実行結果、PowerShellGet バージョン が 10.0.0.1 ですので更新が必要です。

※上での確認結果、バージョンが PowerShell 1.1.2.0 以上であれば 4 から見てください。

 

 

新しい PowerShellGet をインストールするには、Install-Module コマンドレットを使用します。

 

Install-Module PowerShellGet -Force


# 実行結果
インストールのプログレスバーが表示され、完了後に消えます。

 

 

3. 新しいバージョンの PowerShellGet がインストールされたか確認します。

 

Get-Module -Name PowerShellGet -ListAvailable | Select-Object -Property Name,Version,Path


# 実行結果
Name Version Path
---- ------- ----
PowerShellGet 1.6.0 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.6.0\PowerShellGet.psd1
PowerShellGet 1.0.0.1 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1

 

 

 

4. Azure PowerShellGet をインストールした後に、PowerShell の実行ポリシーを確認します。

 

PowerShell の実行ポリシーについての記事はこちらになります。

 

https://soma-engineering.com/coding/powershell/change-executinpolicy-powershell/2018/04/27/

 

 

 

Azure PowerShell でコマンドレットを実行するには、実行ポリシーが RemoteSigned かまたはそれより低いレベルのポリシーになっている必要があります。

 

 

ここでは、セキュリティーの事を考慮し RemoteSigned に変更します。

 

 

実行ポリシーのレベルを確認するには、Get-ExecutionPolicy コマンドレットを使います。

 

Get-ExecutionPolicy


# 実行結果
RemoteSigned

 

 

上の実行結果が、Restricted になっている場合は実行ポリシーを RemoteSigned より低いレベルに変更します。(RemoteSignedをおすすめします。)

 

 

実行ポリシーのレベルを変更するには、Set-ExecutionPolicy コマンドレットを使います。

 

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned


# 実行結果

実行する為の確認がコンソールに出力しましたら、Yes (y) を入力して Enter キーを押します。

 

 

5. AzureRM モジュールをインストールします。

 

 

既定では、PowerShell ギャラリーは PowerShellGet の信頼できるリポジトリとして構成されていません。

 

 

PSGallery の初回使用時には、次のプロンプトが表示されますので、Y を入力して Enter キーを押します。

 

 

AzureRM モジュールをインストールするには、Install-Module コマンドレットを使います。

 

Install-Module -Name AzureRM -AllowClobber

 

 

 

6. AzureRM モジュールのバージョンを確認します。

 

 

バージョンを確認するには、Get-Module コマンドレットを使い、AzureRM モジュールのバージョンをコンソールに出力します。

 

また、パイプラインを使って PowerShellGet の Name、Version や Path をリストで出力します。

 

Get-Module -Name AzureRM -ListAvailable | Select-Object -Property Name, Version, Path


# 実行結果

Name Version Path
---- ------- ----
AzureRM 5.7.0 C:\Program Files\WindowsPowerShell\Modules\AzureRM\5.7.0\AzureRM.psd1

 

 

7. AzureRM モジュールを読み込んで PowerShell セッションに読み込みます。

 

 

※これは通常の (管理者特権ではないユーザー) PowerShell セッションで実行する必要があります。

 

 

PowerShell を管理者として起動しないで、ユーザーで起動します。

 

 

Import-Module コマンドレットを使い、-Name スイッチで AzureRM を指定し、アクティブセッションにモジュールをインポートします。

 

 

インポート完了後に、モジュールによる管理タスクが実行できるようになります。

 

Import-Module -Name AzureRM


# 実行結果

何も結果が出力されていなければ完了とみなすようです。

 

 

 

まとめ

 

 

以上になります。いかがでしょうか。

 

 

Azure ポータルから Azure Cloud Shell を使うのも良いですが、Azure PowerShell は Windows 環境、例えば 管理 PC から実行できるので便利ですね。

 

 

Azure Cloud Shell で使える機能と、Azure PowerShell で使える機能に差異があるかどうかは、未だしらべていないのでわかりませんと言った状況です。

 

 

Azure PowerShell のほうは、個人的にですが、画面コピーも取りやすいですし、操作の点を考えますと何かと Azure PowerShell は使いやすいのではないかと思いました。

 

 

では最後までお読みいただきありがとうございました!

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りでマイペースな人です。

人気記事

1

こんにちは!SE ブログの相馬です。       今回は、PC に適用されている GPO を確認する方法について書きました。     グループポリシー ...

2

こんにちは!SE ブログの相馬です。       今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは ...

3

こんにちは!SE ブログの相馬です。       今回は、グループポリシーを使って、特定のコンピューターに対して、ドメインユーザーに Administrators 権限を ...

4

こんにちは!SE ブログの相馬です。       今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 ...

5

こんにちは!SEブログの相馬です。       今回は、ユーザープロファイルを削除する方法について書いてみました。     1 台の PC を複数人で ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!SE ブログの相馬です。       今回は、Windows Server 2016 で NTP サーバーと同期する方法について書きました。   & ...

-Azure
-,