初心者向けの Windows PowerShell スクリプト チュートリアル
あなたがテクノロジ愛好家であっても、スクリプト スキルを向上させたい専門家であっても、特に初心者向けにこの Windows PowerShell スクリプト チュートリアルを作成しました。したがって、PowerShell スクリプトに関する予備知識がない場合は、この投稿は基本から始めます。
インストール プロセスを順を追って説明し、PowerShell 環境を理解し、PowerShell スクリプトの中心となる概念と機能を徐々に紹介します。 PowerShell スクリプトを学ぶ準備ができている場合は、この力を与える旅を一緒に始めましょう。
Windows PowerShell とは何ですか?
Microsoft によって開発された PowerShell は、コマンド ライン シェルとスクリプト言語を組み合わせたものです。これにより、ユーザーはタスクを自動化し、複雑なシステム構成をより効率的に管理できるようになります。コマンド ライン処理、スクリプト機能、システム管理ツールを備えた PowerShell は、Windows オペレーティング システムを管理するためのシームレスで堅牢なプラットフォームを提供します。
PowerShellの機能と用途
したがって、PowerShell を使用すると、次のことが可能になります。
- コマンドレットを使用して開発します。
- タスクを自動化します。
- PowerShell スクリプトとコマンドレットを使用して、Windows OS デバイスをリモートで管理します。
- すべてのタイプにアクセスします。 NETフレームワーク。
- 管理に関連するイベントを聞き、転送し、行動する
- 単純な構文でサーバーとワークステーションのコンポーネントを制御します。
- アプリケーション間でデータを共有します。
- BITS (Background Intelligence Transfer Service) を使用したデバイス間のファイル転送のサポートが組み込まれています。
- ローカル デバイスまたは複数のリモート デバイスでスクリプト ジョブをバックグラウンドで実行します。
- VBScript や他のスクリプト言語と比較して安全にスクリプトを作成します。
詳細については、Windows PowerShell とは何か、および最新バージョンにアップグレードすることの機能と利点に関する詳細な投稿を参照してください。
初心者向けの Windows PowerShell スクリプト チュートリアル
したがって、システム管理者は、PowerShell を利用して問題を効率的に解決し、今後手動作業に時間を費やすことを避けることができます。とはいえ、この初心者向け Windows PowerShell スクリプト チュートリアルを終えると、PowerShell スクリプトを学ぶだけでなく、強固な基礎も身につけることができます。
- PowerShell を起動するにはどうすればよいですか?
- スクリプト実行ポリシー設定を確認する
- PowerShell コマンドレットとは何ですか?
- コマンドレットとコマンドの違い
- PowerShell スクリプトとは何ですか?
- PowerShell スクリプトのコンポーネントは何ですか?
- PowerShell スクリプトを実行する
1] PowerShell を起動するにはどうすればよいですか?
PowerShell は Windows にプレインストールされているため、個別にダウンロードしてインストールする必要はありません。 PowerShell を起動する方法は次のとおりです。
「スタート」を右クリックし、メニューから「Windows ターミナル」を選択します。
これにより、 PowerShellウィンドウが開きます。
管理者権限でPowerShellを開くには、 [スタート]を右クリックし、[Windows ターミナル(管理者)] を選択します。
これで、PowerShell でコマンドレットまたはコマンドを実行できるようになりました。
2] スクリプト実行ポリシー設定を確認する
PowerShell でのスクリプトの実行は、セキュリティ上の理由から自動的に制限されます。したがって、PowerShell でスクリプトを実行するための実行ポリシーを確認することをお勧めします。 PowerShell 実行ポリシーを確認するには、PowerShell スクリプト ファイルを作成して実行する必要があります。
3] PowerShell コマンドレットとは何ですか?
コマンドレットは、PowerShell で特定のアクションを実行する短くて軽量なコマンドです。コマンドレットは、一貫した構文に従う PowerShell スクリプトおよびコマンドの基本ブロックを形成します。 .NET で書かれており、Get-Process、Stop-Service、New-Itemなどの短いコマンドを使用して単一の機能を実行するように設計されています。したがって、これらは何かを開始するための命令に似ています。
4] コマンドレットとコマンドの違い
ただし、PowerShell スクリプトを学習するには、コマンドレットとコマンドの違いを理解する必要があります。コマンドレットは、他のコマンド シェル環境のコマンドとは異なります。その方法は次のとおりです。
- コマンドレットです。 NET Framework クラス オブジェクトであるため、これらのコマンドを個別に実行することはできません。
- コマンドレットはコマンドに比べて短いため、簡単に作成できます。
- PowerShell とは異なり、コマンドレットはエラーの表示、解析、出力の書式設定を処理しません。
- コマンドレットは、テキスト ストリームやオブジェクトではなく、オブジェクトに対して機能することが知られているためです。
- コマンドレットはレコードベースであるため、一度に 1 つのオブジェクトのみを処理します。
PowerShell の場合、次のような違いがあります。
- ほとんどのコマンドにはコマンドレットが含まれていますが、関数、エイリアス、外部実行可能プログラムなどの他の種類のコマンドもあります。
- コマンドレットは PowerShell の特定の種類のコマンドですが、コマンドにはより広範囲のアクションと機能を含めることができます。
つまり、コマンドレットは PowerShell のコマンドですが、PowerShell のすべてのコマンドが必ずしもコマンドレットであるとは限りません。
5] PowerShell スクリプトとは何ですか?
ここで管理タスクを自動化するには、コマンドレット、関数、変数などを使用して PowerShell でステートメントを作成します。このプロセスはスクリプトと呼ばれます。これは、管理タスクの自動化に役立つ PowerShell 言語です。タスクを実行するには、ステップを作成します。これらのステップは、拡張子.ps1を持つファイルにさらに保存されます。このファイルは、実行する必要があるスクリプトです。
したがって、スクリプトのステップを構成するコンポーネントを以下に示します。
6] PowerShell スクリプトのコンポーネントは何ですか?
PowerShell コマンドのリスト
- Get-Process – システムの実行中のプロセスに関連する詳細を取得します。
- Get-Service – システム上のサービスの現在のステータスを取得します。
- Get-ChildItem – ディレクトリ内のファイルとフォルダーのリスト全体を取得します。
PowerShell データ型
通常の PowerShell データ型には次のようなものがあります。
- 文字列– 一重引用符 (‘ ‘) または二重引用符 (” “) で囲まれた一連の文字。文字、数字、記号、スペースが含まれます。
- 整数– これらは、小数または小数部分を除いた整数です。
- Double – これらは 10 進精度の浮動小数点数です。たとえば、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 番目の要素からの出力: 緑
Write-Host $colors[2] # 3 番目の要素からの出力: blue
次のようにインデックスに新しい値を割り当てることもできます。
$colors = ("red", "green", "blue")
$colors[1] = “白”
書き込みホスト $colors[1] # 出力: 白
PowerShell 変数
これらはコマンドの引数であり、値を保存するために使用されます。
変数名は$で始まり、その後に変数名が続きます。変数名では大文字と小文字が区別されないことに注意してください。たとえば、$colors と $Colors の両方を記述しても問題ありません。
変数に値を割り当てるには、以下に示すように=記号を使用する必要があります。
-
$Color = "Red"
-
$number = 20
PowerShell パイプ
PowerShell パイプ (パイプラインとも呼ばれます) は、演算子または記号です。、あるコマンドレットの出力を別のコマンドレットに渡します。これは、複雑なタスクに役立つ単一行コマンドの作成に役立ちます。
以下は、すべてのシステム サービスを取得し、 Statusに基づいてそれらを分類するのに役立つ例です。
Get-Service | Sort-Object -Property Status
PowerShell オペレーター
オペレーター |
記号 |
目的 |
算術演算子 | +、-、*、/、% | 数値を計算する |
代入演算子 | %=、+=、-=、=、*=、/= | 変数への値の割り当て、変更、または変更を支援します。 |
比較演算子 | -le、-ne、-gt、-lt、-eq、-ge | 2 つの整数または文字列値を比較し、演算子の条件が満たされるかどうかに基づいて True/False を返す二項演算子。 |
論理演算子 | -or、-xor、-and、-not、! | これらはブール値に基づいて、複数の演算子式とステートメントを複雑な条件に加算します。これらは出力をブール値で返します。 |
リダイレクト演算子 | >>、>、2>>、2>、および 2>&1 | コマンドまたは式の出力をテキスト ファイルに送信します。 |
分割演算子と結合演算子 | -分割、-結合 | 部分文字列を分割して追加します。 |
型演算子 | -はありません、-は、-として | を検索または修正します。 NET Framework のオブジェクトの種類。 |
単項演算子 | ++(増分)、—(減分) | 変数の値を 1 ずつ増減します。 |
コマンドレットの詳細を確認するには、以下のコマンドを使用できます。
Get help for cmdlets
最も一般的に使用されるコマンドについては、基本的な PowerShell コマンドに関する詳細な投稿を参照してください。
7] PowerShell スクリプトを実行します
PowerShell ISE アプリは Windows 11 にプレインストールされていますが、コンピューター上に見つからない場合は、オプション機能を使用して PowerShell ISE をインストールできます。
PowerShell ISE を起動するには、管理者特権の Windows PowerShell を開き、以下のコマンドを入力してEnter キーを押します。
powershell_ise.exe
PowerShell ISE に関連する詳細情報は、Microsoft の公式ページから入手できます。
PowerShell スクリプトを学習するには、PowerShell スクリプト ファイルを作成して実行する方法を次に示します。また、PowerShell ウィンドウで実行できる以下のサンプル スクリプトも指定しました。
# Prompt the user for their name
$name = 読み取りホスト “名前を入力してください”
# ユーザーに挨拶する
Write-Host “こんにちは、$name! PowerShell スクリプトへようこそ。”
スクリプトを入力したら、メニュー バーの緑色の矢印アイコンをクリックしてスクリプトを実行するか、 F5を押します。
次に、[名前を入力してください:] フィールドの横に名前を入力し、 Enterを押します。
以下のような挨拶文が生成されます。
Hello, Madhu! Welcome to PowerShell scripting.
PowerShell スクリプトを早く学ぶにはどうすればよいですか?
PowerShell スクリプトをすばやく学習するには、コマンド ライン インターフェイスの基本と一般的なコマンドレットを理解します。スクリプトの基礎と Windows 管理を理解しておくと役立ちます。実践的な練習を優先し、オンライン チュートリアルを使用し、PowerShell コミュニティに参加し、小さなスクリプトを頻繁に作成してテストして、スキルを効率的に構築します。
コメントを残す