logologo
PowerShellとは?できることやコマンドをわかりやすく解説
thumb_powershell_01

PowerShellとは?できることやコマンドをわかりやすく解説

アンドエンジニア編集部
2024.08.16
この記事でわかること
PowerShellはコマンドプロンプトの上位互換と言える
PowerShellではコマンドレットの使用やMicrosoftサービスの操作ができる
PowerShellには統合開発環境「PowerShell ISE」が備わっておりすぐ使える

PowerShellとは

img_powershell_01

PowerShell(パワーシェル)とは、業務の自動化や構成管理に活用できる、クロスプラットフォームのシェルスクリプトです。

PowerShellを使用すれば、運用コストの削減や業務効率の向上が期待できます。PowerShellの活用例としては、連番のフォルダ作成・ログの監視・ファイル名の一括修正などが挙げられます。ここでは、PowerShellの概要やコマンドプロンプトとの違いについてわかりやすく紹介します。

【参考】:PowerShell ドキュメント - PowerShell | Microsoft Docs

Windows11のコマンドプロンプトはどこにある?ない時の出し方

PowerShellの概要

PowerShellとは、Microsoft社が開発したスクリプト言語であり、コマンドラインインタフェース(CUI) の1つです。CUIとは、コンピュータがユーザーに対して情報を提示したり、操作を受け付けたりすることであり、全てのやり取りを文字によって行う方式を指します。

例えば、「プログラムを起動・停止させる」「ファイルのパスを変更する」といったことが可能です。また、PowerShellはコマンドによりコンピュータの制御を行えるため、キーボードのみで操作することができ、マウスは必要ありません。

PowerShell 7.2がリリース!新機能やInstall手順を解説

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

WindowsOSには、コマンドプロンプトというCUIもあります。しかし近年では、コマンドプロンプトだけではなく、PowerShellも搭載されているのが一般的です。

PowerShellとコマンドプロンプトの共通点はどちらもCUIという点です。PowerShellは、コマンドプロンプトが抱えている課題を改善して開発されているのが特徴です。

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

コマンドプロンプトとは?できることや使い方をわかりやすく解説!

PowerShellを使うべき理由とは

img_powershell_02

近年の普及状況を考えると、PowerShellは今後はさらに広い範囲で活用されていくことが想定されます。ここでは、PowerShellを使うべき理由をより詳しく解説します。

環境が備わっているのですぐに使える

PowerShellには、統合開発環境の「PowerShell ISE」が備わっています。PowerShell ISEは、PowerShell専用の統合開発環境であり、コードエディタ・実行環境・デバッグ環境など様々な開発環境が統合されています。

PowerShellのスクリプトは「powershell.exe(PowerShellコンソール)」で実行できますが、複雑な動作を実行するにはPowerShell ISEが必要です。

しかし、新しいWindowsOSにはPowerShell ISEが標準搭載されているため、新しいパソコンを買えば、環境を構築することなくすぐに使用できます。

【参考】:Windows PowerShell ISE の紹介 - PowerShell | Microsoft Docs

Windows環境のDockerとWSLの活用方法・手順を解説

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

コマンドレットとは、PowerShellで使用できる軽量のコマンドのことです。コマンドレットは「動詞-名詞」という命名規則で作成されており、直感的にコマンドの内容を理解できるのが特徴です。

例えば、PowerShellで「Get-Command」というコマンドレットを実行すれば、コンピューターにインストールされている全てのコマンド一覧を表示させることができます。

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

PowerShellでできること

img_powershell_03

PowerShellは多くのメリットがある便利なツールです。しかし、実際にPowerShellで何ができるのかを知りたい方も多いでしょう。そこで、ここではPowerShellでできることについてわかりやすく紹介します。

日々の業務やタスクの自動化

Windows環境において、システム管理や日常的な作業をスクリプトで自動化できます。例えば、「ディレクトリを作成する」「複数のファイル名を変更する」といった作業は、1つ1つ行うと時間がかかる上、間違いも起こりやすくなります。

しかし、PowerShellを活用して自動実行すれば、ミスを減らし効率を向上させることができます。また、タスクスケジューラと連携してバックアップやシステムチェックを定期的に実行するなど、さまざまな用途に利用可能です。

作業効率が大幅アップ!おすすめVimプラグイン12選!各特徴も解説

Microsoftのサービスの操作

PowerShellを使用すれば、「Microsoft 365」「Microsoft Exchange」などのMicrosoft社が提供しているクラウドサービスを操作できます。そのためPowerShellにより、メールボックスからユーザーデータを取得したり、ユーザーをグループ化したりすることが可能です。

また、フィルター処理による自動化や、一元管理している複数アカウントの一括設定変更もできるため、業務を大幅に効率化できるのが大きなメリットと言えます。

【参考】:Microsoft 365 の紹介 | Office アプリ、クラウド サービス、セキュリティの統合 【参考】:Microsoft Exchange | 企業に役立つ安全なビジネス メール サービス

「Microsoft 365 Copilot」を発表!使い方や搭載されるAI機能とは

パイプラインを使用した細かいコンピュータ制御

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

例えば「Get-ChildItem」と「Out-File」というコマンドレットを、パイプラインを使用し組み合わせることで、取得したファイル一覧情報の中から特定のテキストファイルを出力させられます。

なお、PowerShellではパイプラインを使用することで、コンピュータで行う操作のほとんどをコマンド実行できます。コマンドプロンプトと比較すると、PowerShellはより細かいコンピュータ制御が可能です。

【入門編】PowerShellの基本的な使い方

img_powershell_04

PowerShellでできることは様々であり、コマンドプロンプトと比較すると多くのメリットがあります。ここではPowerShell入門として、PowerShellの起動方法や基本文法をわかりやすく紹介します。

PowerShellの起動方法

PowerShellを起動するには、Windowsのスタートメニューから「Windows PowerShell」をクリックし、「Windows PowerShell」のアプリを右クリックして「管理者として実行する」を選択します。

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

なお、勝手に起動するのを防ぎたい場合は、コントロールパネルの「プログラムと機能」から、「Windows の機能の有効かまたは無効化」を選択し、「Windows PowerShell 2.0」のチェックを外しましょう。

Windows11のスタートメニューが使いにくい?カスタマイズ方法を紹介!
Windows 11のコントロールパネルはどこ?格納場所と起動方法

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で複数のファイル名を一括変更する方法

img_powershell_05

複数あるファイルの名前を変更したい場合、1つずつ行っていたのでは時間がかかり、ミスも発生しやすくなってしまいます。そんなとき、PowerShellの基本コマンドとパイプラインを使用すれば、複数のファイル名を一括変更できます。

例えば、現在のディレクトリ内にある「png」という拡張子がついたファイルを、全て「jpg」という拡張子に一括変更したい場合は、以下のように記載します。

Get-ChildItem *.png | Rename-Item -NewName { $_.Name -replace '.png','.jpg' }

「Get-ChildItem」は、指定した条件に当てはまるファイル情報を取得するコマンドレットです。上記の例では、「png」ファイルを見つけた後、「Rename-Item」によって「png」から「jpg」にファイル名を一括変更しています。

PowerShellを学ぶのにおすすめの本

img_powershell_06

ここでは、PowerShellを勉強するのにおすすめの本を紹介します。PowerShellの学習本は数多くあり、初心者向けの本から応用編の本まで揃っています。これからPowerShellを業務で使いたい人や、PowerShellのスキルをもっと高めたい方は是非参考にしてください。

PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説

PowerShellを使ったことがない方でも理解しやすいよう、段階的に説明されています。インストール方法・サンプルコードの動かし方といった基礎から、モジュールを作って公開する方法・業務でPowerShellを活用するための知識といった応用まで学べます。

▪著者:吉崎生 ▪ページ数:624ページ ▪出版社:マイナビ出版 ▪発売日:2018/05/30

【参考】:PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説

コマンドプロンプト、PowerShellそしてWSLまで Windowsコマンド環境のすべて

PowerShellだけでなく、ほかのコマンドについても学びたい方におすすめの本です。本書では、PowerShellのほかにコマンドプロンプト・Windows Subsytem for Linux(通称WSL)について解説されています。

サンプルも豊富に紹介されており、メールを自動送信する・インターネットからファイルをダウンロードするといった実用的なものを学べます。

▪著者:五十嵐貴之 ▪ページ数:416ページ ▪出版社:ソシム ▪発売日:2021/04/09

【参考】:コマンドプロンプト、PowerShellそしてWSLまで Windowsコマンド環境のすべて(五十嵐貴之) | 書籍 本 | ソシム

Windows PowerShell実践システム管理ガイド 第3版

Windows環境のシステム管理者向けに書かれた本書は、PowerShellの使い方を基本から実践まで幅広く学べます。豊富な例で解説しているため、初心者の方でもわかりやすいでしょう。第3版ではPowerShell 5.0に対応し、Azure PowerShellについての章が新たに追加されています。

▪著者:横田 秀之、河野 憲義 ▪ページ数:404ページ ▪出版社:日経BP ▪発売日:2017/10/23

【参考】:Windows PowerShell実践システム管理ガイド 第3版|日経の本 日経BP

Windows11の最新おすすめ本12選!初心者から上級者向けまで

PowerShellを活用して業務を効率化しよう!

img_powershell_07

この記事では、PowerShellの概要・コマンドプロンプトとの違い・できること・使い方・基本文法・おすすめの書籍について解説しました。PowerShellはMicrosoft社が開発したスクリプト言語であり、コマンドラインインタフェース の1つです。

PowerShellでできることとして、コマンドレットの使用やMicrosoftサービスの操作などが挙げられます。PowerShellには統合開発環境があるのも特徴であり、アプリを起動するだけで簡単に使用できます。

入門編では文字列の出力や変数の定義について、また応用編ではファイル名の一括変更について紹介しましたが、 PowerShellでは他にもさまざまなことが実行可能です。興味がある方は、業務効率向上のためにもぜひPowerShellを勉強しましょう。

Windows11のおすすめ便利機能10選!ショートカットキーも紹介
Windows 11 HomeとProの違いとは?どちらを選べば良いのか解説!
WindowsとLinuxの違いは?具体的な比較ポイントを解説!
気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

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

thumb_gptowten_01
ChatGPTの面白い使い方15選!ビジネスや遊び相手になる事例
アンドエンジニア編集部
2024.02.19

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

お問い合わせ・情報提供

カテゴリー

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

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

logologo
Powered by マイナビ AGENT