Partage
  • Partager sur Facebook
  • Partager sur Twitter

Get value key Regedit remote computer WMI

    4 août 2021 à 16:20:34

    Bonjour,

    Je cherche à récupérer la valeur d'une clé dans le registre d'un poste distant avec WMI mais sans succès, le plus bizarre c'est que j'arrive bien à accéder à la valeur de la clé suivante -> SYSTEM\CurrentControlSet\Control\Session Manager\Environment -> PROCESSOR_ARCHITECTURE mais pas à celle-ci SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI-> SelectedUserSID

    Pouvez-vous m'aider s'il vous plait, voici mon code :

    
            Try
                'Const HKEY_LOCAL_MACHINE As String = "80000002"
    
                Dim options As New ConnectionOptions
                options.Impersonation = ImpersonationLevel.Impersonate
                options.EnablePrivileges = True
                options.Username = Login
                options.Password = Mdp
    
                Dim myScope As New ManagementScope("\\" + RemoteComputer + "\root\default", options)
                Dim mypath As New ManagementPath("StdRegProv")
                Dim mc As New ManagementClass(myScope, mypath, Nothing)
    
                Dim inParams As ManagementBaseObject = mc.GetMethodParameters("GetStringValue")
                'inParams("hDefKey") = HKEY_LOCAL_MACHINE 'RegistryHive.LocalMachine
                inParams("sSubKeyName") = "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" '"SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment
                inParams("sValueName") = "SelectedUserSID"
    
                Dim outParams As ManagementBaseObject = mc.InvokeMethod("GetStringValue", inParams, Nothing)
    
                If (outParams("ReturnValue").ToString() = "0") Then
                    MessageBox.Show(outParams("sValue").ToString())
                Else
                    MessageBox.Show("Error retrieving value :  " + outParams("ReturnValue").ToString())
                End If
            Catch
                MessageBox.Show("Error")
            End Try



    Cordialement,

    -
    Edité par Mojow 4 août 2021 à 16:21:15

    • Partager sur Facebook
    • Partager sur Twitter
      4 août 2021 à 18:27:06

      un message d'erreur ? (vire le try...catch ou affiche le message de l'erreur depuis le catch)

      Edit: il se peut que la clé n'existe pas, donc pas possible de la récupérer (tu as testé via regedit en administrateur en te connectant au registre du pc en question pour voir si la clé existe ?)

      -
      Edité par umfred 4 août 2021 à 18:30:05

      • Partager sur Facebook
      • Partager sur Twitter
        4 août 2021 à 20:29:53

        @umfred oui, la clé existe bien sur le poste distant, car j'ai fais plusieurs test avec d'autre clé (en tant qu'administrateur local et administrateur du domaine).

        Voici le message d'erreur qui s'affiche:

        "Error retrieving value : 1"

        • Partager sur Facebook
        • Partager sur Twitter
          5 août 2021 à 14:16:51

          l'erreur 1 semble vouloir dire échec de l'appel (The call Failed) (cf https://docs.microsoft.com/en-us/windows/win32/api/wbemdisp/ne-wbemdisp-wbemerrorenum )

          Quand à savoir pourquoi .....

          • Partager sur Facebook
          • Partager sur Twitter

          Get value key Regedit remote computer WMI

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown