初心者向け Powershell チュートリアル: Powershell スクリプトを学ぶ
PowerShellとは何ですか?
Windows PowerShellの は、オブジェクト指向の自動化エンジンおよびスクリプト言語です。主に IT プロフェッショナルとシステム管理者向けに設計されており、管理を制御および自動化できます。 Windows OSやその他のアプリケーション。これまでに得た知識や作成したスクリプトを拡張するための魅力的な新しい概念を提供します。 Windows コマンドプロンプトと Windows スクリプトホスト環境。
スクリプトの柔軟性、コマンドラインのスピード、GUI ベースの管理ツールのパワーを兼ね備えています。システム管理者が将来の手作業時間を削減できるようにすることで、問題を効率的に解決できます。PowerShell を学ぶために知っておくべき重要な側面をすべて説明します。
これは Powershell スクリプトの基本に関する完全なガイドです…始めましょう!
Powershell を使用する理由
Powershell を使用する重要な理由をいくつか示します。
- Powershellは、オペレーティングシステムに統合されたコマンドラインエクスペリエンスを提供します。
- PowerShell を使用すると、.NET Framework のすべての型に完全にアクセスできます。
- システム管理者から信頼されています。
- PowerShell はサーバーとワークステーションのコンポーネントを操作する簡単な方法です
- より簡単な構文を作成することで、システム管理者向けに設計されています。
- PowerShell は実行するより安全です VBScript または他のスクリプト言語
PowerShell の歴史
PowerShell の最初のバージョン 1.0 は 2006 年にリリースされました。現在、PowerShell のバージョンは 7.2 です。 年が経ち、バージョンが経つにつれて、PowerShell の機能とホスティング環境は大幅に成長しました。
Powershell のバージョンごとの履歴を見てみましょう:
- PowerShell バージョン 1 では、次のローカル管理がサポートされていました。 Windows サーバ2003
- PowerShell 2.0 が統合されました Windows 7本、そして Windows サーバー2008 R2。このバージョンではリモート処理がサポートされ、トランザクション、バックグラウンド ジョブ、イベント、デバッグなどの PowerShell の機能が強化されています。
- PowerShell 3.0 は、 Windows 管理フレームワーク。にインストールされました Windows 8本、そして Windows Server 2012。ジョブ、セッション接続、自動モジュール読み込みなどを追加およびスケジュールできます。
- PowerShell 4.0 は同梱されていました Windows 8.1本、そして Windows サーバー2012 R2。このバージョンでは、望ましい状態の構成、強化されたデバッグ、ネットワーク診断のサポートが追加されました。
- PowerShell 5.0 は、の内部部分としてリリースされました。 Windows 管理フレームワーク 5。このバージョンで提供される機能は、リモート デバッグ、クラス定義、.NET 列挙などです。
- PowerShell 7.2 がリリースされました。これは .NET 6.0 上に構築されています。このバージョンでは、新しい演算子、簡素化された動的なエラー ビュー、新しいバージョンの自動通知などが提供されます。
次に、この Powershell スクリプト チュートリアルでは、Powershell の機能について学びます。
Powershellの特徴
- PowerShellリモート処理: PowerShell を使用すると、リモート マシン上でスクリプトとコマンドレットを呼び出すことができます。
- バックグラウンドジョブ: スクリプトまたはパイプラインを非同期的に呼び出すのに役立ちます。ジョブは、ローカル マシンまたは複数のリモート操作マシンで実行できます。
- 取引: コマンドレットを有効にし、開発者が実行できるようにします。
- イブニング: このコマンドは、管理イベントとシステム イベントをリッスン、転送、および操作するのに役立ちます。
- ネットワークファイル転送: Powershell は、バックグラウンド インテリジェント転送サービス (BITS) テクノロジを使用して、マシン間で優先順位が付けられ、非同期で調整されたファイル転送をネイティブにサポートします。
PowerShellの起動方法
この Powershell スクリプト チュートリアルでは、Powershell を起動する方法を学びます。 Windows OS。
PowerShell は、すべての最新バージョンにプリインストールされています。 Windows。 PowerShell を起動する必要があるため、指定された手順に従う必要があります。
ステップ1) PowerShell を検索します Windows。選択してクリック
ステップ2) パワーシェルウィンドウが開きます
PowerShellコマンドレット
Command let とも呼ばれるコマンドレットは、Windows ベースの PowerShell 環境で使用される軽量のコマンドです。 PowerShell は、コマンド プロンプトでこれらのコマンドレットを呼び出します。 PowerShell APIS を使用してコマンドレット コマンドを作成し、呼び出すことができます。
コマンドレットとコマンド
コマンドレットは、他のコマンド シェル環境のコマンドと次の点で異なります。
- コマンドレットは NET Frameworkの クラスオブジェクトを個別に実行することはできません
- コマンドレットはわずか数十行のコードから構築できます
- 解析、出力の書式設定、およびエラーの表示はコマンドレットでは処理されません
- コマンドレット プロセスはオブジェクトに対して動作します。 そのため、テキスト ストリームとオブジェクトをパイプラインの出力として渡すことはできません。
- コマンドレットはレコードベースであるため、一度に XNUMX つのオブジェクトを処理します。
PowerShell の機能のほとんどはコマンドレットから来ており、コマンドレットは常に動詞と名詞の形式であり、複数形ではありません。 さらに、コマンドレットはテキストではなくオブジェクトを返します。 コマンドレットは、複数行からなる一連のコマンドであり、.ps1 拡張子の付いたテキスト ファイルに保存されます。
コマンドレットは常に、ハイフンで区切られた動詞と名詞で構成されます。 PowerShell を学習するために使用される動詞には、次のようなものがあります。
- 以上 — 何かを得るために
- お気軽にご連絡ください — 何かを実行するため
- でる — 何かをアウトプットすること
- Force Stop — 実行中のものを停止する
- 作成セッションプロセスで — 何かを定義するには
- New — 何かを生み出すということ
PowerShellのコマンド
重要な PowerShell コマンドのリストを次に示します。
助けを得ます: PowerShell コマンドとトピックに関するヘルプ
例: コマンド Format-Table に関するヘルプ情報を表示します。
Get-Help Format-Table
取得コマンド: 呼び出すことができるものに関する情報を取得する
Powershell スクリプトの例: マシンにインストールされているコマンドレット、関数のリストを生成するには
Get-Command
サービスの取得: 「service」という単語が含まれるすべてのコマンドレットを検索します。
例: 「vm」で始まるすべてのサービスを取得します
Get-Service "vm*"
メンバーを取得: オブジェクトを使って何ができるかを示す
例: vm プロセスのメンバーを取得します。
Get-Service "vm*" | Get-Member
その他のコマンド:
- Get Module コマンドのパッケージを表示します
- コンテンツの取得 このコマンドレットは、ファイルを取得してそのコンテンツを処理し、それに対して何かを実行できます。
- Get- get 単語「get-」で始まるすべてのコマンドレットを検索します。
例: フォルダーを作成する
New-Item -Path 'X:\Guru99' -ItemType Directory
出力:
Powershell データ型

特殊な変数
特殊変数 | 説明 |
---|---|
$エラー | 最新のエラーを表示するエラー オブジェクトの配列 |
$ホスト | 現在のホスティング アプリケーションの名前を表示します |
$プロフィール | デフォルトシェルのユーザープロファイルの完全なパスを保存します |
$ PID | プロセス識別子を格納します |
$PSUICulture | 現在の UI 文化の名前が保持されています。 |
$NULL | 空または NULL 値が含まれています。 |
$False | FALSE値が含まれています |
$True | TRUE 値が含まれています |
PowerShellスクリプト
Powershell スクリプトは .ps1 ファイルに保存されます。デフォルトでは、ファイルをダブルクリックするだけではスクリプトを実行できません。これにより、システムが偶発的な被害から保護されます。スクリプトを実行するには:
ステップ 1: それを右クリックし、「PowerShell で実行」をクリックします。
さらに、スクリプトの実行を制限するポリシーがあります。 このポリシーは、Get-ExecutionPolicy コマンドを実行すると確認できます。
次のいずれかの出力が表示されます。
- 制限付き— スクリプトは許可されません。 これはデフォルト設定であるため、コマンドを実行すると初めて表示されます。
- すべて署名済み— 信頼できる開発者によって署名されたスクリプトを実行できます。 この設定を利用すると、スクリプトは実行前に実行するかどうかの確認を求められます。
- RemoteSigned— 信頼できる開発者によって署名されたスクリプトを実行できます。
- 無制限の— 実行したいスクリプトを実行できます
実行ポリシーを変更する手順
ステップ1) 管理者特権で PowerShell プロンプトを開きます。 PowerShellを右クリックして「管理者として実行」
ステップ2) 次のコマンドを入力してください
- Get-ExecutionPolicy
- 無制限の実行ポリシーの設定
- プロンプトに「Y」と入力します
- Get-ExecutionPolicy
最初の PowerShell スクリプト
メモ帳に次のコマンドを記入してください
Write-Host "Hello, Guru99!"
PowerShell スクリプトには拡張子 ps1 が付いています。 ファイルを FirstScript.ps1 として保存します。
Powershell で、次のコマンドを使用してスクリプトを呼び出します。
& "X:\FirstScript.ps1"
PowerShell ISE とは何ですか?
この Windows PowerShell 統合スクリプト環境 (ISE) は、 Windows パワーシェル。この ISE では、ウィンドウ ベースの GUI 環境でコマンドの実行、テストの作成、およびスクリプトのデバッグを行うことができます。複数行の編集、構文の色付け、タブ補完、選択的実行など、さまざまな機能を実行できます。
Windows PowerShell ISE では、コンソール ペインでコマンドを実行することもできます。ただし、スクリプトのソース コードと ISE にプラグインできるその他のツールを同時に表示するために使用できるペインもサポートされています。
複数のスクリプト ウィンドウを同時に開くこともできます。これは、他のスクリプトまたはモジュールで定義された関数を使用するスクリプトをデバッグする場合に特に便利です。

メモ帳で作成したのと同じスクリプトを ISE で作成できます。
- コードをエディターに貼り付けます
- スクリプトを保存
- F5 を使用してスクリプトを実行します
- コンソールの出力を確認する
サンプル2:
次のコードは無料 仮想メモリ あなたのマシンの中で
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShellの Concepts
この初心者向け Powershell チュートリアルでは、重要な Powershell の概念について学習します。
コマンドレット | コマンドレットは、VB や C# などの .net 言語で書かれたビルド コマンドです。 これにより、開発者は PowerShell スナップインを読み込んで書き込むことでコマンドレットのセットを拡張できます。 |
機能 | 関数は、PowerShell 言語で記述されたコマンドです。 他のIDEなどを使わずに開発可能 Visual Studioの そして開発者たち。 |
スクリプト | スクリプトは、拡張子 .ps1 が付いたディスク上のテキスト ファイルです。 |
アプリケーション | アプリケーションは既存の Windows プログラムです。 |
仮に | コマンドレットを実行しないように指示しますが、コマンドレットが実行された場合に何が起こるかを指示します。 |
確認します | コマンドを実行する前にプロンプトを表示するようにコマンドレットに指示します。 |
冗長 | より高いレベルの詳細を提供します。 |
デバッグ | コマンドレットにデバッグ情報を提供するように指示します。 |
エラーアクション | エラーが発生したときに特定のアクションを実行するようにコマンドレットに指示します。 許可されるアクションは、続行、停止、サイレント続行、および問い合わせです。 |
エラー変数 | エラー情報を保持する変数を指定します。 |
アウト変数 | 出力情報を保持するために特定の変数を使用するようにコマンドレットに指示します。 |
でるBuffer | パイプライン内の次のコマンドレットを呼び出す前に、特定の数のオブジェクトを保持するようにコマンドレットに指示します。 |
PowerShell スクリプトを使用する利点
- PowerShell スクリプトは非常に強力で、より少ない行で多くのことを実行できます。
- 変数は $ の形式で宣言されます。
- 変数は、コマンド、オブジェクト、値の出力を保持するために使用できます。
- 変数の「型」を指定する必要はありません。
PowerShell とコマンド・プロンプト
PowerShellの | コマンドプロンプト |
---|---|
PowerShell は、 Windows OS。インタラクティブなコマンド ライン インターフェイスとスクリプト言語を提供します。 | コマンド プロンプトは、によって提供されるデフォルトのコマンド ライン インターフェイスです。 Microsoft。これは、任意の win32 オブジェクトと対話して通信できるシンプルな win32 アプリケーションです。 Windows オペレーティング·システム。 |
PowerShell は、いわゆるコマンドレットを使用します。 これは、ランタイム環境または自動化スクリプトのいずれかで呼び出すことができます。 | コマンド プロンプトではそのような機能は提供されません。 |
PowerShell はそれらをオブジェクトとして認識します。 したがって、出力はパイプラインを通じて他のコマンドレットに入力として渡すことができます。 | コマンド プロンプトや *nix シェルでも、コマンドレットから生成される出力は単なるテキストのストリームではなく、オブジェクトのコレクションです。 |
PowerShell は、機能、能力、内部機能に関して非常に高度です。 | コマンドプロンプトは非常に基本的なものです。 |
Powershellのアプリケーション
今日、PowerShell は、大規模な企業ネットワークでの管理操作と労力を軽減するため、IT 管理者にとって理想的な選択肢となっています。たとえば、400 台を超えるサーバーを含む大規模なネットワークを管理しているとします。ここで、新しいセキュリティ ソリューションを実装したいと考えています。このセキュリティ ソリューションは、それらのサーバー上で実行する必要がある特定のサービスに依存しています。
各サーバーにログインして、そのサービスがインストールされ実行されているかどうかを確認できます。 ただし、スタッフはこの非生産的なプロセスに多くの時間を費やす必要があるため、確かに多くの人的エラーが発生します。
ただし、PowerShell を使用すると、このタスクをわずか数分で完了できます。これは、サーバー上で実行されているサービスに関する情報を収集する単一のスクリプトで操作全体が実行されるためです。
まとめ
- Windows PowerShell はオブジェクト指向の自動化エンジンおよびスクリプト言語です
- Powershellは、オペレーティングシステムに統合されたコマンドラインエクスペリエンスを提供します。
- PowerShell の最初のバージョン 1.0 は 2006 年にリリースされました
- PowerShell を使用すると、リモート マシン上でスクリプトとコマンドレットを呼び出すことができます
- PowerShell は、すべての最新バージョンにプリインストールされています。 Windows
- コマンドレットは、Windows ベースの PowerShell 環境で使用される軽量のコマンドです。
- Get、Start、Out、Stop、Set、New は重要な PowerShell コマンドです
- Boolean、Byte、Chat、Decimal、Decimal、Long は PowerShell の重要なデータ型です
- $エラー。 $Host、$Profile、$PID、$PSUICulture、$NULL は、PowerShell で使用される特殊な変数です。
- この Windows PowerShell Integrated Scripting Environment (ISE) は PowerShell のデフォルトのエディターです
- PowerShell は、 Windows コマンド プロンプトは OS によって提供されるデフォルトのコマンド ライン インターフェイスです。 Microsoft
- PowerShellは、大規模な企業ネットワークの管理操作と労力を軽減するため、IT管理者にとって理想的な選択肢となっています。