Studio
2023.4
False
Bannerhintergrundbild
Studio-Benutzerhandbuch
Letzte Aktualisierung 26. Apr. 2024

UiPath Remote Plugin

Überblick

With the UiPath® Extension for Windows Remote Desktop you can natively generate selectors over RDP connections handled by custom remote applications that use the Microsoft RDP ActiveX control.

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.