PowerShellとは?できること・コマンドをわかりやすく解説
workspace
PowerShellとは?できること・コマンドをわかりやすく解説
開発ツール
アンドエンジニア編集部
2021.10.22
この記事でわかること
PowerShellは一般的にコマンドプロンプトの上位互換
PowerShellでできることは、コマンドレットの使用やMicrosoftサービスの操作など
PowerShellには、統合開発環境「PowerShell ISE」が備わっている

PowerShellとは

computer

PowerShellとは、日本語ではパワーシェルとも呼ばれ、自動化や構成管理に便利なクロスプラットフォームのシェルスクリプトのことです。PowerShellを使用すれば、運用コストの削減や業務効率の向上が期待できます。PowerShellの活用例として、連番のフォルダ作成・ログの監視・ファイル名の一括修正などが挙げられるでしょう。 ここでは、PowerShellの概要やコマンドプロンプトとの違いについてわかりやすく紹介します。

PowerShellの概要

PowerShellとは、Microsoft社が開発したスクリプト言語であり、コマンドラインインタフェース(CUI) の1つです。CUIとは、コンピュータがユーザーに対して情報を提示したり、操作を受け付けたりする方法の1つで、全てのやり取りを文字によって行う方式を指します。例えば、あるプログラムを起動・停止させたり、ファイルのパスを変更したりすることが可能です。 また、PowerShellはコマンドによりコンピュータの制御を行えるため、キーボードのみで操作することができ、マウスは必要ありません。

PowerShellとコマンドプロンプトの違い 

WindowsOSには、コマンドプロンプトというCUIもあります。しかし近年では、コマンドプロンプトだけではなく、PowerShellも搭載されているのが一般的です。PowerShellとコマンドプロンプトの共通点はどちらもCUIという点です。PowerShellは、コマンドプロンプトが抱えている課題を改善して開発されているのが特徴です。

現在でもコマンドプロンプトを使用してコンピュータの制御を行うことはできますが、特に理由がなければPowerShellの利用をおすすめします。理由として、今後はコマンドプロンプトに代わってPowerShellが普及していくと予想されるということが挙げられます。

PowerShellでできること

touch

PowerShellはCUIの1つであり、今後はコマンドプロンプトよりも普及していくと予想されていることは理解できたでしょうか。しかし、PowerShellで具体的に何ができるのか気になる方も少なくないでしょう。 ここでは、PowerShellでできることについてわかりやすく紹介します。

コマンドレットを使用できる

コマンドレットとは、PowerShellで使用できる軽量のコマンドのことです。コマンドレットは「動詞-名詞」という命名規則で作成されており、直感的にコマンドの内容を理解できるのが特徴です。例えば、PowerShellで「Get-Command」というコマンドレットを実行すれば、コンピューターにインストールされている全てのコマンド一覧を取得することができます。

また、これまでコマンドプロンプトで使用してきたコマンドも利用できるため、PowerShellはコマンドプロンプトの上位互換とも言えるでしょう。さらに、初めてコマンドによるOS操作に触れるという方は、PowerShellを使用すれば、学習コストの削減にもつながるでしょう。

Microsoftのサービスを操作できる

PowerShellを使用すれば、「Microsoft 365」「Microsoft Exchange」などのMicrosoft社が提供しているクラウドサービスを操作できます。そのためPowerShellにより、メールボックスからユーザーデータを取得したり、ユーザーをグループ化したりすることが可能です。 また、フィルター処理をして自動化を行うこともできます。さらに企業で一元管理している多数のアカウント設定を一括変更できるため、PowerShellを業務に使用することも十分に可能です。

パイプラインを使用して細かくコンピュータを制御できる

PowerShellのメリットの1つは、複数の命令を組み合わせる機能が備わっている点です。この機能をパイプラインと呼び、先行のコマンド結果をパイプラインを使用して、次のコマンドに受け渡すことが可能です。PowerShellではパイプラインを縦棒「|」で記述します。

例えば「Get-ChildItem」と「Out-File」というコマンドレットをパイプラインを使用して組み合わせれば、取得したファイル一覧情報の中から特定のテキストファイルを出力させることが可能です。PowerShellではパイプラインを使用すれば、コンピュータで行う操作のほとんどを実行することができます。そのためコマンドプロンプトと比較して、PowerShellは細かくコンピュータの操作を制御することが可能です。

統合開発環境「PowerShell ISE」が備わっている

PowerShell ISEとは、PowerShell専用の統合開発環境で、WindowsOSに標準搭載されています。また統合開発環境とはIDEとも呼ばれ、一般的な複数の開発ツールをまとめたものです。

PowerShell ISEには、コードエディタ・実行環境・デバッグ環境など様々な開発環境が統合されています。PowerShellのスクリプトは「powershell.exe(PowerShellコンソール)」で実行できますが、複雑な動作を実行するにはPowerShell ISEが必要です。PowerShell ISEを使用すれば、PowerShellのスクリプトを効率よく開発して実行することができます。

PowerShell入門

plant

PowerShellでできることは様々であり、コマンドプロンプトと比較するとメリットが数多くあることは理解できたでしょうか。ここではPowerShell入門ということで、PowerShellの使い方や基本文法についてわかりやすく紹介します。

PowerShellの使い方

まずPowerShellを使用するには、起動させる必要があります。PowerShellを起動するには、Windowsのスタートメニューから「Windows PowerShell」をクリックし、「Windows PowerShell」のアプリを右クリックして「管理者として実行する」を選択しましょう。

他にも様々な方法で起動させることができますが、最終的にPowerShellが起動し、コマンドを入力できる状況であれば、起動は完了です。またPowerShellをよく使用する場合には、タスクバーやスタートにピン留めしておくと便利です。

PowerShellの基本文法(文字列出力)

プログラミング言語を学習し始めるときと同じように、まずはPowerShellで「Hello world!」を出力させてみましょう。PowerShellでコマンドラインに文字列を出力させるには、「Write-Host」というコマンドレットを使用します。またPowerShellでは「#」を使用すれば、単一行をコメントアウさせることが可能です。 ここからは具体例を見ていきましょう。

# 「Hello world!」という文字列を出力 Write-Host 'Hello world!'

このように、「Write-Host ' 文字列'」で任意の文字列を出力させることが可能です。複数行をコメントアウトさせたいときは、先頭に 「<#」、コメントの最後に 「#>」を使用します。  また、「Write-Host」というコマンドレットには文字色を変えるオプション「-ForegroundColor」や、背景色を変えるオプション「-BackgroundColor」を使用することが可能です。 ここからは具体例を見ていきましょう。

# 文字色を赤で文字列を出力 Write-Host 'Hello world!' -ForegroundColor red

# 文字色を黒、背景色を白で文字列を出力 Write-Host 'Hello world!'  -ForegroundColor black -BackgroundColor white

このように、様々なオプションを使用して「Hello world!」という文字列を出力させることができます。他にも様々なオプションがあるため、気になる方はぜひインターネットを使用して調べてみてください。

PowerShellの基本文法(変数)

PowerShellでは「$変数名 = 値」という記述方法で、変数を宣言したり、変数に数値を代入したりすることができます。シェルによってはスペースの有無によりエラーが発生することもありますが、PowerShellではスペースの有無を気にする必要がありません。そのため必要に応じて、スペースを活用するできるのもPowerShellの魅力です。 ここからは具体例を見ていきましょう。

# スペースは実行結果に影響しない(どちらも変数「name」に文字列「Tanaka」を代入している) $name = 'Tanaka' $name='Tanaka'

設定した変数を展開したい場合には、下記のように記述します。実行結果は「Hello Tanaka!」となります。なおこの場合、文字列を囲む記号がシングルクォーテーションだと、変数展開はできないため注意が必要です。

# 変数展開 Write-Host "Hello ${name}!"

PowerShellを有効活用して業務効率を向上させよう!

pen

これまでに、PowerShellの概要・コマンドプロンプトとの違い・できること・使い方・基本文法について解説しました。PowerShellとは、Microsoft社が開発したスクリプト言語であり、コマンドラインインタフェース の1つです。PowerShellでできることとして、コマンドレットの使用やMicrosoftサービスの操作などが挙げられます。

PowerShellには統合開発環境があるのも特徴です。使い方は簡単で、アプリを起動するだけで使用できます。PowerShell入門ということで、文字列の出力や変数の定義について紹介しましたが、 PowerShellでできることは他にも様々です。興味を抱いた方は、業務効率向上のためにも、 ぜひPowerShellを勉強してみましょう。

気になる人のTwitterをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

eyecatch_visual_coder
Adobe製品を使わない"デザイナー"?「ビジュアルコーダー」が考える、自己満足で終わらないWebデザインとは
三角
2020.06.16

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
この記事をシェア
Twitter
Facebook
LINE
Hatena

編集部おすすめコンテンツ

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT