Windows 11 で PowerShell スクリプトを作成する方法(例付き)
Windows 11 で PowerShell スクリプトを作成するのは、それほど難しいことではありませんが、初めての場合は少し不安に感じるかもしれません。セキュリティポリシーが原因でスクリプトが実行されない場合もありますし、記述したコマンドが単純に間違っている場合もあります。いずれにせよ、このガイドでは、PowerShell スクリプトの作成、保存、実行の基本、そしてよくある落とし穴を避けるためのヒントを順に説明します。誰もがスクリプト作成のプロというわけではありませんし、正直なところ、Windows ではスクリプト作成は必要以上に複雑に感じられます。しかし、一度コツをつかんでしまえば、毎回手動で行うのではなく、タスクを自動化できるので、とても便利です。スムーズに実行され、面倒な作業が省かれ、作業が速くなるスクリプトが期待できます。バッチファイルを実行しようとして悪名高い「実行ポリシー」エラーが発生したことがある人や、メモ帳がシンプルすぎて Visual Studio Code が難しそうだと感じている人は、このガイドがきっと役立つでしょう。 Windows 11で動作するスクリプトの作成方法を学びます。ファイルのクリーンアップを自動化するだけのスクリプトでも、より複雑なコマンドを書くだけのスクリプトでも構いません。 さあ、早速、頭を悩ませることなくスクリプトを作成する方法を見ていきましょう。
Windows 11 で PowerShell スクリプトを作成する方法
スクリプトを実行するには、コマンドをどこかに記述し、ファイルを適切に保存して、Windowsに実際に実行させる必要があります。メモ帳、VS Code、あるいはWindows内蔵のターミナルを使うこともできますが、初心者にはメモ帳で十分です。重要なのは、ファイルを.ps1拡張子で保存することを忘れないことです。そうしないと、Windowsはそれをテキストファイルとして認識し、実行されません。初めてスクリプトを実行しようとすると、Windowsのセキュリティ設定によってブロックされる可能性があるため、実行ポリシーを調整する必要があります(詳細は後述)。このプロセス全体を通して、繰り返しタスクを自動化したり、複数のコマンドを一度に実行したり、何度も入力することなくアイデアをテストしたりできるようになります。
Windows 11でテキストエディターを開く
ここから始めましょう。信じられないかもしれませんが、メモ帳はまさにその通りで、しかも内蔵されています。Windowsキーを押して「メモ帳」と入力し、Enterキーを押すだけで、空白のドキュメントがポップアップ表示されます。そこにPowerShellコマンドを書き留めてください。
もっと高度な機能が欲しいなら、VS Codeの公式サイトからVisual Studio Codeをダウンロードしましょう。構文のハイライトやデバッグ機能など、より高度な機能が利用できます。設定は少し手間がかかりますが、複雑なスクリプトを作成する場合は試してみる価値があります。今のところは、メモ帳を使うのがおすすめです。メモ帳の方が簡単です。
最初の PowerShell コマンドを記述する
メモ帳ウィンドウが開いたら、実験を始めましょう。次のような簡単なコマンドを入力してください。
Write-Output "Hello, World!"
これは、スクリプトを実行するとPowerShellウィンドウに「Hello, World!」と出力されるだけです。簡単ですよね? あるいは、もっと便利な例を試してみるのも良いでしょう。例えば、
Get-ComputerInfo
これにより、PC に関するすべての情報(CPU、メモリ、OS の詳細)が取得されます。問題が発生した場合は、コマンドが正しいことを確認してください。PowerShell はタイプミスに対して非常に寛容です。
コマンドを組み合わせた別の例:
Write-Output "Welcome to PowerShell Scripting" Get-Date Get-Process
現在の時刻と実行中のプロセスの一覧を表示します。コマンドレットの仕組みを理解することは、スクリプト作成の基礎です。一度理解すれば、より複雑なスクリプトの作成がはるかに簡単になります。
スクリプトにコメントを追加する
ちょっと変な感じですが、コメントはとても役に立ちます。コメントとは、#何が起こっているかを説明する行のことです。特に数ヶ月後にスクリプトを再開したり、他の人とスクリプトを共有したりする場合に、理解を助けます。例:
# This script displays a welcome message Write-Output "Hello from Windows 11"
コメントを追加することは、時間を節約できる良い習慣です。PowerShell は を含む行を無視する#ため、スクリプトは機能的でありながらドキュメント化も同時に行えます。
ファイルを.ps1スクリプトとして保存する
この手順は、時に人を困惑させることがあります。書き終わったら、メモ帳で「ファイル」>「名前を付けて保存」を選択します。ファイル名は「.ps1」で終わります。例えば、以下のようになります。
myscript.ps1
「ファイルの種類」ドロップダウンで「すべてのファイル」を選択してください。「テキストドキュメント」のままにしておくと、メモ帳ではmyscript.ps1.txtとして保存され、PowerShellではスクリプトとして認識されません。デスクトップやドキュメントフォルダ内のScripts専用フォルダなど、アクセスしやすい場所に保存してください。そうすれば、後で簡単に見つけることができます。
PowerShell実行ポリシーを構成する
ちょっと面倒ですが、Windowsのデフォルト設定ではスクリプトの実行がブロックされることがよくあります。もちろん、これはセキュリティ上の理由です。現在の設定を確認するには、Windows PowerShellアイコンを右クリックし、「管理者として実行」を選択して、次のように入力してください。
Get-ExecutionPolicy
「制限あり」と表示されている場合、スクリプトは実行されません。これを変更するには(きっと変更したくなるはずです)、以下を入力してください。
Set-ExecutionPolicy RemoteSigned
次に、 で確定しますY。これにより、PCで作成したスクリプトを実行できるようになりますが、ダウンロードしたスクリプトは署名が必要です。設定によっては、プロンプトが少し分かりにくかったり、PowerShellを一度閉じて再度開くように求められたりする場合がありますので、動作が不安定な場合は何度か試してみてください。
注意してください。一部の設定ではこの変更が適切ではないため、いじり終わったら制限に戻す方がよいでしょう。
PowerShellスクリプトを実行する
準備はできましたか?では、 myscript.ps1があるフォルダに移動してください。デスクトップにあるかもしれません。PowerShell を開き、そのフォルダ(今回の場合は以下のフォルダ)に移動します。
cd Desktop
最後に、次のコマンドでスクリプトを実行します。
.\myscript.ps1
PowerShell はコマンドを実行し、出力をすぐに確認できます。エラーが発生した場合は、メッセージで修正すべき箇所が示されます。場合によっては、特定の設定で PowerShell を管理者として再度実行したり、スクリプトの構文を再確認したりする必要があるかもしれませんが、これは学習の一部です。
PowerShell スクリプトを保存するにはどうすればいいですか?
正直なところ、スクリプトを正しく保存することが、勝利の半分です。必ず.ps1拡張子で保存し、「名前を付けて保存」メニューで「すべてのファイル」を選択してください。スクリプトは整理整頓しておきましょう。ドキュメントフォルダに専用のフォルダを作るなどして、後で多くのスクリプトを簡単に見つけて管理できるようにしましょう。
Visual Studio Code をお使いの場合も、同じように簡単です。.ps1拡張子で保存し、フォルダーを選択するだけで完了です。既存のスクリプトを右クリックしてお好みのエディターで開き、その場で微調整することも可能です。
よくある質問
PowerShell スクリプトとは何ですか?
これは、一連の自動化やタスクを実行するための PowerShell コマンドを記述したテキストファイルで、拡張子は.ps1です。レシピのようなもので、一度記述すれば、実行することで同じ作業を何度も自動的に実行できます。
PowerShell はデフォルトでインストールされていますか?
はい。Windows 11にはWindows PowerShell 5.1が組み込まれています。さらに、新機能やクロスプラットフォームサポートを利用するには、PowerShell 7をインストールする必要があります。これはオプションですが、多くの場合便利です。
スクリプトが実行されないのはなぜですか?
通常は実行ポリシーが原因です。 を使用して、制限されてGet-ExecutionPolicyいるかどうかを確認してください。制限されている場合は、 を使用して変更してください。セキュリティ設定の変更にはリスクがあるため、信頼できるスクリプトのみを実行してください。Set-ExecutionPolicy RemoteSigned
PowerShell とコマンドプロンプトの違いは何ですか?
PowerShellははるかに強力です。スクリプト、オブジェクト、パイプライン、そしてあらゆる種類の自動化をサポートしています。コマンドプロンプトはよりシンプルで、基本的なターミナルのようなものです。どちらにもそれぞれ使い道がありますが、現在Windowsタスクの自動化にはPowerShellが頼りになります。
スクリプトは後で編集できますか?
もちろんです。.ps1ファイルを右クリックして「編集」を選択してください。メモ帳またはデフォルトのエディタで開き、コマンドを調整して保存し、再度実行できます。
PowerShell スクリプトは安全ですか?
信頼できるソースからのスクリプトのみを実行してください。悪意のあるスクリプトは深刻な被害をもたらす可能性があります。自分でスクリプトを作成している場合や、ソースがわかっている場合は、十分に安全です。ただし、ランダムにダウンロードしたスクリプトを実行する前には必ず注意してください。Windowsのセキュリティには理由があります。
これでプロセスがスムーズに進むことを願っています。コツをつかめば、スクリプト作成はそれほど怖くなくなるでしょう。