Windows PowerShell スクリプティング初心者向けチュートリアル

テクノロジー愛好家であろうと、スクリプティングスキルを向上させたい専門家であろうと、このWindows PowerShell スクリプティング初心者向けチュートリアルは特にあなたのために設計されています。PowerShell スクリプティングに関する知識がまったくない場合、この投稿は基本から始めます。

インストールプロセスを説明し、PowerShell 環境を理解するのに役立て、PowerShell スクリプティングのコアコンセプトと機能を段階的に紹介します。PowerShell スクリプティングを学ぶ準備ができたら、この素晴らしい旅を一緒に始めましょう!

Windows PowerShell とは?

Microsoft によって開発された PowerShell は、コマンドラインシェルとスクリプティング言語を組み合わせたものです。ユーザーはタスクを自動化し、複雑なシステム構成をより効率的に管理できます。コマンドライン処理、スクリプティング機能、システム管理ツールを備えた PowerShell は、Windows オペレーティングシステムを管理するためのシームレスで堅牢なプラットフォームを提供します。

PowerShell の機能と用途

したがって、PowerShell を使用すると次のことができます。

  • コマンドレットを使用して開発する。
  • タスクを自動化する。
  • PowerShell スクリプトとコマンドレットを使用して、Windows OS デバイスをリモートで管理する。
  • すべてのタイプの .NET フレームワークにアクセスする。
  • 管理に関連するイベントをリッスン、転送、および処理する
  • 単純な構文でサーバーとワークステーションのコンポーネントを制御する。
  • アプリケーション間でデータを共有する。
  • BITS (バックグラウンドインテリジェンストランスファサービス) を使用して、デバイス間でファイルを転送するための組み込みサポートを取得する。
  • ローカルデバイスまたは複数のリモートデバイスでバックグラウンドでスクリプトジョブを実行する。
  • VBScript やその他のスクリプティング言語と比較して安全にスクリプトを作成する。

詳細については、Windows PowerShell とは何ですか、および最新バージョンにアップグレードすることの機能と利点に関する詳細な投稿を参照してください。

Windows PowerShell スクリプティング初心者向けチュートリアル

システム管理者であれば、PowerShell を活用して問題を効率的に解決し、将来の手作業に時間を費やすのを防ぐことができます。つまり、この Windows PowerShell スクリプティング初心者向けチュートリアルの最後には、PowerShell スクリプティングを学ぶだけでなく、確固たる基盤も得られるでしょう。

  1. PowerShell を起動する方法?
  2. スクリプト実行ポリシー設定を確認する
  3. PowerShell コマンドレットとは?
  4. コマンドレットとコマンドの違い
  5. PowerShell スクリプティングとは?
  6. PowerShell スクリプトのコンポーネントは?
  7. PowerShell スクリプトを実行する

1] PowerShell を起動する方法?

PowerShell は Windows にプリインストールされているため、個別にダウンロードしてインストールする必要はありません。PowerShell を起動する方法は次のとおりです。

スタートを右クリックし、メニューからWindows ターミナルを選択します。

これにより、PowerShellウィンドウが開きます。

PowerShellを管理者権限で開くには、スタートを右クリックし、Windows ターミナル(管理者)を選択します。

これで、コマンドレットまたはコマンドを PowerShell で実行できます。

2] スクリプト実行ポリシー設定を確認する

セキュリティ上の懸念から、PowerShell でスクリプトを実行することは自動的に制限されています。したがって、PowerShell でスクリプトを実行するための実行ポリシーを確認することをお勧めします。PowerShell 実行ポリシーを確認するには、PowerShell スクリプトファイルを作成して実行する必要があります。

3] PowerShell コマンドレットとは?

コマンドレットは、PowerShell で特定のアクションを実行する、短く軽量なコマンドです。コマンドレットは、一貫した構文に従う PowerShell スクリプトとコマンドの基本的なブロックを形成します。.NET で記述されており、Get-ProcessStop-Service、またはNew-Item などの短いコマンドを使用して単一の関数を実行するように設計されています。したがって、これらは何かを開始するための命令のようなものです。

4] コマンドレットとコマンドの違い

PowerShell スクリプティングを学ぶには、コマンドレットとコマンドの違いを理解する必要があります。コマンドレットは、他のコマンドシェル環境のコマンドとは異なります。その方法は次のとおりです。

  • コマンドレットは .NET Framework クラスオブジェクトであるため、これらのコマンドを個別に実行することはできません。
  • コマンドレットは、コマンドと比較して短いため、簡単に作成できます。
  • PowerShell とは異なり、コマンドレットはエラーの提示、解析、または出力のフォーマットを処理しません。
  • コマンドレットはテキストストリームとオブジェクトではなく、オブジェクトに対して機能することが知られているためです。
  • コマンドレットはレコードベースであるため、一度に 1 つのオブジェクトのみを処理します。

PowerShell の違いは次のとおりです。

  • ほとんどのコマンドにはコマンドレットが含まれていますが、関数、エイリアス、または外部実行可能プログラムなどの他のタイプのコマンドもあります。
  • コマンドレットは PowerShell の特定の種類のコマンドですが、コマンドはより広範囲のアクションと機能を網羅できます。

つまり、コマンドレットは PowerShell のコマンドですが、PowerShell のすべてのコマンドが必ずしもコマンドレットであるわけではありません。

5] PowerShell スクリプティングとは?

管理タスクを自動化するには、コマンドレット、関数、変数などを用いて PowerShell でステートメントを作成します。このプロセスをスクリプティングと呼びます。管理タスクを自動化するのに役立つのがこの PowerShell 言語です。タスクを実行するには、手順を作成し、これらの手順を.ps1拡張子を持つファイルに格納します。このファイルは、実行する必要があるスクリプトです。

以下に、スクリプトの手順を構成するコンポーネントを示します。

6] PowerShell スクリプトのコンポーネントは?

に、スクリプトの手順を形成するコンポーネントを示します。

6] PowerShell スクリプトのコンポーネントは?

PowerShell コマンド一覧

  • Get-Process: システムの実行プロセスに関連する詳細を引き出します。
  • Get-Service: システム上のサービスの現在のステータスを取得します。
  • Get-ChildItem: ディレクトリ内のファイルとフォルダのリスト全体を引き出します。

PowerShell データ型

一般的な PowerShell データ型には以下のようなものがあります。

  • 文字列: 一重引用符 (') または二重引用符 (") で囲まれた、文字、数字、記号、スペースを含む一連の文字。
  • 整数: 小数点や分数部分のない整数。
  • 浮動小数点数: 小数点以下の精度を持つ浮動小数点数。たとえば、2.15 または -0.2。
  • ブール値: 条件式や比較で一般的に使用され、true または false の値を取ります。
  • ハッシュテーブル: キーと値のペアのクラスターで、各キーはパスワードのように一意である必要があります。主に、名前付きキーを使用してデータを格納および取得するために使用されます。
  • 配列: 同じデータ型に属する、順序付けされたインデックス付き要素のグループ。たとえば、名前のセットや整数。PowerShell で配列を作成するには、コンマで区切られた値のリストを角かっこで囲んで変数に割り当てます。以下に例を示します。
$colors = ("red", "green", "blue")

配列の各要素に個別にアクセスするには、インデックス演算子 [n] を使用できます。原則として、配列の最初の要素のインデックスは常に 0 です。次の例を参照してください。

$colors = ("red", "green", "blue")
Write-Host $colors[0] # 最初の要素からの出力: red
Write-Host $colors[1] # 2 番目の要素からの出力: green
Write-Host $colors[2] # 3 番目の要素からの出力: blue

インデックスに新しい値を割り当てることもできます。例を次に示します。

$colors = ("red", "green", "blue")
$colors[1] = "white"
Write-Host $colors[1] # 出力: white

PowerShell 変数

これらはコマンドの引数であり、値を格納するために使用されます。

変数名は$ で始まり、変数の名前が続きます。変数名はケースセンシティブではないことに注意してください。たとえば、$colors と $Colors のどちらを書いても問題ありません。

変数に値を割り当てるには、= 記号を使用する必要があります。以下に例を示します。

  • $Color = "Red"
  • $number = 20

PowerShell パイプ

PowerShell パイプ (パイプラインとも呼ばれます) は、あるコマンドレットの出力を別のコマンドレットに渡す演算子または記号| です。これにより、複雑なタスクに役立つ単一行コマンドを作成できます。

次の例では、すべてのシステムサービスを取得し、ステータスに基づいて分類します。

Get-Service | Sort-Object -Property Status

PowerShell 演算子

演算子

記号

目的

算術演算子+, -, *, /, %数値を計算する
代入演算子%=, +=, -=, =, *=, /=変数に値を代入、変更、または変更するのに役立ちます。
比較演算子-le, -ne, -gt, -lt, -eq, -ge演算子の条件が満たされているかどうかに基づいて True/False を返す、2 つの整数または文字列値を比較するバイナリ演算子。
論理演算子-or, -xor, -and, -not, !ブール値に基づいて、複数の演算子式とステートメントを複雑な条件式に追加します。ブール値で出力を返します。
リダイレクト演算子>>, >, 2>>, 2>, and 2>&1コマンドまたは式の出力をテキストファイルに送信します。
分割および結合演算子-Split, -Join部分文字列を分割して追加します。
型演算子-is not, -is, -asオブジェクトの .NET Framework 型を検索または修正します。
単項演算子++ (増分)、— (減分)変数の値を 1 増減します。

コマンドレットの詳細を確認するには、次のコマンドを使用できます。

コマンドレットのヘルプを取得する

最も一般的に使用されるコマンドについては、基本的な PowerShell コマンドに関する詳細な投稿を参照してください。

7] PowerShell スクリプトを実行する

メモ帳を使用してスクリプトを作成してから PowerShell から呼び出すことができますが、PowerShell Integrated Scripting Environment (ISE) を使用することをお勧めします。

PowerShell ISE アプリは Windows 11 にプリインストールされていますが、お使いのコンピュータにない場合は、オプションの機能から PowerShell ISE をインストールできます。

PowerShell ISE を起動するには、管理者権限で Windows PowerShell を開き、次のコマンドを入力してEnter キーを押します。

powershell_ise.exe

PowerShell ISE の詳細については、公式の Microsoft ページから入手できます。

スクリプトを入力したら、メニューバーにある緑色の矢印アイコンをクリックして実行するか、F5 キーを押します。

次に、名前を入力: フィールドの横にご自分の名前を入力してEnter キーを押します。

次の挨拶が表示されます。

こんにちは、Madhu! PowerShell スクリプティングへようこそ。

PowerShell スクリプティングを早く習得するにはどうすればよいですか?

PowerShell スクリプティングを素早く習得するには、コマンドラインインターフェイスの基本と一般的なコマンドレットを理解します。スクリプティングの基本と Windows 管理を把握しておくと便利です。実践を優先し、オンラインチュートリアルを利用し、PowerShell コミュニティに参加し、小さなスクリプトを頻繁に作成してテストして、スキルを効率的に向上させます。