هل من الممكن تعديل إدخال التسجيل عبر البرنامج النصي .bat/.cmd؟
-
02-07-2019 - |
سؤال
هل من الممكن تعديل قيمة التسجيل (سواء كانت سلسلة أو DWORD) عبر البرنامج النصي .bat/.cmd؟
المحلول
يمكنك استخدام الأمر REG.من http://www.ss64.com/nt/reg.html:
Syntax:
REG QUERY [ROOT\]RegKey /v ValueName [/s]
REG QUERY [ROOT\]RegKey /ve --This returns the (default) value
REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f]
REG ADD [ROOT\]RegKey /ve [/d Data] [/f] -- Set the (default) value
REG DELETE [ROOT\]RegKey /v ValueName [/f]
REG DELETE [ROOT\]RegKey /ve [/f] -- Remove the (default) value
REG DELETE [ROOT\]RegKey /va [/f] -- Delete all values under this key
REG COPY [\\SourceMachine\][ROOT\]RegKey [\\DestMachine\][ROOT\]RegKey
REG EXPORT [ROOT\]RegKey FileName.reg
REG IMPORT FileName.reg
REG SAVE [ROOT\]RegKey FileName.hiv
REG RESTORE \\MachineName\[ROOT]\KeyName FileName.hiv
REG LOAD FileName KeyName
REG UNLOAD KeyName
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s]
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s]
Key:
ROOT :
HKLM = HKey_Local_machine (default)
HKCU = HKey_current_user
HKU = HKey_users
HKCR = HKey_classes_root
ValueName : The value, under the selected RegKey, to edit.
(default is all keys and values)
/d Data : The actual data to store as a "String", integer etc
/f : Force an update without prompting "Value exists, overwrite Y/N"
\\Machine : Name of remote machine - omitting defaults to current machine.
Only HKLM and HKU are available on remote machines.
FileName : The filename to save or restore a registry hive.
KeyName : A key name to load a hive file into. (Creating a new key)
/S : Query all subkeys and values.
/S Separator : Character to use as the separator in REG_MULTI_SZ values
the default is "\0"
/t DataType : REG_SZ (default) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ
Output : /od (only differences) /os (only matches) /oa (all) /on (no output)
نصائح أخرى
@ فرانسي بينوف - تعديل يكون ممكن بمعنى الكتابة فوق مع /f
, على سبيل المثال
reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes"
نعم، يمكنك الكتابة باستخدام reg
يأمر.مثال:
reg add HKCU\Software\SomeProduct
reg add HKCU\Software\SomeProduct /v Version /t REG_SZ /d v2.4.6
وهذا من شأنه أن يخلق المفتاح HKEY_CURRENT_USER\Software\SomeProduct
, وأضف قيمة سلسلة "v2.4.6" باسم "الإصدار" إلى هذا المفتاح.
reg /?
لديه التفاصيل.
هذه هي الطريقة التي يمكنك من خلالها تعديل السجل، بدون مطالبة بنعم أو لا ولا تنس تشغيله كمسؤول
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\etc\etc /v Valuename /t REG_SZ /d valuedata /f
يوجد أدناه مثال حقيقي لتعيين Internet Explorer كمتصفح افتراضي
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice /v ProgId /t REG_SZ /d IE.HTTPS /f
/و القوة:إجبار تحديث دون الحث على "قيمة موجودة ، الكتابة فوق y/n"
/ د البيانات :البيانات الفعلية المراد تخزينها كـ "سلسلة" أو عدد صحيح وما إلى ذلك
/القيمة :اسم القيمة، على سبيل المثال ProgId
/ ر نوع البيانات :reg_sz (افتراضي) | reg_dword | reg_expand_sz | reg_multi_sz
تعرف على المزيد حول قراءة مفاتيح التسجيل والقيم أو تعيينها أو حذفها، وحفظها واستعادتها من ملف .REG.من هنا
يمكنك إنشاء ملف .reg وبدء المكالمة عليه.يمكنك تصدير أي جزء من السجل كملف .reg لمعرفة التنسيق.
التنسيق هنا:
http://support.microsoft.com/kb/310516
يمكن تشغيل هذا على أي جهاز يعمل بنظام Windows دون تثبيت برامج أخرى.
نعم.يمكنك استخدام reg.exe الذي يأتي مع نظام التشغيل لإضافة قيم التسجيل أو حذفها أو الاستعلام عنها.لا يحتوي Reg.exe على أمر تعديل صريح، ولكن يمكنك القيام بذلك عن طريق إجراء الحذف ثم الإضافة.
بالإضافة إلى reg.exe، أوصي بشدة أيضًا بمراجعة powershell، فهو أكثر قدرة إلى حد كبير في التعامل مع التسجيل.