How to change registry values or permissions from a command line or a script (264584)



The information in this article applies to:

  • Microsoft Windows Server 2003, Standard Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0

This article was previously published under Q264584

SUMMARY

To change a registry value or registry permissions from a command line or from a script, use the Regini.exe utility. The Regini.exe utility is included in the Windows NT Server 4.0 Resource Kit, in the Microsoft Windows 2000 Resource Kit, and in the Microsoft Windows Server 2003 Resource Kit.

MORE INFORMATION

The syntax for changing registry values or permissions with Regini is:

REGINI [-m \\machinename] files

Here, the -m \\machinename option is used to modify the registry of a remote machine, and files represents the names of the script files that contain the changes to the registry.

The text file or files should contain the registry changes in the following format.

\Registry\Hiveroot\Subkeys registry value=data [permissions]

The Regini utility works with kernel registry strings. When you gain access to the registry in User mode with HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, and so on, the string is converted in Kernel mode as follows:
  • HKEY_LOCAL_MACHINE is converted to \registry\machine.
  • HKEY_USERS is converted to \registry\user.
  • HKEY_CURRENT_USER is converted to \registry\user\user_sid, where user_sid is the Security ID associated with the user.
  • HKEY_CLASSES_ROOT is converted to \registry\machine\software\classes.
For example, a script file to change the registry value DiskSpaceThreshold located in the HKEY_LOCAL_MACHINE hive to the value 0x00000000 would be written as follows.
\registry\machine\system\currentcontrolset\services\lanmanserver\parameters DiskSpaceThreshold = REG_DWORD 0x00000000
Registry key permissions are specified by binary numbers separated by spaces, corresponding to Regini.doc file numbers that specify certain permissions given to specific groups. (For example, the number 1 specifies Administrators - Full Control). You can use the Resource Kit utility REGDMP to get the current permissions of a registry key in the binary number format.

Caution When you use Regini to change permissions, the current permissions are replaced, not edited.

The following example script file shows the syntax for changing permissions on a registry key.
\Registry\Machine\Software [1 5 10]
This script modifies HKEY_LOCAL_MACHINE\Software to have the permissions.
Administrators - Full Control
Creator/Owner - Full Control
Everyone - Read
In Windows XP and in Windows Server 2003, you must enclose the value in quotation marks. For example, you could use the following script to call AUoptions.txt.
regini.exe -m \\remoteworkstation auoptions.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update "ConfigVer"= REG_DWORD 1 "AUOptions"= REG_DWORD 4 "ScheduledInstallDay"= REG_DWORD 0 "ScheduledInstallTime"= REG_DWORD 1
For more information, see the Regini.doc file that is included in the resource kit for your specific operation system.

Modification Type:MajorLast Reviewed:11/17/2005
Keywords:kbfile kbhowto KB264584