Hebikuzure's Tech Memo

2008年6月22日

Windows Script Host の RegWrite メソッドでキー名に を使用することができない

Filed under: Windows トラブル — hebikuzure @ 9:55 AM

MSKB 281309
PRB: Unable to Use a “” in the Key Name with the RegWrite Method of Windows Script Host
http://support.microsoft.com/kb/281309/en-us


レジストリを編集する方法にはレジストリ エディタを使用する方法、登録エントリ ファイル (.reg ファイル) を使用する方法、reg.exe を使用する方法などさまざまにあるが、Active Directory ドメインでスタートアップ スクリプト、ログオン スクリプトなどで実行するため Windows Script Host を使用する事も少なくない。

例えば以下のコードでは、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer に NoDrives 値 “8” を書き込む。

Set ws = WScript.CreateObject("WScript.Shell")
key = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
ws.RegWrite key & "NoDrives","8", "REG_DWORD"
Set WshShell = Nothing

ところがこの方法には一つ問題があって、キー名の値に”\” 文字 が使用できない。
このため UNC パスのようなキー名を必要とする設定を、RegWrite メソッドで行うことができない。
この現象と回避策が、サポート技術情報 281309 で解説されている。

– 回避策 1
WSH から WMI (Windows Management Instrumentation) を使用してキー名を書き込む。

– 回避策 2
RegObj.Registry オブジェクト (実体は RegObj.dll) を呼び出してキー名を書き込む。

いずれの回避策も技術情報にサンプル コードが記載されている。

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。