こんにちは、KiYOです。
システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。
新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。
KiYO
今回はPowerShellについて紹介します。
Windows標準のシェルとスクリプト言語
この記事で分かること
- PowerShellの特徴
- PowerShellの歴史
- PowerShellの利用シーン
今回はこの本を参考に、私の独断と偏見で記事を書いています。
リンク
言語を5点中評価
内容 | 点数 | |
---|---|---|
容易性 | 容易に言語習得できるか? | 3 |
将来性 | 将来性があるか? | 2.5 |
普及度 | 普及しているか? | 4 |
保守性 | 保守性が高いか? | 2.5 |
中毒性 | ハマるか? | 2 |
14 |
目次
Windowsのための独自のCLI実行環境+スクリプト環境
言語の特徴
- PowerShellはMicrosoftによる、主にWindows向けのシェルです
- シェルとはCLI(コマンドラインインタフェース)実行環境、およびそれに基づくプログラミング言語
- Windows7以降標準搭載
- コマンドプロンプトやバッチファイルに代わって人気を伸ばしている
- .NETと密接に連携しており、.NETの豊富なライブラリを利用できる
- 2016年よりオープンソースになり、Linux・macOSでも利用できるようになる
PowerShellの歴史
開発者 | Microsoft、Jeffey Snove(ジェフリー・スノーヴァー) |
誕生 | 2006年(2003年から開発) |
公式サイト | https://docs.microsoft.com/ja-jp/powershell/ |
分類 | 静的型付け、手続き型 |
影響を受けた言語 | Perl Bash |
影響を与えた言語 |
言語の歴史
2003年 | PowerShellの開発開始 |
2006年 | 正式版公開 |
2009年 | Windows7OSに標準搭載 |
2016年 | PowerShellのオープン化。Linux・macOSへの移植が進む |
PowerShellとセキュリティ
- PowerShellは個別のプログラムファイルを作成し、配布・実行可能
- 実行ポリシー機能を備えており、適切なポリシーでなければ実行できない制約を課すことで安全性を高めている
Linuxのシェルのようなコマンドが使える
- PowerShellでは、Linux風のコマンド名も一部使えるようになっている(ls,cp,rmなど)
- 似たような機能にエイリアスを追加しているだけで実行内容に互換性がないのは要注意
どんなスクリプト言語があるのか?
- PowerShellのスクリプト機能は本格的なものです
- 一般的な関数定義、制御構造、正規表現はもちろん使えます
- オブジェクト指向の影響を感じられるハッシュテーブル(連想配列)中心の文法など、独自の特徴も持ちます
- .NETとの連携も可能で、コマンドプロンプトと比べるとかなり強力になっている
コラム
- PowerShellは、.NETの資産(ライブラリ)が利用できるのが大きなメリットです。
- 既存のものだけではなく、C#でライブラリを作り、PowerShellから利用するといった応用も可能です。
- 処理の自動化という面では、COMを操作して、プログラムでExcelやWordを操作する能力を持ち合わせます。
PowerShellの利用シーン
Windowsの機能の管理、処理の自動化やバッチ処理に利用されます。特にWindows Serverの管理などが得意です。
WSHの代わりにPowerShell
- PowerShellはコマンドプロンプトだけでなく、WSHの置き換えの役割も果たした
- WSHとも文法的互換性はないため、移行はやや緩やかに進んでいますが、コマンドプロンプトに比べるとWSHは比較的に早く移行できている
PowerShellは特徴的
- PowerShellhはBashなどのUnix系シェルとは別物で、さらにコマンドプロンプトとも互換性はありません。
まとめ:自動化にはPowerShellあり
今回はPowerShellについて解説しました。
コマンドプロンプトの代わりとして出てきたPowerShell。.NETのライブラリも使えて実現できることが多そうな予感がしますね。
Windowsアプリも作れます。ただし、Webは不向き。
PowerShellの必要性
- .NETの豊富なライブラリを利用できる
- COMを操作して、プログラムやExcle/Wordを操作する能力も持っている
- Windowsだけでなく、LinuxやmacOSでも利用できる
やりたいことを実現するために、PowerShellの使い方をマスタしましょう。
何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!
以上です。KiYOでした!
今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になります。
リンク
まとめページで、他のプログラミングも紹介していますので、ご覧ください。
プログラミング言語まとめ こんにちは、KiYOです。 システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。 新しい物好きで色々なIT技術を勉強しては、仕事に使…
コメント