none
レジストリ変更によるSDカードへの書き込み制限方法 RRS feed

  • 質問

  • 全国の50近くの会社拠点にある、延べ200台のPCに対して、SDカードへの書き込み制限をしたいと考えております。

    グループポリシーエディタにて、以下の項目を"有効"にすればよいのは分かっております。

     ▼ ローカルコンピューターポリシー>コンピュータの構成>管理用テンプレート>システム>リムーバル記憶域へのアクセス>WPDデバイス>書き込みアクセス権の拒否

    ただし、PC管理者のスキルと手間を考えて、
    レジストリを変更するバッチファイルを作成して、PC管理者に実行させようと考えておりまして、
    ネット記事を参考に、以下の通りレジストリ変更のコマンドを実行するとSDカードへの書き込みは禁止されるのですが、
    コマンド実行後、グループポリシーエディタ上では、上記のグループポリシーエディタの画面では"有効"になりませんでした。

     ▼ reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}" /v "Deny_Write" /t REG_DWORD /d "1" /f

    また、以下の参考情報(デバイス セットアップ クラスの一覧)には、
    WPDデバイスは"eec5ad98-8080-425f-922a-dabf3de3f69a" という説明もあり、こちらでも実行してみましたが、結果は同じでした。

    (参考情報) System-Defined Device Setup Classes Available to Vendors
    https://docs.microsoft.com/en-us/windows-hardware/drivers/install/system-defined-device-setup-classes-available-to-vendors

    ■教えて頂きたいこと

    デバイス制御用の文字列 "53f5630d-b6bf-11d0-94f2-00a0c91efb8b" が違うのか、そもそもグループポリシーとは連動しないのか、そのあたりの仕様が分からず困っております。

    どうぞ宜しくお願い致します。


    2020年10月23日 5:02

回答

  • Download Group Policy Settings Reference Spreadsheet for Windows 10 May 2020 Update (2004) from Official Microsoft Download Center
    を見ると、WPDデバイス>書き込みアクセス権の拒否 は

    HKLM\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}!Deny_Write
    HKLM\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}!Deny_Write

    になってますね。


    Hebikuzure aka Murachi Akira


    2020年10月23日 5:53
  • 間違えました。
    さっきのは、x86 用。
    x64 用はこっち。
    私の環境では以下で、グループ ポリシー エディタの表示が切り替わりました。

    <Enable>
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "1" /f
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "1" /f

    <Disable>
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "0" /f
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "0" /f
    • 回答としてマーク うきょう 2020年10月26日 5:35
    2020年10月23日 8:43
  • > MMC、Process Monitorは使い方を知らないので、その方法は保留中です。

    "グループ ポリシー エディター" の実体は mmc.exe プロセスです。
    なので、"グループ ポリシー エディター" 上で該当オペレーションを実施した際に、どのレジストリー キーに対する書き込み要求が発生したのかを調べれば、対応するキーを割り出せます。

    Process Monitor の使い方は、下記サイトが参考になると思います。
    ------------------------------------------
    Process Monitor の基本的な使い方について
    https://qiita.com/nanmei365/items/64c2b23aa49c0aa9f5e0
    ------------------------------------------

    今回のケースの場合、下記フィルタ条件で対応するキーを確認することができます。
    ------------------------------------------
    <Process Monitor のフィルタ条件>
    "Process Name" "is" "mmc.exe"      then "Include" ===> "Add" + "Apply"
    "Operation"    "is" "RegSetValue"  then "Include" ===> "Add" + "Apply"
    "Operation"    "is" "RegDeleteKey" then "Include" ===> "Add" + "Apply"
    ------------------------------------------

    Process Monitor で上記フィルタ条件をセットした状態でキャプチャすれば、"グループ ポリシー エディター" 上の "未構成"、"有効"、"無効" を適用した際に、該当レジストリ アクセス情報を表示してくれます。

    で。。。。
    手元の複数環境で確認してみたところ、レジストリ キーに含まれる2つの GUID のうち、初めに出てくる GUID は環境ごと (PC 毎) に異なる可変値でした。
    具体的には、

    [HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects]

    ー配下にサブキーが存在しない場合は新規に

    [HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{<GUID>}\Machine]
    [HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{<GUID>}\User]

    の2つのキーが作成されますが、この GUID 部分が可変なようです。
    ({6AC27878-A6FA-4155-BA85-F98F491D4F33} と {F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE} のみが、WPD デバイスの書き込みアクセス権用の制御用に割り当てられた GUID。)
    • 回答としてマーク うきょう 2020年10月26日 5:36
    2020年10月26日 0:22

すべての返信

  • Download Group Policy Settings Reference Spreadsheet for Windows 10 May 2020 Update (2004) from Official Microsoft Download Center
    を見ると、WPDデバイス>書き込みアクセス権の拒否 は

    HKLM\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}!Deny_Write
    HKLM\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}!Deny_Write

    になってますね。


    Hebikuzure aka Murachi Akira


    2020年10月23日 5:53
  • 情報ご提供ありがとうございます。

    資料確認し、2つのクラスIDでコマンド実行したのですが、グループポリシーエディタ上では"未構成"のまま、SDカードへの書き込みは不可ということで、結果は変わりませんでした。

    PC再起動を何度かやっても変化がないので、

    グループポリシーエディタ > ファイル > オプション > ファイルの削除 をやってみる価値はあるでしょうか?

     

    2020年10月23日 7:06
  • 以下の2つのキーをセットで試してみてください。

    <Enable>
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{F3091808-9E25-45A9-9AB9-857B5AA4F442}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "1" /f
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{F3091808-9E25-45A9-9AB9-857B5AA4F442}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "1" /f

    <Disable>
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{F3091808-9E25-45A9-9AB9-857B5AA4F442}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "0" /f
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{F3091808-9E25-45A9-9AB9-857B5AA4F442}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "0" /f
    2020年10月23日 7:08
  • ありがとうございます。

    HKCUなので、グループポリシーエディタとしてみるのは、ユーザーの構成ですよね。

    しかし、残念ながらNGでした。

    (コマンド実行後にPC再起動し、グループポリシーエディタ上では、コンピュータの構成、ユーザーの構成のリムーバブル記憶域へのアクセスは"未構成"のまま、SDカード書き込みは"不可")

    2020年10月23日 8:17
  • 間違えました。
    さっきのは、x86 用。
    x64 用はこっち。
    私の環境では以下で、グループ ポリシー エディタの表示が切り替わりました。

    <Enable>
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "1" /f
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "1" /f

    <Disable>
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "0" /f
    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{58B4C5D7-6CE8-4F19-94A7-80B80BC77E5B}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "0" /f
    • 回答としてマーク うきょう 2020年10月26日 5:35
    2020年10月23日 8:43
  • ありがとうございます。残念ながら、変わらずでした。

    cmdを管理者モードで立ち上げて、reg add ...を実行しているのですが、

    もしかして、PowerShellコンソールからの実行が必要でしょうか?


    2020年10月23日 9:01
  • cmdを管理者モードで立ち上げて、reg add ...を実行しているのですが、

    私が試したのも、その手順です。

    Process Monitor で核にする限り、mmc.exe はこの2つのレジストリに対して書き込みを行っていたので、それを元に試してみたら、ちゃんと表示が切り替わっていました。

    一度 Process Monitor で確認してみては?


    • 編集済み お馬鹿 2020年10月23日 9:25 追記
    2020年10月23日 9:17
  • 引き続きコメント頂き、ありがとうございます。
    MMC、Process Monitorは使い方を知らないので、その方法は保留中です。

    そもそも、すでに5個くらいクラスIDを試していて、いずれでもSDカードへの書き込みは出来なくなるのですが…

    どういうことなのか分かる方いらっしゃったら教えてください。

    よろしくお願いいたします。


    2020年10月24日 3:42
  • > ちゃんとわかる

    のは Microsoft だけなので検証と推測ですが、ポリシーの構成でレジストリは即時更新されますが、レジストリを更新しても別のトリガーが無いとポリシーでの表示が更新されないという可能性は考えられます。

    ※別のトリガー:シェルの再起動、サインアウト/サインイン、再起動など


    Hebikuzure aka Murachi Akira


    2020年10月24日 4:25
  • > MMC、Process Monitorは使い方を知らないので、その方法は保留中です。

    "グループ ポリシー エディター" の実体は mmc.exe プロセスです。
    なので、"グループ ポリシー エディター" 上で該当オペレーションを実施した際に、どのレジストリー キーに対する書き込み要求が発生したのかを調べれば、対応するキーを割り出せます。

    Process Monitor の使い方は、下記サイトが参考になると思います。
    ------------------------------------------
    Process Monitor の基本的な使い方について
    https://qiita.com/nanmei365/items/64c2b23aa49c0aa9f5e0
    ------------------------------------------

    今回のケースの場合、下記フィルタ条件で対応するキーを確認することができます。
    ------------------------------------------
    <Process Monitor のフィルタ条件>
    "Process Name" "is" "mmc.exe"      then "Include" ===> "Add" + "Apply"
    "Operation"    "is" "RegSetValue"  then "Include" ===> "Add" + "Apply"
    "Operation"    "is" "RegDeleteKey" then "Include" ===> "Add" + "Apply"
    ------------------------------------------

    Process Monitor で上記フィルタ条件をセットした状態でキャプチャすれば、"グループ ポリシー エディター" 上の "未構成"、"有効"、"無効" を適用した際に、該当レジストリ アクセス情報を表示してくれます。

    で。。。。
    手元の複数環境で確認してみたところ、レジストリ キーに含まれる2つの GUID のうち、初めに出てくる GUID は環境ごと (PC 毎) に異なる可変値でした。
    具体的には、

    [HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects]

    ー配下にサブキーが存在しない場合は新規に

    [HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{<GUID>}\Machine]
    [HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{<GUID>}\User]

    の2つのキーが作成されますが、この GUID 部分が可変なようです。
    ({6AC27878-A6FA-4155-BA85-F98F491D4F33} と {F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE} のみが、WPD デバイスの書き込みアクセス権用の制御用に割り当てられた GUID。)
    • 回答としてマーク うきょう 2020年10月26日 5:36
    2020年10月26日 0:22
  • 別のトリガー・・・ですね。

    Group Policy Client サービスが停止しているかも・・・などと思ってみたのですが、起動していました。
    (自宅のWin10 Homeの場合は起動していなかったのですが、会社の10Proだと問題なく…)

    これ以上、トリガー視点で追及するのは私には知見がなく難しい (汗)


    2020年10月26日 5:01
  • ProcessMonitorの使い方、情報ご提供ありがとうございます。
    時間を見つけてトライしてみます。

    なお、あるベンダーさん経由でマイクロソフトさんに仕様確認をお願いしたら、回答を入手できました。

    -----------------------------------------------------------------------------------------------
    お客様が気にされている点につきましては、想定された動作です。想定された動作です。

    実施されている内容として、レジストリに直接書き込んでいるため
    ローカルグループポリシーの「有効/無効/未構成」には影響を与えません。
    (グループポリシーを有効にすることでレジストリ値は変わるが、その逆はない)
    ですので、きちんと適用されているかどうかはレジストリをご確認ください。
    -----------------------------------------------------------------------------------------------

    レジストリ変更してもローカルグループポリシーの値は変わらない仕様なので、
    仕様通りの
    正しい動きをしていたのだと認識しました。

    いろんなことを教えて頂いて有難かったのですが、本件はクローズさせて頂こうと思っております。

    • 回答としてマーク うきょう 2020年10月26日 5:12
    • 回答としてマークされていない うきょう 2020年10月26日 5:36
    2020年10月26日 5:11
  • お世話になっております。

    上記の続きの活動で、再度質問をUPさせて頂きたく、アドバイス頂ける方、どうぞ宜しくお願い致します。

    会社のPC200台超(機種ばらばら)に、SDカードへの書き込み制限をしようとしています。

    ネット検索して得た情報から、
    reg add コマンドで、クラスGUIDに対して、書き込み拒否を設定を試みていたのですが、恐らく作業ミスというか記録ミスで、書き込み制限を解除できなくなってしまいました。

    制限解除の原因と対処方法が見つからず困っております。

    ▼テスト環境

    検証用PC     ⇒ Let's note CF-LX5, CF-SX3

    OS         ⇒ いずれもWindows10 Pro 20H2

    SDカードデバイス ⇒ デバイスマネージャではSCSI接続されている

    検証用SDカード ⇒ SanDisk SDHC Card 16GB (https://www.amazon.co.jp/dp/B00KKBTIAW/ )
                  SDカード本体での書き込み制限なしていない(複数のPCでファイルコピーは出来ることでも確認済み)

    ▼やったこと

    ・管理者モードで、dosプロンプトにて、

    reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{eec5ad98-8080-425f-922a-dabf3de3f69a}" /v "Deny_Write" /t REG_DWORD /d "1" /f
    reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{6AC27878-A6FA-4155-BA85-F98F491D4F33}" /v "Deny_Write" /t REG_DWORD /d "1" /f
    reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}" /v "Deny_Write" /t REG_DWORD /d "1" /f

    ・また、上記のキーに対しては、reg delete を実施

    ・上記以外のレジストリキーやクラスGUIDに対して、
     reg addコマンドを実行したりした可能性があるものの、クラスGUIDを覚えていません。

    ・また、グループポリシーエディタで「リムーバブルディスク:書き込みアクセス権の拒否」「カスタムクラス:書き込みアクセス権の拒否」など設定したこともありますが、それらは「未構成」に戻して、PC再起動も何度も行っています。

    ▼事象

    結果として、SX3では、ファイルコピーが出来る状態なのですが、LX5ではコピーできない状態となってしまいました。

    ▼質問

    LX5で、SDカードへの書き込みが出来ない原因を究明するよい方法があれば、ご教示頂きたい次第です。

    また、SDカードへの書き込み制限は、PCの機種依存が高く、全SDカードに対して完璧にやるのは困難という認識になっておりますが、
    reg addコマンドで実現する場合の留意点やPC機種が100種類以上あるなかでどの程度制限出来ればよしと考えるべきか、見解をお聞かせ頂けると有難いです。

    どうぞ宜しくお願い致します。
    2021年2月12日 9:35