Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

zephirus

Problema a aceder à registry de máquina remota

Mensagens Recomendadas

zephirus    0
zephirus

Olá,

Tenho o seguinte código para obter o valor da registry de uma máquina remota.

	Sub Button1Click(sender As Object, e As EventArgs)
	Dim environmentKey As RegistryKey
        ' Open HKEY_CURRENT_USER\Environment on a remote computer.
        environmentKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, txtIpAddress.Text).OpenSubKey("SOFTWARE\Siemens\TNMS\CurrentVersion")
        
	label2.Text = environmentKey.GetValue("DiskLabel")

        ' Close the registry key.
        environmentKey.Close()
End Sub

Para uma máquina que tentei funciona, mas para outras que tento dá este erro:

System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.

  at Microsoft.Win32.RegistryKey.Win32ErrorStatic

  at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey

  at remoteGet.MainForm.Button1Click in \My Documents\SharpDevelop Projects\remoteGet\remoteGet\MainForm.vb:line 29

  at System.Windows.Forms.Control.OnClick

  at System.Windows.Forms.Button.OnClick

  at System.Windows.Forms.Button.OnMouseUp

  at System.Windows.Forms.Control.WmMouseUp

  at System.Windows.Forms.Control.WndProc

  at System.Windows.Forms.ButtonBase.WndProc

  at System.Windows.Forms.Button.WndProc

  at ControlNativeWindow.OnMessage

  at ControlNativeWindow.WndProc

  at System.Windows.Forms.NativeWindow.DebuggableCallback

  at ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop

  at ThreadContext.RunMessageLoopInner

  at ThreadContext.RunMessageLoop

  at System.Windows.Forms.Application.Run

  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun

  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel

  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run

  at remoteGet.My.MyApplication.Main in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81

Ambas as máquinas estão no mesmo workgroup. Alguém sabe qual é o problema?

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
zephirus    0
zephirus

UPDATE: verifiquei agora que já tinha acedido às pastas partilhadas da máquina remota a que consegui aceder ao registo e nas outras nunca o tinha feito. Basicamente o que isto quer dizer é que eu já tinha inserido o user e password da máquina remota e daí conseguir obter a informação.

De qualquer forma faz-me alguma confusão visto que há por ai muitos programas que até fazem o discovery de máquinas na rede e obtém toda a informação que querem. Como é que o fazem? Não é suposto ser preciso dar credenciais?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade