最初の PowerShell スクリプトを作成する

[novashare_inline_content]

この記事では、初めての PowerShell スクリプトの作成方法、基本的なコマンド、ヒントについて説明します。 PowerShell をマスターするには練習が鍵であることに留意してください。スクリプトを作成すればするほど、言語とその機能をより理解できるようになります。

PowerShell スクリプトのプレゼンテーション

PowerShell というコンピューター言語をご存知ですか? 2006 年に誕生し、CMD に代わるものとして、より強力な機能を備えているだけでなく、より直感的な関数の名前も付けられています。 PowerShell も Microsoft のシステム タスク自動化ツールです。これは、Windows オペレーティング システムのすべてのリソースと対話できるコマンド ライン インターフェイスに基づいています。 Windows にプレインストールされた 5.2 やマルチプラットフォーム v7 など、いくつかのバージョンがあります。も簡単にできますPowerShellのバージョンを知るシステムにインストールされています。

スクリプト作成では、反復的なタスクや複雑なタスクを自動化するスクリプト、つまりプログラムを作成します。別のプログラムまたは PowerShell は、スクリプトを呼び出して実行できます。そのスクリプト言語は Microsoft の .NET Framework に基づいており、COM オブジェクトや Web サービスなどの .NET リソースと対話できます。

PowerShell エディターを選択してください

任意のテキスト エディターを使用して、PowerShell でスクリプトを作成できます。ただし、主なもののリストは次のとおりです。

  • PowerShell ISE: Windows に統合されており、使いやすく、マウスでスクリプトを操作できるグラフィカル インターフェイスが含まれています。
  • Visual Studioコード: Microsoft によって開発された無料のコード エディター。これは開発者の間で非常に人気があり、PowerShell 開発エクスペリエンスを向上させる拡張機能を提供します。
  • メモ帳++: 多くの言語と互換性のある Windows 用のオープンソース テキスト エディター。軽くて高速なので、あらゆる種類のスクリプトの作成に使用できます。
  • 崇高なテキスト: エディターは非常にカスタマイズ可能で、PowerShell 開発用の高度な機能が含まれています。有料で、Windows、macOS、Linux と互換性があります。

主な違いはアプリケーションのスタイルだけでなく、使いやすさにもあります。たとえば、スクリプトの全体的なビューを提供するものや、可変の色付けや自動補完を提供するものもあります。

Windows メモ帳を使用して最初の PowerShell スクリプトを作成することもできますが、ヘルプや特別な書式設定は提供されません。始めるには、以下をお勧めしますPowerShell ISE, Windows に標準でインストールされているので、文章作成に役立ちます。

スクリプトの実行を許可する

最初のスクリプトの作成に入る前に、PC 上で PowerShell スクリプトの実行を許可する必要があります。実際、Windows では、不正なコードからコンピューターを保護するために、PowerShell スクリプトの実行をネイティブに禁止しています。事前の承認なしにスクリプトを実行しようとすると、エラーが発生します。ファイル c:\… のロードに失敗しました。このシステムではスクリプトの実行が無効になっているため、» :

スクリプトの実行ステータスは、次のコマンドで確認できます。PowerShell ウィンドウ:

Get-ExecutionPolicy

次のいずれかの値を取得します。

  • 制限付き: ソースに関係なく、PowerShell スクリプトの実行を防止します。 PowerShell スクリプトは、信頼できる発行者によってデジタル署名されている場合、またはユーザーがスクリプトの実行を明示的に許可している場合にのみ実行できます。
  • すべて署名済み: 信頼できる編集者によってデジタル署名された PowerShell スクリプトの実行を許可します。信頼できないソースからの PowerShell スクリプトは実行できません。
  • リモート署名済み: 信頼できる発行者によってデジタル署名された PowerShell スクリプトの実行と、システム上でローカルに実行される PowerShell スクリプトの実行を許可します。信頼できないソースからの PowerShell スクリプトは実行できません。
  • 無制限: ソースに関係なく、PowerShell スクリプトの実行を許可します。インターネットからスクリプトを実行する場合は、確認を求められます。
  • バイパス: 実行ポリシーのチェックを完全に無効にし、署名の有無にかかわらず、すべての PowerShell スクリプトの実行を許可します。悪意のあるスクリプトがシステム上で実行される場合、これは非常に危険です。

ローカルで作成されたスクリプトを実行できるようにするために、ポリシーを定義します。リモート署名済み、とコマンド Set-ExecutionPolicy管理者として PowerShell ウィンドウで次のように操作します。

Set-ExecutionPolicy Remote Signed

これで、最初の PowerShell スクリプトを開始する準備が整いました。

最初の PowerShell スクリプトを作成する

ここでは、最初の Powershell スクリプトを設計する方法を学習します。という拡張子のファイルを作成します.ps1、 例えば "monscript.ps1» (これは PowerShell スクリプト拡張機能です)。これはメモ帳で編集します。

または、PowerShell ISE ウィンドウで直接書き込みを開始します。

PowerShell スクリプトを開始するには、コマンド、変数、関数などの言語の基本要素を理解することが重要です。以下は、文字列「Hello world!」を表示するスクリプトの簡単な例です。 » コンソール内:

次のステートメントをエディタに入力し、ファイルを保存します。 「Write-Host」コマンドはコンソールに文字列を表示します。

Write-Host "Hello world !"

スクリプトを作成したら、PowerShell を開いてスクリプトの名前を入力し、その後に「.ps1」を入力することでスクリプトを実行できます。たとえば、スクリプトの名前が「myscript.ps1」の場合、コンソールに次のコマンドを入力して実行できます。

.\monscript.ps1

これにより、スクリプトが実行され、結果がコンソールに表示されます。

💡 スクリプトの作成をさらに練習するには、以下をチェックしてください。PowerShell スクリプトの例

PowerShell スクリプトのコンポーネント

PowerShell スクリプトはいくつかの要素で構成されており、主なものは次のとおりです。

注文

コマンドは、PowerShell でアクションを実行する命令です。コマンドは、実行されるアクションを説明する動詞で始まり、その後にアクションが実行されるオブジェクトを説明する名詞が続きます。

ディレクトリの内容を一覧表示する PowerShell コマンドの例を次に示します。

Get-ChildItem C:\\\\mon_repertoire

このコマンドは次のコマンドを使用しますGet-ChildItemディレクトリの内容を一覧表示するにはC:\\\\mon_repertoire。交換できますC:\\\\mon_repertoireリストするディレクトリのパスで指定します。

コメント

コメントはポンド文字 (#) で始まり、コードとその動作の説明に役立ちます。 PowerShell は、スクリプトの実行時にコメントを無視します。

PowerShell のコメントの例を次に示します。

# Ceci est un commentaire.
# Il ne sera pas exécuté par PowerShell.

変数

変数は、値を保存できるようにするコードの要素です。 PowerShell の変数はドル記号 ($) で始まり、文字、数字、特殊文字を含めることができます。

PowerShell の変数の例を次に示します。

$nom = "Clément"

機能

関数は、特定のタスクを実行する再利用可能なコード ブロックです。関数はキーワード「function」で始まり、その後に関数名と入力パラメータが続きます。

PowerShell 関数の簡単な例を次に示します。

function Add-Numbers {
    param (
        [int]$a,
        [int]$b
    )

    $result = $a + $b
    return $result
}

Add-Numbers -a 3 -b 4

この関数は「Add-Numbers」と呼ばれ、「a」と「b」の 2 つのパラメータを取ります。次に、2 つのパラメーターを追加して結果を返します。

ループ

ループを使用すると、命令を複数回繰り返すことができます。 PowerShell には、For ループ、Foreach ループ、while ループなど、いくつかの種類のループがあります。

複数のファイルの名前を表示する foreach ループの例を次に示します。

$files = Get-ChildItem "C:\\\\Users\\\\Clement\\\\Documents"
foreach ($file in $files) {
    Write-Host $file.Name
}

このスクリプトでは、コマンドGet-ChildItem指定されたフォルダー内のファイルのリストを取得します。ループforeachリスト内の各ファイルとコマンドをループします。Write-Host各ファイルの名前を表示します。

条件

条件を使用すると、特定の条件に基づいて命令を実行できます。 PowerShell には、「If」条件、「Switch」条件、「Try-Catch」条件など、いくつかの種類の条件があります。

PowerShell の条件の簡単な例を次に示します。

# Entrer un nombre
$nombre = Read-Host "Entrez un nombre"

# Vérifier si le nombre est pair ou impair
if ($nombre % 2 -eq 0) {
    Write-Host "$nombre est pair"
} else {
    Write-Host "$nombre est impair"
}

このスクリプトでは、コマンドRead-Hostユーザーに番号の入力を求めます。条件ifモジュロ演算子を使用して数値が偶数であるかどうかをチェックします%。数値が偶数の場合、スクリプトは「偶数です」と表示します。それ以外の場合は、「奇数です」と表示されます。

パイプライン

パイプラインを使用すると、コマンドを連鎖させ、あるコマンドから別のコマンドに結果を送信できます。 PowerShell パイプラインは「|」を使用します。 」。

PowerShell パイプラインの例を次に示します。

# Récupérer la liste des fichiers dans un dossier
Get-ChildItem -Path C:\\\\MonDossier -Recurse |
# Filtrer les fichiers pour n'inclure que ceux dont l'extension est .txt
Where-Object {$_.Extension -eq ".txt"} |
# Trier les fichiers par date de création
Sort-Object -Property CreationTime |
# Sélectionner les 10 derniers fichiers
Select-Object -Last 10 |
# Afficher le nom et la date de création de chaque fichier
ForEach-Object {Write-Host $_.Name, $_.CreationTime}

PowerShell スクリプトに関するいくつかのヒントとテクニック

PowerShell でヘルプをリクエストする

「Get-Help」コマンドを使用すると、特定のコマンドに関するヘルプを取得できます。たとえば、「Write-Host」コマンドに関するヘルプが必要な場合は、PowerShell コンソールに次のコマンドを入力します。

Get-Help Write-Host

コマンドの使用例をリクエストすることもできます。

Get-Help Get-Service -examples

エイリアスを使用する

CMD の基本をある程度理解していれば、PowerShell ですでに使用しているコマンドのほとんどを見つけることができます。これらはエイリアスと呼ばれます。それらをリストするには、次のコマンドがあります。

Get-Alias

最も情熱的な人にとっては、独自のエイリアスを作成することも可能です。

変数を上手に使う

変数は、値を保存できるようにするコードの要素です。 PowerShell の変数はドル記号 ($) で始まり、文字、数字、特殊文字を含めることができます。 PowerShell で変数を宣言して使用する方法は次のとおりです。

# Déclaration d'une variable
$nom_variable = "valeur"

# Exemple d'utilisation d'une variable
Write-Host $nom_variable

PowerShell の変数には、文字列、数値、配列、オブジェクトなど、さまざまな種類のデータを含めることができます。 PowerShell での変数宣言の例をいくつか示します。

# Chaîne de caractères
$nom = "John"

# Nombre
$age = 30

# Tableau
$prenoms = @("John", "Jane", "Mike")

# Objet
$personne = @{
    Nom = "Doe"
    Prenom = "John"
    Age = 30
}

PowerShell で変数の値を変更することもできます。

$nom = "Jane"

次のように PowerShell コマンドで変数を呼び出すことができます。

# Utiliser une variable dans une commande
$nom_fichier = "mon_fichier.txt"
Get-Content $nom_fichier

コードを理解しやすくするために、意味のある変数名を選択することが重要です。 PowerShell の変数名は文字で始める必要があり、スペースを含めることはできません。読みやすくするために、変数名 ($FileName など) 内の単語を区切るには大文字を使用します。

モジュールを活用する

PowerShell は、モジュールという非常に実用的な新機能をもたらします。 PowerShell モジュールは、PowerShell コマンドレットと関数のライブラリです。モジュールを使用すると、コマンドレットと関連機能を 1 つのパッケージにグループ化し、使いやすくなります。これらを作成して他のユーザーと共有すると、複雑なスクリプトの管理を簡素化したり、特定のタスクを自動化したりできます。 PowerShell モジュールは、次のコマンドを使用してインストールできます。Install-Moduleコマンドを使用してスクリプトにインポートできます。Import-Module。特定のタスクを実行できる、オンラインで利用できる PowerShell モジュールも多数あります。

PC 上に存在するモジュールを一覧表示するには、次のコマンドを使用できます。

Get-Module -ListAvailable