How do I create HKLM:\temphive\ in the registry?

I am trying to add a new item to the registry. I have done this in the past. I am getting a vague error.

Normally I use a command like this:
new-item HKLM:.…\newitem

One thing that is different about the new item is that it is at the root level. That is, it is immediately after the HKLM.

Here is a command that works (well, there is no error, and I can use get-item on the path in PowerShell):
new-item -path HKEY_LOCAL_MACHINE\TempHive\Software\Microsoft\Windows\CurrentVersion4\Explorer33 -Type File -Force

There is no colon “:” in the above command. HKEY_LOCAL_MACHINE is spelled out.

Here is a command that does not work:
new-item -path HKLM:\TempHive\software\microsoft\windows\CurrentVersion4\Explorer23 -Type File -force

I get this error: “new-item: The parameter is incorrect…IOException…”

I cannot even get HKLM:\temphive to be created. I can create new registry entries if they are deep in a path that is already in existence. Ostensibly colons in new-item commands (e.g., new-item -path HKLM:\software\microsoft) don’t necessarily cause new-item commands to fail – as long as the item being created is in a path that already exists.

If there is no colon with a new-item command, I’ve noticed that the command seems to work as an interactive PowerShell command. However, when I look into Regedit (the GUI application), I see no evidence that the command worked. When there is a colon in the command, as far as the interactive PowerShell prompt goes, everything seems to work, I find that in regedit I do see evidence of the command having worked.

My main question is how do I create HKLM:\temphive? My other questions are, why do commands seem to work but do not appear in Regedit? Are colons necessary in the HKLM:\path[ syntax with the new-item command?

Hi Kiran,
You don’t create hives, you load them. Registry Hives are files located on your Hard Drive that contain all the Keys and Values stored within the Hive. New-Item created a new Key, not a new Hive. You cannot just create a random key as a child of HKEY_LOCAL_MACHINE (HKLM), not even with RegEdit.