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 .repo yum -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-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に渡すなんて言うこともできます。今の私にはユースケースが想像できないですが...
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を問わずに使えるようになります。 既にお使いの方で「こういう時に活用しているよ!」などあれば是非コメントを頂きたいです。