none
Powershell - Método OpenRemoteBaseKey com Hifen RRS feed

  • Pergunta

  • Bom dia.

    Estou desenvolvendo um script para conectar ao registro de um computador remoto, conforme trecho abaixo.

    param 
    ([String]$computador)
    $sKeyA = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
    $type = [Microsoft.Win32.RegistryHive]::LocalMachine
    $oReg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($type, $computador)

    Porém, os computadores aqui na empresa possuem um hifen no nome (ex: 100-0223) e ai quando executo o script informando o parâmetro computador ele apresenta mensagem de erro 

    Exceção ao chamar "OpenRemoteBaseKey" com "2" argumento(s): "O caminho da rede não foi encontrado.

    Se eu executo este mesmo comando no computador que eu quero, o script roda, porém remotamente não roda.

    Fiz um teste usando um computador sem hífen no nome e funcionou. 
    Alguém sabe como posso tratar o caso do hífen?

    Agradeço a atenção

    At.
    Rodrigo de Oliveira


    Rodrigo de Oliveira

    terça-feira, 24 de junho de 2014 12:58

Respostas

  • Fábio, obrigado pela atenção.
    Mas consegui resolver de outra forma

    O serviço de Registro Remoto não está iniciado por padrão. 

    PS C:\Users\prodrigo> Get-Service remoteregistry -ComputerName 100-0223

    Status   Name               DisplayName
    ------   ----               -----------
    Stopped  remoteregistry     Registro remoto

    Após iniciar ele (via GPO), o script funcionou;

    At.
    Rodrigo de Oliveira


    Rodrigo de Oliveira

    • Marcado como Resposta Redschenko terça-feira, 24 de junho de 2014 14:23
    terça-feira, 24 de junho de 2014 14:23

Todas as Respostas

  • Tente usar "\" antes do "-", exemplo: "XXX\-001"

    Ref.:

    Escape characters, Delimiters and Quotes

    http://ss64.com/ps/syntax-esc.html


    Fábio de Paula Junior


    terça-feira, 24 de junho de 2014 13:25
    Moderador
  • Fábio, obrigado pela atenção.
    Mas consegui resolver de outra forma

    O serviço de Registro Remoto não está iniciado por padrão. 

    PS C:\Users\prodrigo> Get-Service remoteregistry -ComputerName 100-0223

    Status   Name               DisplayName
    ------   ----               -----------
    Stopped  remoteregistry     Registro remoto

    Após iniciar ele (via GPO), o script funcionou;

    At.
    Rodrigo de Oliveira


    Rodrigo de Oliveira

    • Marcado como Resposta Redschenko terça-feira, 24 de junho de 2014 14:23
    terça-feira, 24 de junho de 2014 14:23