本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-ItemProperty」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、PowerShellでレジストリエントリを追加する「New-ItemProperty」コマンドレットです。
「New-ItemProperty」は、PowerShellを利用してレジストリエントリを追加するコマンドレットです。レジストリは「レジストリエディタ(regedit.exe)」画面の左ペインに表示される「キー」と右ペインに表示される「エントリ」から構成されます。レジストリキーは以前に解説した「New-Item」コマンドレットから、レジストリエントリは「New-ItemProperty」からそれぞれ作成できます。
オプション | 意味 |
---|---|
-Path | エントリを追加するレジストリキーを指定する |
-Name | エントリの名前を指定する |
-PropertyType | エントリ値の種類を指定する。省略可能 |
-Value | エントリの値を指定する。省略可能 |
バックグラウンドで「Google Chrome」を実行しないようにするには、Google Chromeの実行に関わる「HKLM\SOFTWARE\Policies\Google\Chrome」レジストリキー内で定義します。中でもバックグラウンドでの実行に関するポリシーは「BackgroundModeEnabled」エントリで指定し、値を「0」にすることで実行しないように構成できます。
以上を踏まえ「-Path」オプションでキー、「-Name」オプションでエントリ名、「-PropertyType」オプションでエントリ値の種類、「-Value」オプションで値をそれぞれ指定します(画面1)。
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Google\Chrome -Name BackgroundModeEnabled -PropertyType DWORD -Value 0
なお、既にエントリがある場合はエラーになります。そのため、New-ItemPropertyの代わりに「Set-ItemProperty」コマンドレットを利用することで既存の値を変更できます。例えば、「BackgroundModeEnabled」エントリの値を「1」に変更し、バックグラウンドでGoogle Chromeを実行できるようにしたい場合は「-Path」オプションでキー、「-Name」オプションでエントリ名、「-Value」オプションで値をそれぞれ指定します(画面2)。
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Google\Chrome -Name BackgroundModeEnabled -Value 1
New-ItemPropertyとSet-ItemPropertyコマンドレットを利用して、それぞれエントリを追加しましたが、レジストリに対する操作は基本的に管理者権限が必要です。そのため、PowerShellコンソール画面は「管理者として実行」で起動して実行する必要があります。
既定では「Microsoft Office」アプリケーションの自動更新に関する設定は、アプリ内で定義します。既定の設定を変更し、ユーザーによる設定変更ができないようにしたい場合、「HKLM\SOFTWARE\policies\Microsoft\office\16.0\common\officeupdate」レジストリキー内の「hideenabledisableupdates」エントリで値を「1」に設定します。
この設定をNew-ItemPropertyコマンドレットで実行する場合は、「-Path」オプションでキー、「-Name」オプションでエントリ名、「-PropertyType」オプションでエントリ値の種類、「-Value」オプションで値をそれぞれ指定します(画面3)。
New-ItemProperty -Path HKLM:\SOFTWARE\policies\Microsoft\office\16.0\common\officeupdate -Name hideenabledisableupdates -PropertyType DWORD -Value 1
エントリの値を設定する際には、値の種類によって「-PropertyType」オプションで指定する項目が異なります。今回の値のように整数値(UInt32値)を設定する場合は、「-PropertyType」オプションで「DWORD」と指定します。その他、文字列を設定する場合は「String」、複数行の文字列を設定する場合は「MultiString」、バイナリデータを設定する場合は「Binary」を指定します。
株式会社ソフィアネットワーク取締役。1997年からマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年からMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.