Amazon Linux 2 で PowerShell を動かしてみた

おはようございます、加藤です。ブログネタを色々と考えていたらPowerShellという電波を受信しました。 前回もそうだった気がしますが、今回も小ネタです。

前提・環境

項目
OS Amazon Linux2 2017.12.0.20180115
 PowerShell  6.0.1
  • Amazon Linux 2 の EC2
    • SSH接続できること

インストール

最初にリポジトリを確認しましょう。https://github.com/PowerShell/PowerShell

あ、Amazon Linux 2 が対応表に存在しませんね...あきらめずにRHEL7/CentOS7のインストール方法を確認してみます。

どちらもインストール方法は同じですね、Amazon Linux 2 上で実行してみます!!

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
yum -y install powershell
とりあえず、インストールでエラーは発生しませんでした!

実行

PowerShellを起動させてみます。

pwsh

無事に起動しました。

PowerShell v6.0.1PowerShell v6.0.1Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docsType 'help' to get help.
PS /home/ec2-user>

では色々とコマンドを試してみましょう。



PS /home/ec2-user> Get-Date

PS /home/ec2-user> Get-Date
2018年3月10日土曜日 14:23:15

PS /home/ec2-user> Get-TimeZone

Id                         : UTC
DisplayName                : GMT
StandardName               : GMT
DaylightName               : GMT
BaseUtcOffset              : 00:00:00
SupportsDaylightSavingTime : True

PS /home/ec2-user> $time = Get-TimeZone
PS /home/ec2-user> $time.DisplayName
GMT

おおー、ちゃんと動いてくれましたね。

Linux上で動いているPowerShellからbashを実行して、結果をパイプでPowerShellに渡すなんて言うこともできます。今の私にはユースケースが想像できないですが...

PS /home/ec2-user> bash -c "cat /etc/os-release"
NAME="Amazon Linux"
VERSION="2.0 (2017.12)"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2.0"
PRETTY_NAME="Amazon Linux 2.0 (2017.12) LTS Release Candidate"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2.0"
HOME_URL="https://amazonlinux.com/"

PS /home/ec2-user> bash -c "cat /etc/os-release" | Select-String "^Name"
NAME="Amazon Linux"

色もちゃんと表示されます!

PS /home/ec2-user> [System.Enum]::GetValues([System.ConsoleColor]) | % { Write-Host "■" -ForegroundColor $_ -NoNewline }
■■■■■■■■■■■■■■■■

あとがき

Amazon Linux 2 でもPowerShellが動きました。これを使うと、vSphere PowerCLIなどPowerShellのモジュールとして提供されているツールもOSを問わずに使えるようになります。 既にお使いの方で「こういう時に活用しているよ!」などあれば是非コメントを頂きたいです。