RegistryKey.OpenRemoteBaseKey RegistryKey.OpenRemoteBaseKey RegistryKey.OpenRemoteBaseKey RegistryKey.OpenRemoteBaseKey Method

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.Opens a new T:Microsoft.Win32.RegistryKey that represents the requested key on a remote machine, with the option of specified registry view.

Überlädt

OpenRemoteBaseKey(RegistryHive, String) OpenRemoteBaseKey(RegistryHive, String) OpenRemoteBaseKey(RegistryHive, String) OpenRemoteBaseKey(RegistryHive, String)

Öffnet einen neuen RegistryKey, der den angeforderten Schlüssel für einen Remotecomputer darstellt.Opens a new RegistryKey that represents the requested key on a remote machine.

OpenRemoteBaseKey(RegistryHive, String, RegistryView) OpenRemoteBaseKey(RegistryHive, String, RegistryView) OpenRemoteBaseKey(RegistryHive, String, RegistryView) OpenRemoteBaseKey(RegistryHive, String, RegistryView)

Öffnet einen neuen Registrierungsschlüssel, der den angeforderten Schlüssel auf einem Remotecomputer mit der angegebenen Ansicht darstellt.Opens a new registry key that represents the requested key on a remote machine with the specified view.

OpenRemoteBaseKey(RegistryHive, String) OpenRemoteBaseKey(RegistryHive, String) OpenRemoteBaseKey(RegistryHive, String) OpenRemoteBaseKey(RegistryHive, String)

Öffnet einen neuen RegistryKey, der den angeforderten Schlüssel für einen Remotecomputer darstellt.Opens a new RegistryKey that represents the requested key on a remote machine.

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 RegistryHive RegistryHive RegistryHive

Der zu öffnende HKEY aus der RegistryHive-Enumeration.The HKEY to open, from the RegistryHive enumeration.

machineName
String String String String

Der Remotecomputer.The remote machine.

Gibt zurück

Der angeforderte Registrierungsschlüssel.The requested registry key.

Ausnahmen

machineName wurde nicht gefunden.machineName is not found.

Der Benutzer besitzt nicht die erforderlichen Berechtigungen zum Ausführen dieses Vorgangs.The user does not have the proper permissions to perform this operation.

Der Benutzer besitzt nicht die notwendigen Registrierungsrechte.The user does not have the necessary registry rights.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, einen Registrierungsschlüssel auf einem Remotecomputer zu öffnen und die Werte des Schlüssels aufgelistet.The following code example shows how to open a registry key on a remote computer and enumerate the values of the key. Der Remotecomputer muss den Remoteregistrierungsdienst ausgeführt werden.The remote computer must be running the remote registry service. Geben Sie den Namen des Remotecomputers als Befehlszeilenargument, das Programm aufrufen.Specify the name of the remote computer as a command-line argument when invoking the program.

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 Microsoft.VisualBasic
Imports System
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 Registrierung des lokalen Computers wird geöffnet, wenn machineName ist String.Empty.The local machine registry is opened if machineName is String.Empty. Der angeforderte Schlüssel muss ein Stammschlüssel auf dem Remotecomputer und wird durch die entsprechenden identifiziert RegistryHive Wert.The requested key must be a root key on the remote machine, and is identified by the appropriate RegistryHive value.

Damit für einen Schlüssel Remote geöffnet werden kann müssen sowohl die Server-und Clientcomputern den Remoteregistrierungsdienst ausgeführt werden und ist die Remoteverwaltung aktiviert.In order for a key to be opened remotely, both the server and client machines must be running the remote registry service, and have remote administration enabled.

Sicherheit

SecurityPermission
Bei den Zugriff auf den angegebenen Registrierungsschlüssel, wenn handelt es sich um eine remote-Schlüssel.for the ability to access the specified registry key if it is a remote key. Zugeordnete Enumeration: UnmanagedCodeAssociated enumeration: UnmanagedCode

Siehe auch

OpenRemoteBaseKey(RegistryHive, String, RegistryView) OpenRemoteBaseKey(RegistryHive, String, RegistryView) OpenRemoteBaseKey(RegistryHive, String, RegistryView) OpenRemoteBaseKey(RegistryHive, String, RegistryView)

Öffnet einen neuen Registrierungsschlüssel, der den angeforderten Schlüssel auf einem Remotecomputer mit der angegebenen Ansicht darstellt.Opens a new registry key that represents the requested key on a remote machine with the specified view.

public:
 static Microsoft::Win32::RegistryKey ^ OpenRemoteBaseKey(Microsoft::Win32::RegistryHive hKey, System::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
Public Shared Function OpenRemoteBaseKey (hKey As RegistryHive, machineName As String, view As RegistryView) As RegistryKey

Parameter

hKey
RegistryHive RegistryHive RegistryHive RegistryHive

Der zu öffnende HKEY aus der RegistryHive-Enumeration.The HKEY to open from the RegistryHive enumeration.

machineName
String String String String

Der Remotecomputer.The remote machine.

view
RegistryView RegistryView RegistryView RegistryView

Die zu verwendende Registrierungsansicht.The registry view to use.

Gibt zurück

Der angeforderte Registrierungsschlüssel.The requested registry key.

Ausnahmen

hKey oder view ist ungültig.hKey or view is invalid.

machineName wurde nicht gefunden.machineName is not found.

Der Benutzer besitzt nicht die notwendigen Registrierungsrechte.The user does not have the necessary registry rights.

Der Benutzer besitzt nicht die erforderlichen Berechtigungen zum Ausführen dieses Vorgangs.The user does not have the required permissions to perform this operation.

Hinweise

Die Registrierung des lokalen Computers wird geöffnet, wenn machineName ist String.Empty.The local machine registry is opened if machineName is String.Empty. Der angeforderte Schlüssel muss ein Stammschlüssel auf dem Remotecomputer und wird durch die entsprechenden identifiziert RegistryHive Wert.The requested key must be a root key on the remote machine, and is identified by the appropriate RegistryHive value.

Damit für einen Schlüssel Remote geöffnet werden kann müssen sowohl die Server-und Clientcomputern den Remoteregistrierungsdienst ausgeführt werden und ist die Remoteverwaltung aktiviert.In order for a key to be opened remotely, both the server and client machines must be running the remote registry service, and have remote administration enabled.

Auf der 64-Bit-Versionen von Windows werden die Teile der Registrierung für 32-Bit und 64-Bit-Anwendungen getrennt gespeichert.On the 64-bit versions of Windows, portions of the registry are stored separately for 32-bit and 64-bit applications. Es gibt eine 32-Bit-Ansicht für 32-Bit-Anwendungen und eine 64-Bit-Ansicht für 64-Bit-Anwendungen.There is a 32-bit view for 32-bit applications and a 64-bit view for 64-bit applications. Wenn view ist Registry64 jedoch der Remotecomputer ein 32-Bit-Betriebssystem ausgeführt wird, wird der zurückgegebene Schlüssel verwendet die Registry32 anzeigen.If view is Registry64 but the remote machine is running a 32-bit operating system, the returned key will use the Registry32 view.

Gilt für: