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 上で実行してみます!!
1 2 | curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoyum -y install powershell |
とりあえず、インストールでエラーは発生しませんでした!
実行
PowerShellを起動させてみます。
1 | pwsh |
無事に起動しました。
1 2 3 | PowerShell v6.0.1PowerShell v6.0.1Copyright (c) Microsoft Corporation. All rights reserved.PS /home/ec2-user> |
では色々とコマンドを試してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | PS /home/ec2-user> Get-DatePS /home/ec2-user> Get-Date2018年3月10日土曜日 14:23:15PS /home/ec2-user> Get-TimeZoneId : UTCDisplayName : GMTStandardName : GMTDaylightName : GMTBaseUtcOffset : 00:00:00SupportsDaylightSavingTime : TruePS /home/ec2-user> $time = Get-TimeZonePS /home/ec2-user> $time.DisplayNameGMT |
おおー、ちゃんと動いてくれましたね。
Linux上で動いているPowerShellからbashを実行して、結果をパイプでPowerShellに渡すなんて言うこともできます。今の私にはユースケースが想像できないですが...
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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" |
色もちゃんと表示されます!
1 2 | PS /home/ec2-user> [System.Enum]::GetValues([System.ConsoleColor]) | % { Write-Host "■" -ForegroundColor $_ -NoNewline }■■■■■■■■■■■■■■■■ |
あとがき
Amazon Linux 2 でもPowerShellが動きました。これを使うと、vSphere PowerCLIなどPowerShellのモジュールとして提供されているツールもOSを問わずに使えるようになります。 既にお使いの方で「こういう時に活用しているよ!」などあれば是非コメントを頂きたいです。