質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Windows 11

Windows 11は、Windows 10の後継バージョン。それまでのMetroデザインを廃止し、Fluentデザインを導入しています。スタートメニューの構成やウィンドウのデザインの変更の他、Androidアプリをネイティブに実行できます。

Q&A

解決済

1回答

1563閲覧

【Windows PowerShell】ディスプレイ設定を変更するバッチを作りたい

meex

総合スコア83

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Windows 11

Windows 11は、Windows 10の後継バージョン。それまでのMetroデザインを廃止し、Fluentデザインを導入しています。スタートメニューの構成やウィンドウのデザインの変更の他、Androidアプリをネイティブに実行できます。

0グッド

0クリップ

投稿2023/11/11 06:53

編集2023/11/18 00:22

実現したいこと

ディスプレイ設定を変更するバッチファイルを作りたい。

該当のソースコード

PS C:\Users\user> desk

こうすることで、「設定」>「システム」>「ディスプレイ」画面を出すことができることはわかりました。

PowerShell | Windows設定のディスプレイ設定を開くコマンド「desk」
https://1-notes.com/powershell-cmd-desk/

しかし、下記図でいう「赤枠」内の【明るさと色:夜間モード=オン】にするコマンドを見つけることができませんでした。

どのようにすればよいでしょうか?

イメージ説明

補足情報(FW/ツールのバージョンなど)

OS: Windows 11 Pro 64Bit
Manufacturer: HP


ご回答いただいた「Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\default\DisplayEnhancement\EnableModernNightLight -Name "value" -Value 1 -Verbose」をやった時の図を載せます。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その設定を変更するには、レジストリキーを変更する必要があるようです。

まず、レジストリエディターで "nightlight" を検索しました。

すると、HKLM:\SOFTWARE\Microsoft\PolicyManager\default\DisplayEnhancement\EnableModernNightLight というエントリーが見つかりました。

このプロパティを確認します。

powershell

1Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\default\DisplayEnhancement\EnableModernNightLight 2 3Behavior : 32 4highrange : 1 5IsSetting : 1 6lowrange : 0 7mergealgorithm : 1 8policytype : 4 9SettingsCategory : UserExperience 10SettingsDescription : Specifies whether Display Enhancement is used for Night Light by default. 11SettingsDisplayName : Prefer Display Enhancement Implementation of Night Light 12value : 0 13PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\D 14 isplayEnhancement\EnableModernNightLight 15PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\D 16 isplayEnhancement 17PSChildName : EnableModernNightLight 18PSDrive : HKLM 19PSProvider : Microsoft.PowerShell.Core\Registry

どうやら、value の値を 1 に変更すれば夜間モードをオンにできそうです。なので、Set-ItemProperty コマンドを実行して値を変更します。

powershell

1Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\default\DisplayEnhancement\EnableModernNightLight -Name "value" -Value 1 -Verbose

なお、レジストリーキーにアクセスするには管理者権限が必要です。PowerShell を管理者権限で起動してからコマンドを実行してください。

投稿2023/11/12 13:00

Demerara

総合スコア397

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meex

2023/11/18 00:21

ご回答ありがとうございます。 なるほど、そのように調べていくのですね。 追加で質問が生まれました。 ①「レジストリエディターで "nightlight" を検索しました。」とありましたが、 "nightlight" はどのように発想されましたでしょうか? 「夜間モード」なので例えば nightmode などでもあるかと思いますが、nightlightというキーワードに辿り着いた経緯を知りたいです。 ②教えていただいた通り、管理者権限で実行してみました。 その図を質問本文に掲載しました。 これは「Set-ItemProperty 」で変更した場合、すぐには反映されないのでしょうか? 夜間モードがOFFの時にコマンドを打ちましたが、すぐにONに切り替わりませんでした。 ※設定>システム>ディスプレイ から夜間モードをオンにすると、すぐに反映されるので、コマンドから夜間モードをオンにした場合どのタイミングで反映(=夜間モードがオンになる)されるのかご存知でしょうか?
Demerara

2023/11/18 03:33 編集

1. 普段から英語で Windows を使うことがあるので何となくキーワードとして知っていたってのが大きいですが、単に「夜間モード 英語」とかで検索したら出てきました。 2. 私の場合は、上記のエントリーがポリシーの欄に見つかったというだけで、皆がそこに同じレジストリキーがあるわけではないと思います。事前に Get-ItemProperty でそのキーの存在を確認されましたか?ちなみに私の環境は Windows 11 home で、インサイダーの Dev チャンネルに参加しています。 また、PowerShell からキーの値を変更してもすぐに反映されない可能性は十分あります。
Demerara

2023/11/18 04:34

少し調べてみたのですが、どうやら「夜間モード」の設定が変更できるキーは私が見つけたポリシーマネージャーのものではなく、CloudStore 内に配置されている以下のキーのようです。 HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\DefaultAccount\Current\default$windows.data.bluelightreduction.bluelightreductionstate\windows.data.bluelightreduction.bluelightreductionstate\ また、PowerShell にてこの値の変更を試みた方が過去にも結構いたようで、以下のサイトに様々なスクリプトが掲載されています。 https://superuser.com/questions/1200222/configure-windows-creators-update-night-light-via-registry そして、2023年現在でも有効なスクリプトは、C# と TypeScript で書かれています。以下は、TypeScript で書かれたスクリプトで、Node.js を使ってインストール、及び実行が可能です。 https://github.com/nathanbabcock/nightlight-cli ``` npm i -g nightlight-cli nightlight toggle ``` ちなみに、C# は次のページで確認できます。 https://github.com/Maclay74/tiny-screen/blob/eb829186159309f01b31fe6d4d5201b5e63e07bd/TinyScreen/Src/Services/NightLight.cs これらのスクリプトは実行した瞬間に設定変更が反映されるようです。
meex

2024/04/11 14:27

遅くなり大変申し訳ございませんでした。 詳細にお教えくださりありがとうございます。 なぜか私のPCでは「システム>ディスプレイ」設定画面が出るところまでしか実現できなかったので、解決ではないですが、BAとさせていただきます。 貴重なご意見ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問