Q:

How to create a registry entry with a forward slash in the name

I need to create the following registry entry
    HKLM:\software\bmc software\control-m/agent
but am having a problem due to the forward slash before "agent"
I have no problem creating an entry that doesn't have the forward slash
For example:
PS C:\powershell>  new-item -path 'HKLM:\software\bmc software\control-mXXXagent'

But creating with the forward slash fails.
PS C:\powershell>  new-item -path 'HKLM:\software\bmc software\control-m/agent'

New-Item : The registry key at the specified path does not exist.
  At line:1 char:10
  +  new-item <<<<  -path 'HKLM:\software\bmc software\control-m/agent'
      + CategoryInfo          : InvalidArgument: (HKEY_LOCAL_MACH...tware\control-m:String) [New-Item], ArgumentExceptio
     n
      + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.NewItemCommand

And using the PowerShell backtic ` escape character doesn't help either.
PS C:\powershell>  new-item -path 'HKLM:\software\bmc software\control-m`/agent'

New-Item : The registry key at the specified path does not exist.
  At line:1 char:10
  +  new-item <<<<  -path 'HKLM:\software\bmc software\control-m/agent'
      + CategoryInfo          : InvalidArgument: (HKEY_LOCAL_MACH...ware\control-m:String) [New-Item], ArgumentExceptio
     n
      + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.NewItemCommand

And advice would be appreciated. Thanks

A:

This is a slight modification of the post that Ansgar pointed to:
new-item -path 'HKLM:\software\bmc software'
$key = (get-item HKLM:\).OpenSubKey("SOFTWARE\bmc software", $true)
$key.CreateSubKey('control-m/agent')
$key.Close()

This creates the key using the actual / char (0x2F).

