概要
PowerShell は Windows 環境上で実行可能なスクリプト言語です
コマンドベースの操作でいろいろな情報の取得や変更ができます
PowerShell は .NET をベースにして動作します
どうやら .NET SDK という Linux 環境で .NET を動作、開発できるツールが Microsoft から提供されているようです
今回は .NET SDK のインストール方法と PowerShell のインストール方法を紹介し簡単な動作確認とサンプルスクリプトを紹介します
環境
- CentOS 7.7.1908
- .NET SDK 3.1
- PowerShell 6.2.3
.NET SDK のインストール
Linux で .NET を動作させるための SDK やランタイムをインストールします
rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
yum -y install dotnet-sdk-3.1
dotnet --info
dotnet コマンドが使えるようになっていれば OK です
PowerShell のインストール
PowerShell は .NET 上動作します
dotnet tool を使うとインストールできます
dotnet tool install --global PowerShell
インストールすると pwsh
というコマンドが使えるようになります
インストールされるパスは以下でした
find / -name "pwsh"
=> /root/.dotnet/tools/pwsh
dotnet tool list --global
でインストールしたツールの一覧が確認できます
PowerShell プロンプトの起動
/root/.dotnet/tools/pwsh
と実行すると PowerShell のプロンプトが起動します
ここから PowerShell のコマンドを入力することができます
例えば取得系のコマンドの一覧を表示するには以下のようなコマンドを入力します
Get-Command -Verb Get
一覧にあるタイムゾーンを取得するコマンドを投げてみるとちゃんと取得できることが確認できると思います
Get-TimeZone
PowerShell ファイルを作成して実行する
プロンプトに入ってコマンドを実行することもできますが一連の動作はファイルにまとめてスクリプトとして実行したいです
そんな場合は ps1 というスクリプトを作成すれば OK です
vim test.ps1
$a = 123
$b = "hoge"
Write-Output $a $b
/root/.dotnet/tools/pwsh ./test.ps1
で「123」と「hoge」が表示されるのが確認できると思います
PowerShell のサードパーティのモジュールをインストールしてみる
PowerShell には PowerShell Gallery というパッケージ管理の仕組みがあります
ここからサードパーティのモジュールを簡単にインストールすることができます
PowerShell プロンプトを起動してモジュールをインストールしてみましょう
Find-Module -Name VMware*
Install-Module -Name VMware.PowerCLI
これでモジュールをインストールできます
あとは普通にインストールしたモジュールのコマンドを使うことができます
またインストールしたモジュールの一覧を確認するコマンドは以下の通りです
Get-InstalledModule
モジュール関連のコマンドの一覧を確認するには以下のように実行します
Get-Command *-Module
0 件のコメント:
コメントを投稿