PowerShellを使用して、Windows上の定例業務や反復作業を自動化してみましょう。Windows 7 SP1 及び Windows Server 2008 R2 SP1 以降のすべての OSに標準搭載されています。
システムは開発する期間より、運用する期間のほうが長いです。そのため、システムの品質とコスト低減を考えなければなりません。このような場面で使用されるのがコマンドラインインターフェイス(CUI)のシェル及びスクリプト言語です。
PowerShellとは一体なんなのか。できることやメリット、使い方のなどご紹介します。
PowerShellって何?
PowerShellとは、マイクロソフトにより開発されたスクリプト言語 の1つです。公式サイトによると、以下のような位置付けになっています。
【PowerShell は、コマンドライン シェル、スクリプト言語、および構成管理フレームワークで構成されるクロスプラットフォームのタスク自動化ソリューションです。】
パソコンを動かしているWindows OSへ直接コマンド命令を下せます。 例えば、指定のプログラムを起動したり、ファイルの検索や配置変更、フォルダ作成といった操作もPowerShell では自動化することがきます。またファイルの位置を移したりすることも可能です。PCの動作制御を行えるソフトウェアですので、PowerShellを使えばすべての操作をキーボードだけで操作することができます。PowerShellはWindows以外でも利用可能となっており、Windows、Linux、及びmacOS 上で実行できます。
PowerShellはどんな時に必要?
主に業務の効率化を図る自動化をするときに使用します。PowerShellはではコマンドを活用することでPC上の操作を行えます。マウス移動とクリックの繰り返しが必要な定型作業や指定のファイルを移し替えたり、ExcelやWordを一元的に管理することができます。PowerShellを使用することによって業務時間の大幅短縮・効率化を図ることができます。
PowerShellの使い方
PowerShellのインストールについて
PowerShellはWindows 7 SP1 及び Windows Server 2008 R2 SP1 以降のすべての Windows に標準インストールされています。PowerShellがインストールされていなければ、下記のサイトを参考にお使いのパソコンのWindows OS、Mac OSに合わせたインストールファイルをダウンロードします。
最初に行う動作確認
『C:¥Users¥【パソコンに登録されているユーザー名】>』
上記の様な文字列が1番下に表示されていれば、文字入力する準備が出来ています。この文字列は、ご自身のパソコンのどこのファイルにアクセスしているかを表しています。上記の文字列の場合は、CドライブのUsersフォルダの中の、ユーザー名フォルダにアクセスしています。PowerShellを使っていく中で、どこにアクセスしているかを理解しておく必要があります。
コマンド一覧の出し方
PowerShellで使えるコマンド一覧を出す為のコマンドをは、『C:¥Users¥ユーザー名>』の後ろに『Get-Command』を続けて入力します。『コマンドを取得する』という意味です。すると英文が大量に表示されます。見慣れない方は不安になるかもしれませんがコマンドの取得が成功しているので安心してください。
『CommandType』の下に書かれている英文は、コマンドの種類です。Alias、Function、Cmdletの3種類があります。この中のCmdlet(コマンドレット)と表記されているものが基本的に初心者が使用するものです。中学生レベルの英単語理解度があれば、何のコマンドを書いているのかのニュアンスが分かる様なっています。
『Get-Command』で表示したコマンドの使い方を調べる
『Get-Help Get-ChildItem』と入力すると日本語で、概要・構文・説明・関連するリンク・注釈が表示されます。PowerShellは日本語での説明をサポートしているので、日本人にも優しい作りになっています。このコマンドを調べる機能には追加オプションがあります。『Get-Help Get-ChildItem -examples』と入力すると使い方の具体例が参照できます。
ファイル一覧の表示方法
『Get-Command』で表示させたコマンドの中から、今アクセスしている場所にあるファイル一覧を表示させるためには、『Get-ChildItem』と入力して下さい。Mode、LastWriteTime、Length Nameの3つが表示されたら成功です。Modeはファイルの属性、LastWriteTimeは最終更新日、Length Nameはファイル名をそれぞれ表示しています。実際にマウス操作でファイルを開いて中身を比較してみて下さい。ファイル名は英語表記になっていますが、アイコンで表示されるものとPowerShellで表示されたものは中身が一致しています。
PowerShellを使うメリット
インストールする必要がない
PowerShell はWindows Server 2008 / Windows 7から標準機能として搭載された為、それ以降の新しいOSの PC であれば最初からインストールされているので、ソフトをインストールする必要がありません。更に、どの端末でも同じ動きをする為、一度作ったスクリプトツールを他のコンピュータで再利用することができます。
読み書きしやすい「コマンドレット」
PowerShell では、システムに従来の「コマンド」をわかりやすくした「コマンドレット」を利用できます。
コマンドレットは英語の意味に従った規則で作られているので、意味が簡単に推測でき、コマンドの内容を理解しやすいです。書きやすく、読みやすいというのが最大のメリットです。
また、「Get-Command」と入力すると、利用可能なコマンドレット一覧を取得できるため作業時間コストも抑えられます。
複数の命令を組み合わせて処理
コマンドプロンプトでは不可能だった複数の命令を組み合わせる機能 (パイプライン) が備わっています。その為、より高度で細かく動作を制御できます。複数の命令を組み合わせることにより、先行コマンドの結果を次のコマンドに受け渡すことが可能です。PowerShell ではパイプラインを縦棒「|」で表します。
例えば「Get-ChildItem」と「Out-File」というコマンドレットを組み合わせるとします。取得したファイル一覧情報の中から特定のテキストファイルを出力させることができます。
これはほんの一例で、ほかにも指定のファイルを移し替えたり、Excel や Word を一元的に管理できるなど、アイデアや工夫次第でPC上で行うほぼすべての操作を実行できます。
まとめ
今回は PowerShell (パワーシェル) とは何か、その使い方・メリットを紹介しました。
PowerShell を活用することで反復作業などの業務を自動化させ、業務効率を向上させることができます。
コロナ禍の影響から多くの企業でRPA (ロボティック・プロセス・オートメーション)が推進されています。 様々な業務の自動化システムが開発され導入されている企業も多くありますが、PowerShellでもRPA のような自動化を構築することができます。
Windows OSではPowerShellは標準搭載されているのでいつでも使用できます。読み書きしやすいコマンドレッドでプログラミング初心者でも操作しやすい為、業務自動化に挑戦したいと思った方や興味が湧いた方は費用もかからないので一度試してみてはいかがでしょうか。
参考
- PowerShellって何?
- PowerShellはどんな時に必要?
- PowerShellの使い方
- PowerShellを使うメリット