この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
おはようございます、加藤です。ブログネタを色々と考えていたら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を問わずに使えるようになります。 既にお使いの方で「こういう時に活用しているよ!」などあれば是非コメントを頂きたいです。