レジストリへのアクセスは専用のプロバイダーが用意されていて、通常のファイルシステムのようにアクセスできる。
特に難しいわけではないのでこれまでも適当に使ってきたが、それほど頻繁に使うわけでもないので、結局毎回試行錯誤しながら使うことになる。
そこで、いまさらの感はあるが使い方を自分用にメモしておく。
基本的には「Get-Item」と「Get-ItemProperty」を使ってアクセスする。(と思う)
以下のレジストリにアクセスしてみる。
「Get-Item」で「TortoiseSVN」キーにアクセスするとこんな感じになる。
PS>Get-Item hkcu:software\TortoiseSVN
|
「SKC」というのは「SubKeyCount」の略で、以下の部分の個数を表す。
「VC」は「ValueCount」の略で、以下の部分の個数を表す。
「Get-Item」を「Get-ChildItem」に変えると以下のようにサブキー毎に同様の情報が表示される。
PS>Get-ChildItem hkcu:software\TortoiseSVN
|
プロパティの一覧は以下のように取得
PS>(Get-item hkcu:software\TortoiseSVN).property |
これでも同じっぽい
PS>(Get-item hkcu:software\TortoiseSVN).getvaluenames() |
ただし、どちらも取得できるのは文字列の情報。
以下の一行の情報をオブジェクトで取得できるのかと思ったのだが、どうにも見当たらない。
とりあえずダイレクトにバリューを取得するには、
PS>(Get-item hkcu:software\TortoiseSVN).GetValue("CheckNewerWeek") |
ここで、「Get-ItemProperty」を試してみると、こちらは以下のオブジェクトを返してくる。(1つのオブジェクト)
「Get-Item」と違ってサブキーの情報は取得できない。
名前の通り、自身のプロパティに特化した情報といった感じ。
左側の「名前」(プロパティ)をその名の通りプロパティとして持っているオブジェクトなので、ダイレクトにバリューを取得するには、
PS>(Get-ItemProperty hkcu:software\TortoiseSVN).CheckNewerWeek |
となる。
これを踏まえて「Get-Item」を使って一覧表示するには、プロパティ(ValueName)を纏めて取得し、その一つずつに対して「GetValue()」でバリュー、「GetValueKind()」で種類を取得する。
種類が不要であれば「Get-ItemProperty」だけで事足りる。(が、こちらは余計なプロパティも含まれる)
PS>Get-ItemProperty hkcu:software\TortoiseSVN
|
0 件のコメント:
コメントを投稿