satocchiaブログ

satocchiaブログ

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…
2021.06.08
XML
カテゴリ: powershell
powershellの利点のなかに、ディスク以外のシステムもドライブ名+パスでアクセスできることがあります。慣れてくると、これ結構便利だったりしますよね。

その一つがレジストリ参照・操作。
​ この前の電源オプションの話 ​でもやった
HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
なんてのもそう。サクッとワンライナーで書けたのは、powershellがレジストリをドライブ+パス名で扱えるからでした。

ところが…

どういうわけか、MSが用意してくれたのは、HKCU(HKEY_CURRENT_USER)とHKLM(HKEY_LOCAL_MACHINE)しかありません。要らないと判断した理由は何でしょう。
どなたかご存じなら教えてほしいものです。


set-RegDriveを実行しておけば
HKCR:
HKU:
HKCC:
のドライブ名がスクリプト中で使えるようになります。

Set-RegDrive.ps1

function set-RegDrive{
    $RegNames=@"
            CLASSES_ROOT
            CURRENT_USER
            USERS
            CURRENT_CONFIG
"@ -split "`r`n"|%{$_ -replace "\s","" }
    $AlreadyDefined = get-psdrive|?{$_.Provider.name -eq "registry"}|%{ ($_.Root -replace "HKEY_","").trim() }
    $RegNames|%{
            $Abbrev = $_ -replace "^(.).*_(.).*",'$1$2'
            if ( $Abbrev -eq "USERS" ){
                $Abbrev = "U"
            }
            if ( $AlreadyDefined -contains $_ ){
                return
            }
            $DriveName = "HK$Abbrev"
            New-PSDrive -name "$DriveName" -PSProvider "Registry" -root "HKEY_$_" -Scope Script
    }
}





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2021.06.08 11:38:03
コメントを書く
[powershell] カテゴリの最新記事


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: