PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

PowerShell を使用すると、Windows GUI では実行できない操作が可能になるため、多くの人が使用することを好みます。それでも、一部のPowerShell コマンドレットが少し退屈または複雑になる可能性があることは否定できません。しかし、これらのコマンドレットを編集して、希望どおりに「動作」させる方法があったとしたらどうでしょうか?信じられないかもしれませんが、それを行う簡単な方法があります。 PowerShell のデフォルト パラメーターの値を変更することで、コマンドレットの動作を変更できます。この記事では、PowerShell の既定のパラメーターを使用してコマンドレット コマンドの動作を変更する方法を説明します。

警告

始める前に、留意する必要があることがいくつかあります。 PowerShell のデフォルト パラメーターと cmdelt の動作を変更すると便利ですが、問題が発生する可能性があります。スクリプトを実行し、そのスクリプトが変更されたコマンドレットが特定の方法で動作すると想定している場合、予期しない結果が発生する可能性があります。したがって、PowerShell のデフォルト パラメーターを慎重に変更する必要があります。

簡単なレビュー

デフォルトのパラメーターを使用するには、PowerShell の概念を 2 つ理解しておく必要があります。最初の概念は可変です。 PowerShell では、変数名は常にドル記号で始まり、変数名を入力することで変数の内容を書き込むことができます。

2 番目の概念はよく知られているかもしれませんが、ハッシュ テーブルです。ハッシュ テーブルは本質的に、キーと値のペアで構成されるリストです。たとえば、米国の州の名前とその略語を含むハッシュ テーブルを作成するとします。以下はコードです:

$StateList = @{}
$StateList.add('フロリダ','FL')
$StateList.add('サウスカロライナ','SC')
$StateList.add('ジョージア','GA')
$StateList

コードの最初の行は、 $StateListという空のハッシュ テーブルを作成します。次の 3 行はテーブルにエントリを追加します。各エントリはキー (州名) と値 (州の略語) で構成されます。最後の行にはテーブルの内容がリストされます。以下の画像で、実際に動作しているコードを確認できます。

これは非常に単純な例にすぎず、ハッシュ テーブルを使用する方法は他にもたくさんあります。

PowerShell のデフォルト パラメーターを操作する

PowerShell には、コマンドレットで使用される既定のパラメーターを保存するために使用される組み込み変数があります。この変数は$PSDefaultParameterValuesと呼ばれます。最初の説明と変数の名前からお気づきかと思いますが、これは通常の変数ではなく、ハッシュ テーブルです。ただし、PowerShell に変数名を入力すると、以下に示すように、テーブルが空であることがすぐにわかります。

PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

では、この$PSDefaultParameterValues変数を使って何ができるのでしょうか。前述したように、PowerShell コマンドレットの動作を制御できます。唯一のポイントは、コマンドレット コマンドの固有の機能を克服できないということです。それでは例を見てみましょう。

この例は、実際には使用したくないものかもしれませんが、コマンドレットの動作を根本的に変更することがいかに簡単であるかを示します。 PowerShell でGet-TimeZoneコマンドレットを入力すると、PC が現在使用するように構成されているタイム ゾーンの名前が表示されます。この例は下の画像で見ることができます。

PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

ここで、システムが使用するように構成されているタイム ゾーンではなく、使用可能なタイム ゾーンを表示するようにこのコマンドレットを変更します。これを行うには、 Get-Helpコマンドレットに続いてGet-TimeZoneコマンドレットを使用するコマンドレット構文が必要です。コマンドレットの構文は以下で確認できます。

PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

この構文にはListAvailableというパラメータが含まれています。以下のコマンドを入力します。

$PSDefaultParameterValues.Add(“Get-TimeZone:ListAvailable”,$True)

このコマンドの最初の部分は、前のセクションの米国州の略称の例で行ったのと同様に、ハッシュ テーブルに値を追加することを PowerShell に伝えるだけです。このハッシュ テーブルにはキーと値のペアが含まれています。この場合、キーはコマンドレット名 (Get-TimeZone) の後にカンマと設定するパラメーターの名前が続きます。この場合、パラメータ名は ListAvailable です。このコマンドレットの 2 番目の部分は、パラメーターに割り当てる値です。ここでは$Trueです。通常、ListAvailable パラメーターには値は必要ないため、$Trueを指定すると、値を割り当てずにこのパラメーターを使用するように PowerShell に指示できます。

下の画像を見ると、Get-TimeZone コマンドレットを実行すると何が起こるかがわかります。

PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

留意すべき事項

理解する必要がある最も重要な点は、PowerShell の既定のパラメーターに新しい値を追加することは、コマンドレットの既定の動作を変更することであり、コマンドレットの機能を削除することではないということです。現在のタイム ゾーンを表示するのではなく、利用可能なタイム ゾーンを表示するように Get-TimeZone コマンドレットを変更した場合でも同様です。さらに表示すると、現在のタイムゾーン情報を表示できます。

もう 1 つ知っておく必要があるのは、カスタムのデフォルト パラメータは削除できることです。単一の項目を削除するには、コマンド$PSDefaultParameterValues.Removeに続けて、削除する項目の名前を使用します。例えば:

$PSDefaultParameterValues.Remove(“Get-TimeZone:ListAvailable”)

代わりに、次のコマンドを使用してハッシュ テーブルの内容全体を削除できます。

$PSDefaultParameterValues.Clear();

両方のテクニックの例を以下に示します。

PowerShell のデフォルト パラメーターを使用してコマンドの動作を変更する方法

ハッシュ テーブル全体を削除することも、単一のエントリを削除することもできます。

コマンドレット コマンドの既定の動作を変更することは、あまり行わないことですが、必要な場合には、その変更方法をすでに知っています。

成功を祈っています!

続きを見る:


Windows 10で欠落しているデフォルトの電源プランを復元する方法

Windows 10で欠落しているデフォルトの電源プランを復元する方法

このガイドでは、Windows 10でデフォルトの電源プラン(バランス、高パフォーマンス、省電力)を復元する方法を詳しく解説します。

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

仮想化を有効にするには、まず BIOS に移動し、BIOS 設定内から仮想化を有効にする必要があります。仮想化を使用することで、BlueStacks 5 のパフォーマンスが大幅に向上します。

WiFi接続に接続する際のドライバーの切断を修正

WiFi接続に接続する際のドライバーの切断を修正

WiFi 接続に接続するときにドライバーが切断されるエラーを修正する方法を解説します。

Windows での DIR コマンドの使用方法

Windows での DIR コマンドの使用方法

DIR コマンドは、特定のフォルダーに含まれるすべてのファイルとサブフォルダーを一覧表示する強力なコマンド プロンプト コマンドです。 Windows での DIR コマンドの使用方法を詳しく見てみましょう。

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアなしで Windows 10 アプリをバックアップし、データを保護する方法を説明します。

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows のローカル グループ ポリシー エディターを使用して、通知履歴の削除やアカウントロックの設定を行う方法を説明します。

最高の IP 監視ツール 10 選

最高の IP 監視ツール 10 選

重要なリソースを簡単に監視及び管理できる<strong>IP監視</strong>ソフトウェアがあります。これらのツールは、ネットワーク、インターフェイス、アプリケーションのトラフィックをシームレスに確認、分析、管理します。

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt は、データの暗号化に特化した優れたソフトウェアであり、特にデータ セキュリティに優れています。

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

システムフォントのサイズを変更する方法は、Windows 10のユーザーにとって非常に便利です。

Windows 10で機内モードをオフにできないエラーを修正する方法

Windows 10で機内モードをオフにできないエラーを修正する方法

最近、Windows 10にアップデートした後、機内モードをオフにできない問題について多くのユーザーから苦情が寄せられています。この記事では、Windows 10で機内モードをオフにできない問題を解決する方法を説明します。