Change a registry entry of all network user (RPC?)

Posted on 2001-06-12
Last Modified: 2010-04-06
My program have to change a registry entry of all network user. (The program have all administrator rights.)
Does it is possible with Delphi (Remote Procedure Call)? Or is it possible with a MS-DOS command?
I think that I can presuppose that the administrator which using my program work with WindowNT4 or Win2000.

I would change the
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal
(Should I change also the HKEY_LOCAL_MACHINE\..\Personal entry?)
Question by:bengore
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3

Accepted Solution

TOndrej earned 300 total points
ID: 6180562
see TRegistry.RegistryConnect

Author Comment

ID: 6181299
Hi TOndrej,

thank you for the simple solution. But it can be that
the machine may be switched off or not set up for remote
I'm not a network expert: Where is the HKEY_CURRENT_USER part of the registry of a network user located? If this information (the HKEY_CURRENT_USER data) is located on the server, then why I have to connect to all machines in the network? Is there no way like TRegistry.RegistryConnect('\\User1') ?


Expert Comment

ID: 6181449
> it can be that the machine may be switched off
It's difficult to work with a switched off machine <g>

> or not set up for remote access
It's difficult to access such a machine <g>

HKEY_CURRENT_USER stands for currently logged on user, it links to one of the subnodes of HKEY_USERS (whose names take form of the user SID's).
Since you wanted to changes this value for "all network user" (see original question) I assumed you would want to enumerate all subnodes of HKEY_USERS.
I guess it should also be possible to determine which of the subnodes actually belongs to the currently logged on user, I haven't investigated this possibility.

> If this information (the HKEY_CURRENT_USER data) is located on the server
My impression is that all data under HKEY_CURRENT_USER is always located locally on each computer, please correct me if I'm wrong.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 6182000
> My impression is that all data under HKEY_CURRENT_USER
> is always located locally on each computer, please
> correct me if I'm wrong.

When I login on PC A and make a link XYZ on the desktop and then log out and login on PC B then I have the link XYZ also on PC B. The information of the link XYZ is stored in the registry on the central server, don't it??

I can't believe that a administrator who want to install a new font (that means make a entry to the registry) have to switch all PC and then make the changes?

Expert Comment

ID: 6182088
Oh, you are talking about server based user profiles.
It was not clear from the question.
I still don't understand what you're trying to do, try to rephrase your question more precisely.

Author Comment

ID: 6182131
I want to write a tool for a administrator. The administrator want to install a font (which is located on the server) on all machines of the network.
So he has to add a entry to the fonts key into the registry of all network user. Perhaps there is a solution without check if all PC on?


Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question