【 New-ItemProperty 】コマンドレット――レジストリエントリを追加するWindows PowerShell基本Tips(21)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-ItemProperty」コマンドレットを解説します。

» 2020年12月22日 05時00分 公開
[国井傑株式会社ソフィアネットワーク]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、PowerShellでレジストリエントリを追加する「New-ItemProperty」コマンドレットです。

New-ItemPropertyコマンドレットとは?

 「New-ItemProperty」は、PowerShellを利用してレジストリエントリを追加するコマンドレットです。レジストリは「レジストリエディタ(regedit.exe)」画面の左ペインに表示される「キー」と右ペインに表示される「エントリ」から構成されます。レジストリキーは以前に解説した「New-Item」コマンドレットから、レジストリエントリは「New-ItemProperty」からそれぞれ作成できます。


New-ItemPropertyコマンドレットの書式

New-ItemProperty [オプション]


New-ItemPropertyコマンドレットの主なオプション

オプション 意味
-Path エントリを追加するレジストリキーを指定する
-Name エントリの名前を指定する
-PropertyType エントリ値の種類を指定する。省略可能
-Value エントリの値を指定する。省略可能


バックグラウンドでGoogle Chromeを実行しないようにする

 バックグラウンドで「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

画面1 画面1 レジストリエントリとして「BackgroundModeEnabled」を追加し、値を「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

画面2 画面2 レジストリエントリとして「BackgroundModeEnabled」を追加し、値を「1」に変更した

 New-ItemPropertyとSet-ItemPropertyコマンドレットを利用して、それぞれエントリを追加しましたが、レジストリに対する操作は基本的に管理者権限が必要です。そのため、PowerShellコンソール画面は「管理者として実行」で起動して実行する必要があります。



Microsoft Officeの自動更新設定を変更できないようにする

 既定では「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

画面3 画面3 レジストリエントリとして「hideenabledisableupdates」を追加し、値を「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.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。