【初心者向け】Windows PowerShellの使い方の基本から実務自動化まで

パソコンの面倒な作業、自動化できたらいいなと思ったことはありませんか?「windowspowershell 使い方」で検索すると、たくさんの情報が出てきて少し難しそうに感じるかもしれません。コマンドやスクリプト、ファイルの作成など、見慣れない言葉が並んでいて、どこから手をつければいいか迷ってしまいますよね。

PowerShell

実は、Windows PowerShellは基本さえ押さえれば、誰でも日々の単純作業を効率化できるとても便利なツールなんです。この記事では、難しい専門用語はなるべく使わず、環境の準備から、実際に仕事で使えるCSVファイルの操作やエラーの対処法まで、順を追ってわかりやすく解説していきます。これを読めば、あなたもきっとPowerShellを毎日の作業の強い味方にできるはずです。

  • PowerShellを安全に起動し、初期設定を行う方法
  • ファイルやフォルダをコマンドで簡単に操作する手順
  • CSVファイルの処理など、実務で役立つ自動化のテクニック
  • エラーが発生した時の原因と、安全な対処方法
スポンサーリンク

基礎から学ぶwindowspowershellの使い方

まずは、PowerShellを動かすための準備と、基本的なルールの確認から始めましょう。難しそうに見えても、最初の設定さえクリアすれば、あとはパズルを組み立てるような感覚で操作できるようになりますよ。

環境の準備とコンソールの起動方法

PowerShellを使うための第一歩は、正しい方法で画面(コンソール)を起動することです。Windowsには最初からインストールされているので、新しくソフトをダウンロードする必要はありません。スタートメニューから「Windows PowerShell」を検索すればすぐに見つかります。

ここで一つ大切なポイントがあります。それは「管理者として実行」することです。ファイルのコピーや名前の変更といった普段の操作なら普通に起動しても良いのですが、システムの設定を変えたり、新しい機能をインストールしたりする時は、権限が足りずにエラーになってしまうことがあります。スタートメニューのアイコンを右クリックして、「管理者として実行」を選ぶ癖をつけておくと安心ですね。

PowerShell 7という新しいバージョンもあります

最初から入っている「Windows PowerShell」とは別に、今は「PowerShell 7」という新しいバージョンも公開されています。こちらはWindowsだけでなくMacやLinuxでも動くようになっていて、機能も強化されています。ただ、最初は元々入っているバージョンから始めて、慣れてきたら新しいバージョンを試してみるのがおすすめかなと思います。

また、簡単なコマンドを入力するだけなら青い画面のコンソールで十分ですが、長いスクリプトを書く時はVisual Studio Code(VS Code)というエディタを使うと、文字に色がついて見やすくなったり、入力の補助をしてくれたりするので非常に便利です。

スクリプト実行ポリシーの変更手順

PowerShellで書かれたファイル(スクリプト)を実行しようとした時に、「このシステムではスクリプトの実行が無効になっています」というような赤い文字のエラーが出たことはありませんか?これは、悪意のあるプログラムが勝手に動くのを防ぐための、Windowsの安全装置が働いているからです。

この安全装置の設定を「実行ポリシー」と呼びます。自分で書いた安全なスクリプトを動かすためには、この設定を少しだけ変更する必要があります。設定の変更は、先ほど紹介した「管理者として実行」したPowerShell画面で行います。

実行ポリシーの変更はセキュリティに関わる部分なので、全てを無制限に許可するのは避けましょう。個人で使う場合は、自分が作ったスクリプトだけを実行できるようにする「RemoteSigned」という設定が一般的に使われます。

現在の設定を確認するには Get-ExecutionPolicy と入力します。設定を変更したい場合は Set-ExecutionPolicy RemoteSigned と入力して実行します。途中で本当に変更して良いか聞かれたら、「Y」と入力して進めてください。

日本語文字化けの抜本的な解決策

メモ帳などで作成したスクリプトを実行したとき、画面に「□□□」といった四角い記号や、意味不明な文字が表示されて焦ったことはないでしょうか。これは、文字の保存形式(エンコーディング)の違いが原因で起こる「文字化け」です。

PowerShellは少し前のバージョンだと、「UTF-8(BOM付き)」という特定の形式で保存された文字を読み込むように作られています。しかし、最近のWindowsのメモ帳は「UTF-8(BOM無し)」で保存するのが標準になっています。このちょっとしたズレが、文字化けを引き起こしているんですね。

一番簡単な解決方法は、ファイルを保存する時に文字コードを指定することです。メモ帳で「名前を付けて保存」を選ぶとき、文字コードの欄で「UTF-8(BOM付き)」を選んで保存し直してみてください。これだけで、嘘のようにきれいに日本語が表示されるようになりますよ。

動詞と名詞によるコマンドの構造

PowerShellのコマンド(コマンドレットと呼ばれます)は、実はとても理にかなった名前の付け方がされています。それは「動詞-名詞」というルールです。これを知っているだけで、英語の辞書を引くように、どんな動きをするコマンドなのかが予想できるようになります。

例えば、「取得する」という意味の動詞「Get」を使ったコマンドを見てみましょう。

  • Get-Process (プロセスを取得する = 動いているプログラムの一覧を見る)
  • Get-Service (サービスを取得する = 裏で動いている機能の状態を見る)

逆に、「止める」時は「Stop」を使います。Stop-Processなら、指定したプログラムを強制終了させるといった具合ですね。「何か情報を取ってくる時はGetから始まるんだな」と覚えておくだけでも、コマンドの探し方がグッと楽になります。

困ったときのヘルプ機能

「こんなことできるコマンドないかな?」と思ったら、Get-Commandというコマンドを使って検索できます。また、使い方が分からないコマンドがあったら Get-Help コマンド名 と入力すると、使い方の説明書を読むことができます。暗記しなくても、PowerShell自身に聞きながら操作できるのが大きな魅力です。

コマンド履歴探索による作業効率化

「さっき打ったあの長いコマンド、もう一回入力するの面倒だな…」と思うこと、ありますよね。上矢印キー(↑)を押して過去の履歴を一つずつ遡ることもできますが、もっと便利な機能があります。

それは、「Ctrl + R」キーを使ったインクリメンタルサーチ(後方検索)です。コンソール画面で「Ctrl」と「R」を同時に押すと、検索モードに切り替わります。そこで、さっき入力したコマンドの一部(例えばファイル名やコマンド名の一部)を打ち込むと、過去の履歴から一瞬で見つけ出して表示してくれるんです。

もし違うものが表示されたら、もう一度「Ctrl + R」を押すと、さらに前の履歴へと遡ってくれます。目的のコマンドが出たら、右矢印キー(→)などを押せば、そのまま実行したり編集したりできます。これを知っていると、作業スピードが格段にアップしますよ。

実務で役立つwindowspowershellの使い方

PowerShell1

ここからは、実際の業務でPowerShellをどう活用していくかを見ていきましょう。ファイルの整理からデータの集計まで、自動化できるポイントはたくさんあります。

ファイルやディレクトリの基本操作

マウスを使ってポチポチとフォルダを開いたり、ファイルをコピーしたりする作業も、PowerShellならコマンド一行でサクッと終わらせることができます。日々の定型作業によく使う基本的なコマンドをいくつか紹介します。

やりたいこと 使うコマンド 実際の使用例
ファイルの一覧を見る Get-ChildItem Get-ChildItem C:\Data
ファイルをコピーする Copy-Item Copy-Item file.txt C:\Backup
ファイルを移動・名前を変える Move-Item Move-Item old.txt new.txt
ファイルを削除する Remove-Item Remove-Item temp.log

これらのコマンドは、「特定のフォルダにある古いログファイルだけをまとめて削除する」といった場面で非常に重宝します。もちろん、大事なファイルを消してしまわないように、最初はテスト用のフォルダを作って練習してみることをおすすめします。

短縮名エイリアスの活用と注意点

Get-ChildItemCopy-Itemなど、コマンドの名前は分かりやすい反面、毎回全て入力するのは少し骨が折れますよね。そこで用意されているのが「エイリアス(短縮名)」です。

例えば、Get-ChildItemlsdir という数文字で呼び出すことができます。Remove-Item なら rmdel ですね。コマンドプロンプトやLinuxを触ったことがある人なら、お馴染みのコマンド名がそのまま使えるように設定されているんです。

スクリプトに書く時は正式名称で!

エイリアスは画面で手打ちする時にはすごく便利なんですが、ファイルに保存する「スクリプト」を書く時は使わない方が無難です。後から自分や他の人がそのスクリプトを読んだ時、「この % とか ? っていう記号、何のコマンドだっけ?」と分かりづらくなってしまうからです。面倒でも正式なコマンド名で書くのが、長持ちするスクリプトを作るコツですね。

変数とパイプラインでのデータ連携

PowerShellの機能を最大限に引き出すのが、「変数」「パイプライン」です。この2つを組み合わせることで、複雑な処理もスッキリと書けるようになります。

変数は、データを入れておく「箱」のようなものです。PowerShellでは、頭に「$」マークを付けると変数になります。例えば、$date = Get-Date とすると、「今日の日付」という情報が $date という箱に入ります。

そして、パイプライン「 | 」は、あるコマンドの結果を、そのまま次のコマンドへバケツリレーのように渡す機能です。

「Cドライブのフォルダの中身を取得する」 | 「その中からサイズが1MB以上のものだけを選ぶ」 | 「新しい順に並び替える」
このように「 | 」で繋いでいくことで、左から右へとデータが流れていき、目的の形に加工していくことができます。これができるようになると、自動化の幅がグッと広がりますよ。

実務自動化に必須となるCSV操作

仕事でデータを扱う際、Excelの代わりにCSVファイルを読み書きすることは多いですよね。PowerShellは、このCSVファイルの扱いがとても得意です。単なる文字の羅列としてではなく、「表のデータ」としてきっちり認識してくれます。

CSVファイルを読み込むには Import-Csv を使います。これを実行すると、1行目が見出し、2行目以降がデータとして自動的に整理されます。読み込んだデータは、先ほどのパイプラインを使って「特定の部署のデータだけを絞り込む」といった加工が簡単にできます。

加工が終わったデータを新しいCSVファイルとして保存するには、Export-Csv を使います。複数のシステムから吐き出された別々のCSVファイルを読み込んで、必要な項目だけを抽出して1つのCSVにまとめる、といった毎日の面倒な作業も、スクリプトを一度書いてしまえば、あとはダブルクリック一発で終わらせることも夢ではありません。

スクリプトを安全にする例外処理

自動化が進んでスクリプトに仕事を任せるようになると、途中でエラーが起きた時の対応が重要になってきます。「ファイルが見つからない」「ネットワークが切れている」といった予期せぬトラブルで、処理が中途半端な状態で止まってしまうのは避けたいですよね。

そんな時に使うのが、「Try-Catch(トライ・キャッチ)」という構文を使った例外処理です。これは、「とりあえずやってみる(Try)。もしエラーが出たら、こうやって対処する(Catch)」というルールをあらかじめ決めておく書き方です。

これを使えば、「ファイルが見つからなかった時は、赤いエラーを出して止まるのではなく、『ファイルがありません』というログを残して次の処理に進む」といった、安全で柔軟な動きをスクリプトに持たせることができます。エラーを怖がらずに、エラーが起きることを前提とした仕組みを作ることが、安定した自動化の秘訣かなと思います。

windowspowershellの使い方のまとめ

いかがでしたでしょうか。今回は、「windowspowershell 使い方」を調べている初心者の方に向けて、環境の作り方から実務で使えるちょっとしたテクニックまでをご紹介しました。

最初は難しく感じるかもしれませんが、Get-CommandGet-Help を使いながら、まずは自分の手で簡単なファイル操作のコマンドを打ち込んでみるのが一番の上達の近道です。焦らず少しずつ、毎日の手作業をPowerShellに置き換えてみてください。きっと「もっと早く使えばよかった!」と思える日が来るはずです。ぜひ、今日から少しずつ試してみてくださいね。

タイトルとURLをコピーしました