ドスパラは365日毎日出荷!

PowerShell(パワーシェル)は何ができるの?メリット、使い方、実例まで

PowerShell(パワーシェル)を利用して、Windows上の反復作業を自動化してみませんか?Windows 10に標準搭載されています。
PowerShell(パワーシェル)とは何か?できることやメリット、使い方の具体的な方法などについて、画像を添えた実例でご紹介します。

PowerShell(パワーシェル)とは?

PowerShellとは、Microsoftが開発したスクリプト言語およびキャラクターユーザーインターフェイス(CUI) の1つです。

CUIは主にテキストを使って、パソコンを動かしているWindows OSへ直接コマンド命令を下せます。 たとえば、指定のプログラムを起動したり、ファイルの位置を移したりすることが可能です。

コマンド(文字入力)という名の通り、PowerShellを直接操作するのにマウスは必要ありません。コマンドによりPCの動作制御をおこなえるソフトウェアですので、PowerShellを使えばキーボード1つでPCのほとんどを操作することが可能です。 

PowerShell(パワーシェル)とコマンドプロンプトの違い 

Windowsには今まで「コマンドプロンプト」というCUIが存在していました。しかし、現在では「コマンドプロンプトに置き換わるもの」 としてPowerShellが標準搭載されています。

PowerShellと「コマンドプロンプト」はどちらも同じCUIですが、後発のPowerShellは「コマンドプロンプト」が抱えているいくつかの問題点を改良した作りになっている点が注目ポイントです。

現在でも「コマンドプロンプト」を使えますが、PowerShellを利用できる環境であれば特に目的がない限りはPowerShellの利用がベストです。なぜなら、Windows 7のサポート終了でWindows 10へアップグレードすることが推奨されているように、今後は「コマンドプロンプト」に代わってPowerShellが普及していくと考えられるからです。

クロスプラットフォームのPowerShell(パワーシェル)も登場

Windowsに標準搭載されているPowerShellの正式名称は「Windows PowerShell」で、その名の通りWindows OSの動作環境が必須です。一方で、2018年にGitHub上で公開された「PowerShell Core」シリーズ はオープンソフトウェアとして開発され、現在ではmacやLinuxなどのOSでも利用できるクロスプラットフォームとなっています。

より幅広い環境でPowerShellが使えるようになったともいえますが、注意すべきポイントは、「Windows PowerShell」と「PowerShell Core」の2種類が厳密には違う性能を持つという点です。

Windows版PowerShellは2017年に公開されたバージョン「5.1」が最新であるのに対し、「PowerShell Core」は2020年でも開発が進み、現在では「PowerShell Core 7.0」も公開されています。

また、両者は完全な互換性を持っている訳ではありません。「片方でできることがもう一方ではできない」というケースも考えられるため、必要に応じて「Windows PowerShell」と「PowerShell Core」を使い分けるという方法をおすすめします。

PowerShell(パワーシェル)でできること

PowerShellでは複雑な命令や処理を下すことで、指定のファイルを移し替えたり、ExcelやWordを一元的に管理することができます。反復作業など、PowerShellを使うことで業務の効率化を図ることが可能です。

そのうえで、PowerShellには大きく分けて4つのメリットがあります。

  • コマンドレットを使える
  • Microsoftサービスも操作できる
  • 複数の命令を組み合わせて高度な処理を実行できる
  • 統合開発環境「PowerShell ISE」が用意されている

PowerShellを使うメリットについてそれぞれ見ていきましょう。

コマンドレットを使える

PowerShellでは、従来の「コマンド」をわかりやすくした「コマンドレット」を利用することができます。コマンドレットは「動詞-名詞」という命名規則で作られており、従来よりも直感的にコマンドの内容を把握しやすいことが特徴です。

加えて、従来のコマンドも利用できるなど、コマンドプロンプトの上位互換としてPowerShellには大きなメリットがあるといえます。

PowerShellでGet-Commandを実行

PowerShellを開いて【Get-Command】と入力することで、利用可能なコマンドレット一覧の取得が可能です。

「はじめてコマンドによるOS操作に触れる」という場合は、PowerShellを使うことで学習に掛かる時間的コストを抑える効果が期待できます。

Microsoftサービスも操作できる

PowerShellを使うことで、Office 365やExchangeといったMicrosoftが提供するクラウドサービスを操作することができます。

PowerShellではMicrosoft 365のクラウドサービスを使えるため、メールボックスのリストやユーザー情報を取得したり、また、ユーザーのグループ化やフィルター処理を自動化したりすることができます。

他にも企業で一元的に管理する多くのアカウント設定をまとめて変更できるなど、PowerShellは通常業務にも役立てることが可能です。

複数の命令を組み合わせて高度な処理を実行できる

PowerShellを使うメリットとして、コマンドプロンプトでは不可能だった命令を組み合わせる機能(パイプライン)が備わっている点が挙げられます。

例:「ファイル一覧を取得するコマンドレット(Get-Children)」と「データを保存するコマンドレット(Out-File)」を組み合わせ、取得したディレクトリ情報をテキストファイルとして出力する

これは一例で、工夫次第ではPC上でおこなうほぼすべての操作を実行することができます。コマンドプロンプトに比べると、PowerShellはより高度で細かく動作を制御することが可能です。

統合開発環境「PowerShell ISE」が用意されている

PowerShell ISEとはPowerShell専用の統合開発環境で、Windows OSに標準インストールされています。

PowerShell ISEには記述のテストやデバッグ、専用コードエディタなどさまざまな開発環境が統合されており、PowerShell用スクリプトを効率的に開発することが可能です。手間を掛けずにPowerShellの学習・開発に取り組みやすい点がメリットの1つだといえます。

PowerShell(パワーシェル)の使い方

Windowsを使ってデスクワークしている人にとって、PowerShellは業務を自動化できる便利なツールの1つです。PowerShellには「使いやすい」「複雑な命令を下しやすい」などのメリットが多く、反復作業をショートカットすることで業務を効率化できます。

一方で、「いまいち使い方をイメージしづらい」という方もいるかもしれません。今回はPowerShellの使い方として、複数のコマンドレットを組み合わせてPowerShellを使う実例をご紹介します。

PowerShell(パワーシェル)を使った実例

今回は、PowerShellを使って、「特定フォルダ内のファイルをサイズ順にソート」→「結果をテキストファイルに出力」する方法をご紹介します。

  1. PowerShellを起動する

    タスクバーの左部分にあるWindowsキーを右クリックし、Windows PowerShell(管理者)をクリックして起動します。

    Windowsキーの右クリックから起動 PowerShell画面
  2. PowerShellへコマンドレットを入力

    PowerShellへ下記のコマンドレットを入力します。

    • 【Get-Children -Path (一覧を表示するフォルダのパス)】
    • 【Object-Sort Length】
    • 【Out-File (出力先フォルダのパス)(出力先のファイル指定)】

    この3つのコマンドレットをパイプライン【|】にて結合し、それぞれのパスを追記したものが下記となります。

    【Get-Children -Path (C:\Users\admin\デスクトップ\SAMPLE) | Object-Sort Length | Out-File (C:\Users\admin\デスクトップ\sample.txt)】

    • フォルダやファイルのパスは環境により異なりますので、事前に自身の環境に沿ったパスを把握しておきましょう。
    PowerShellでコマンドレットを実行
  3. 結果を反映

    今回は指定した「sample.txt」がデスクトップ上に表示されます。

    sample.txt

    ファイルを開いてみると、それぞれのファイル名や最終更新時間とともに、Length(ファイルサイズ)順でソートされていることがわかります。

    sample.txtの内容

    とはいえ、このPowerShellの使い方は実例のうちの1つに過ぎません。コマンドレットの使い方やパイプラインの使い方によって、PowerShellはより高度な処理を行うことができます。

    Windows OSであればいつでもPowerShellを開くことができるため、興味が湧いた場合は一度試してみてはいかがでしょうか?

まとめ

コマンドプロンプトからさらなる進化を遂げたPowerShellは、適切に扱うことで反復作業など業務を自動化させることができます。慣れてしまえばマウスを操作するよりも早く特定のファイルを開いたり、移動させたりすることが可能です。

また、コマンドレットの存在によりプログラミング初心者でも直感的に操作しやすいなど、学習コストの面でもPowerShellには多くのメリットがあります。

最近ではRPA(ロボティック・プロセス・オートメーション)といった業務の自動化ツールも注目されていますが、PowerShellを使えばRPAのような自動化を自身で構築することも可能ですよ。

投稿日:


もっと見る

ページTOPへ

※ Celeron、Intel、インテル、Intel ロゴ、Intel Atom、Intel Core、Intel Inside、Intel Inside ロゴ、Pentium は、
アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。
※ Microsoft 、Windows は、米国Microsoft Corporation の米国及びその他の国における商標または登録商標です。
※その他のすべての商標は、それぞれの所有者に帰属します。

詳細はこちら