【プログラミング言語】PowerShellの特徴

当ページのリンクには広告が含まれています。

こんにちは、KiYOです。

システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。

新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。

KiYO

今回はPowerShellについて紹介します。
Windows標準のシェルとスクリプト言語

この記事で分かること
  1. PowerShellの特徴
  2. PowerShellの歴史
  3. PowerShellの利用シーン

今回はこの本を参考に、私の独断と偏見で記事を書いています。

言語を5点中評価

内容点数
容易性容易に言語習得できるか?3
将来性将来性があるか?2.5
普及度普及しているか?
保守性保守性が高いか?2.5
中毒性ハマるか?2
14
目次

  • PowerShellの特徴
  • Windowsのための独自のCLI実行環境+スクリプト環境

    言語の特徴
    1. PowerShellはMicrosoftによる、主にWindows向けのシェルです
    2. シェルとはCLI(コマンドラインインタフェース)実行環境、およびそれに基づくプログラミング言語
    3. Windows7以降標準搭載
    4. コマンドプロンプトやバッチファイルに代わって人気を伸ばしている
    5. .NETと密接に連携しており、.NETの豊富なライブラリを利用できる
    6. 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でした!

    今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になります。

    まとめページで、他のプログラミングも紹介していますので、ご覧ください。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!

    この記事を書いた人

    ITの事や自分の経験談など綴っていきたいと思っています。

    コメント

    コメントする

    CAPTCHA


    目次