Studio
2024.10
False
Studio-Benutzerhandbuch
Last updated 28. Juni 2024

UiPath Remote-Plugin

Überblick

Mit der UiPath®-Erweiterung für Windows-Remotedesktop können Sie Selektoren nativ über RDP-Verbindungen generieren, die von benutzerdefinierten Remoteanwendungen verarbeitet werden, die das Microsoft RDP ActiveX-Steuerelement verwenden.

Wenn beispielsweise eine benutzerdefinierte Anwendung die Rechner-Anwendung auf dem Server öffnet, ist der Selektor:

<wnd app='customapp.exe' cls='RAIL_WINDOW' title='Calculator (Remote)' />

Nachdem Sie die unten beschriebenen Schritte ausgeführt haben, wird der Selektor:

<wnd app='win32calc.exe' cls='CalcFrame' isremoteapp='1' title='Calculator' />

Dadurch können Sie die Remoteanwendung automatisieren.

Installieren der UiPath-Erweiterung für Microsoft-Remotedesktop und -Apps

  1. Führen Sie zunächst die unter Erweiterung für Microsoft-Remotedesktop und -Apps beschriebenen Schritte aus, um die Erweiterung zu installieren.
  2. Die Erweiterung aktualisiert die Software\Microsoft\Terminal Server Client\Default\AddIns-Registrierung von:
    • LocalMachine – wenn die Erweiterung für das gesamte System installiert wurde
    • CurrentUser – wenn die Erweiterung für einen einzelnen Benutzer installiert wurde
  3. Überprüfen Sie den Registrierungs-Editor, um sicherzustellen, dass die Erweiterung die Registrierung geändert hat. So sollte es aussehen:


Aktualisieren der PluginsDLLs-Konfiguration in Ihrer benutzerdefinierten Anwendung

  1. Rufen Sie einen Verweis auf die PluginDLLs-Konfiguration ab.
  2. Rufen Sie die DLL-Pfade der UiPath-Erweiterung für Windows-Remotedesktop vom Unterschlüssel Name des Software\Microsoft\Terminal Server Client\Default\AddIns-Registrierungsschlüssels ab von:
    • LocalMachine – wenn die Erweiterung für das gesamte System installiert wurde
    • CurrentUser – wenn die Erweiterung für einen einzelnen Benutzer installiert wurde
  3. Erstellen Sie einen durch Kommas getrennten String mit den DLL-Pfaden, die im obigen Schritt abgerufen wurden.
  4. Aktualisieren Sie die PluginDLLs-Konfiguration mit dem neu berechneten String.

Weitere Informationen finden Sie in der Dokumentation zum Remotedesktop-ActiveX-Steuerelement von Microsoft.

Im folgenden Code-Snippet sehen Sie ein Beispiel dafür, wie die PluginDLLs-Konfiguration mit Werten definiert wird, die aus der Registrierung gelesen wurden:

// Setting the PluginDlls configuration
mstscActiveX.AdvancedSettings7.PluginDlls = GetInstalledPluginDlls();// Getting the DLL paths from the Registry
private string GetInstalledPluginDlls()
{
    List<string> pluginDllsPerMachine = GetInstalledPluginDllsFromKey(Registry.LocalMachine);
    List<string> pluginDllsPerUser = GetInstalledPluginDllsFromKey(Registry.CurrentUser);
    
    var allPlugins = pluginDllsPerMachine.Concat(pluginDllsPerUser).ToList();
    return string.Join(",", allPlugins);
}
private List<string> GetInstalledPluginDllsFromKey(RegistryKey key)
{
    List<string> pluginDlls = new List<string>();
    try
    {
        using var regAddIns = key.OpenSubKey(@"Software\Microsoft\Terminal Server Client\Default\AddIns", false);
        if (regAddIns != null)
        {
            foreach (var regAddIn in regAddIns.GetSubKeyNames())
            {
                using var regAddin = regAddIns.OpenSubKey(regAddIn, false);
                var addInName = regAddin.GetValue("Name");
                if (addInName != null && addInName.ToString().ToLower().EndsWith(".dll"))
                {
                    pluginDlls.Add(addInName.ToString());
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    return pluginDlls;
}…
// Setting the PluginDlls configuration
mstscActiveX.AdvancedSettings7.PluginDlls = GetInstalledPluginDlls();
…
// Getting the DLL paths from the Registry
private string GetInstalledPluginDlls()
{
    List<string> pluginDllsPerMachine = GetInstalledPluginDllsFromKey(Registry.LocalMachine);
    List<string> pluginDllsPerUser = GetInstalledPluginDllsFromKey(Registry.CurrentUser);
    
    var allPlugins = pluginDllsPerMachine.Concat(pluginDllsPerUser).ToList();
    return string.Join(",", allPlugins);
}
private List<string> GetInstalledPluginDllsFromKey(RegistryKey key)
{
    List<string> pluginDlls = new List<string>();
    try
    {
        using var regAddIns = key.OpenSubKey(@"Software\Microsoft\Terminal Server Client\Default\AddIns", false);
        if (regAddIns != null)
        {
            foreach (var regAddIn in regAddIns.GetSubKeyNames())
            {
                using var regAddin = regAddIns.OpenSubKey(regAddIn, false);
                var addInName = regAddin.GetValue("Name");
                if (addInName != null && addInName.ToString().ToLower().EndsWith(".dll"))
                {
                    pluginDlls.Add(addInName.ToString());
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    return pluginDlls;
}
Hinweis: Um native Selektoren über RDP-Verbindungen zu generieren, müssen Sie auch die UiPath Remote Runtime-Komponente auf der Remotedesktopmaschine bereitstellen, wie in Über UiPath Remote Runtime erläutert. Sie können das UiPathRemoteRuntime.msi-Installationsprogramm hier anfordern.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.