RegistryKey.OpenRemoteBaseKey Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ö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.