Freigeben über


RegistryKey.OpenRemoteBaseKey Methode

Definition

Öffnet einen neuen T:Microsoft.Win32.RegistryKey, der den angeforderten Schlüssel auf einem Remotecomputer darstellt, mit der Option für die angegebene Registrierungsansicht.

Überlädt

OpenRemoteBaseKey(RegistryHive, String)

Öffnet einen neuen RegistryKey, der den angeforderten Schlüssel für einen Remotecomputer darstellt.

OpenRemoteBaseKey(RegistryHive, String, RegistryView)

Öffnet einen neuen Registrierungsschlüssel, der den angeforderten Schlüssel auf einem Remotecomputer mit der angegebenen Ansicht darstellt.

OpenRemoteBaseKey(RegistryHive, String)

Quelle:
RegistryKey.cs

Öffnet einen neuen RegistryKey, der den angeforderten Schlüssel für einen Remotecomputer darstellt.

public:
 static Microsoft::Win32::RegistryKey ^ OpenRemoteBaseKey(Microsoft::Win32::RegistryHive hKey, System::String ^ machineName);
public static Microsoft.Win32.RegistryKey OpenRemoteBaseKey (Microsoft.Win32.RegistryHive hKey, string machineName);
static member OpenRemoteBaseKey : Microsoft.Win32.RegistryHive * string -> Microsoft.Win32.RegistryKey
Public Shared Function OpenRemoteBaseKey (hKey As RegistryHive, machineName As String) As RegistryKey

Parameter

hKey
RegistryHive

Der zu öffnende HKEY aus der RegistryHive-Enumeration.

machineName
String

Der Remotecomputer.

Gibt zurück

Der angeforderte Registrierungsschlüssel.

Ausnahmen

hKey ist ungültig.

machineName wurde nicht gefunden.

machineName ist null.

Der Benutzer verfügt nicht über ausreichende Berechtigungen zum Ausführen dieser Aktion.

Der Benutzer verfügt nicht über die notwendigen Registrierungsrechte.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie einen Registrierungsschlüssel auf einem Remotecomputer öffnen und die Werte des Schlüssels auflisten. Auf dem Remotecomputer muss der Remoteregistrierungsdienst ausgeführt werden. Geben Sie beim Aufrufen des Programms den Namen des Remotecomputers als Befehlszeilenargument an.

using namespace System;
using namespace System::IO;
using namespace System::Security::Permissions;
using namespace Microsoft::Win32;


int main( int argc, char *argv[] )
{
   RegistryKey ^ environmentKey;
   
   // Check that an argument was specified when the 
   // program was invoked.
   if ( argc == 1 )
   {
      Console::WriteLine( "Error: The name of the remote computer "
      "must be specified as input on the command line." );
      return  -1;
   }

   try
   {
      
      // Open HKEY_CURRENT_USER\Environment on a remote computer.
      environmentKey = RegistryKey::OpenRemoteBaseKey( RegistryHive::CurrentUser, gcnew String(argv[ 1 ]) )->OpenSubKey( "Environment" );
   }
   catch ( IOException^ e ) 
   {
      Console::WriteLine(  "{0}: {1}", e->GetType()->Name, e->Message );
      return  -1;
   }

   
   // Print the values.
   Console::WriteLine( "\nThere are {0} values for {1}.", environmentKey->ValueCount.ToString(), environmentKey->Name );
   array<String^>^valueNames = environmentKey->GetValueNames();
   for ( int i = 0; i < environmentKey->ValueCount; i++ )
   {
      Console::WriteLine(  "{0,-20}: {1}", valueNames[ i ], environmentKey->GetValue( valueNames[ i ] )->ToString() );

   }
   
   // Close the registry key.
   environmentKey->Close();
}
using System;
using System.IO;
using System.Security.Permissions;
using Microsoft.Win32;

class RemoteKey
{
    static void Main(string[] args)
    {
        RegistryKey environmentKey;
        string remoteName;

        // Check that an argument was specified when the
        // program was invoked.
        if(args.Length == 0)
        {
            Console.WriteLine("Error: The name of the remote " +
                "computer must be specified when the program is " +
                "invoked.");
            return;
        }
        else
        {
            remoteName = args[0];
        }

        try
        {
            // Open HKEY_CURRENT_USER\Environment
            // on a remote computer.
            environmentKey = RegistryKey.OpenRemoteBaseKey(
                RegistryHive.CurrentUser, remoteName).OpenSubKey(
                "Environment");
        }
        catch(IOException e)
        {
            Console.WriteLine("{0}: {1}",
                e.GetType().Name, e.Message);
            return;
        }

        // Print the values.
        Console.WriteLine("\nThere are {0} values for {1}.",
            environmentKey.ValueCount.ToString(),
            environmentKey.Name);
        foreach(string valueName in environmentKey.GetValueNames())
        {
            Console.WriteLine("{0,-20}: {1}", valueName,
                environmentKey.GetValue(valueName).ToString());
        }

        // Close the registry key.
        environmentKey.Close();
    }
}
Imports System.IO
Imports System.Security.Permissions
Imports Microsoft.Win32


Public Class RemoteKey

    Shared Sub Main(commandLineArgs As String())
    
        Dim environmentKey As RegistryKey

        ' Check that an argument was specified when the 
        ' program was invoked.
        If commandLineArgs.Length = 0 Then
            Console.WriteLine("Error: The name of the remote " & _
                "computer must be specified as input on the " & _
                "command line.")
            Return
        End If

        Try
            ' Open HKEY_CURRENT_USER\Environment on a remote computer.
            environmentKey = RegistryKey.OpenRemoteBaseKey( _
                RegistryHive.CurrentUser, _
                commandLineArgs(0)).OpenSubKey("Environment")
        Catch ex As IOException
            Console.WriteLine("{0}: {1}", _
                ex.GetType().Name, ex.Message)
            Return
        End Try

        ' Print the values.
        Console.WriteLine("\nThere are {0} values For {1}.", _
            environmentKey.ValueCount.ToString(), environmentKey.Name)

        For Each valueName As String In environmentKey.GetValueNames()
            Console.WriteLine("{0,-20}: {1}", valueName, _
                environmentKey.GetValue(valueName).ToString())
        Next

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

Hinweise

Die lokale Computerregistrierung wird geöffnet, wenn machineName ist String.Empty. Der angeforderte Schlüssel muss ein Stammschlüssel auf dem Remotecomputer sein und wird durch den entsprechenden RegistryHive Wert identifiziert.

Damit ein Schlüssel remote geöffnet werden kann, muss sowohl der Server als auch der Clientcomputer den Remoteregistrierungsdienst ausführen und die Remoteverwaltung aktiviert sein.

Weitere Informationen

Gilt für:

OpenRemoteBaseKey(RegistryHive, String, RegistryView)

Quelle:
RegistryKey.cs

Öffnet einen neuen Registrierungsschlüssel, der den angeforderten Schlüssel auf einem Remotecomputer mit der angegebenen Ansicht darstellt.

public:
 static Microsoft::Win32::RegistryKey ^ OpenRemoteBaseKey(Microsoft::Win32::RegistryHive hKey, System::String ^ machineName, Microsoft::Win32::RegistryView view);
public static Microsoft.Win32.RegistryKey OpenRemoteBaseKey (Microsoft.Win32.RegistryHive hKey, string machineName, Microsoft.Win32.RegistryView view);
[System.Runtime.InteropServices.ComVisible(false)]
public static Microsoft.Win32.RegistryKey OpenRemoteBaseKey (Microsoft.Win32.RegistryHive hKey, string machineName, Microsoft.Win32.RegistryView view);
static member OpenRemoteBaseKey : Microsoft.Win32.RegistryHive * string * Microsoft.Win32.RegistryView -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
static member OpenRemoteBaseKey : Microsoft.Win32.RegistryHive * string * Microsoft.Win32.RegistryView -> Microsoft.Win32.RegistryKey
Public Shared Function OpenRemoteBaseKey (hKey As RegistryHive, machineName As String, view As RegistryView) As RegistryKey

Parameter

hKey
RegistryHive

Der zu öffnende HKEY aus der RegistryHive-Enumeration.

machineName
String

Der Remotecomputer.

view
RegistryView

Die zu verwendende Registrierungsansicht.

Gibt zurück

Der angeforderte Registrierungsschlüssel.

Attribute

Ausnahmen

hKey oder view ist ungültig.

machineName wurde nicht gefunden.

machineName ist null.

Der Benutzer verfügt nicht über die notwendigen Registrierungsrechte.

Der Benutzer verfügt nicht über ausreichende Berechtigungen zum Ausführen dieser Aktion.

Hinweise

Die lokale Computerregistrierung wird geöffnet, wenn machineName ist String.Empty. Der angeforderte Schlüssel muss ein Stammschlüssel auf dem Remotecomputer sein und wird durch den entsprechenden RegistryHive Wert identifiziert.

Damit ein Schlüssel remote geöffnet werden kann, muss sowohl der Server als auch der Clientcomputer den Remoteregistrierungsdienst ausführen und die Remoteverwaltung aktiviert sein.

In den 64-Bit-Versionen von Windows werden Teile der Registrierung für 32-Bit- und 64-Bit-Anwendungen separat gespeichert. Es gibt eine 32-Bit-Ansicht für 32-Bit-Anwendungen und eine 64-Bit-Ansicht für 64-Bit-Anwendungen. Registry64 Wenn view auf dem Remotecomputer jedoch ein 32-Bit-Betriebssystem ausgeführt wird, verwendet der zurückgegebene Schlüssel die Registry32 Ansicht.

Gilt für: