> ## Documentation Index
> Fetch the complete documentation index at: https://help.gorelo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# التكامل مع أدوات الوصول عن بُعد الموجودة

> ادمج Splashtop وAnyDesk وTeamViewer وRustDesk وأدوات الوصول عن بُعد الأخرى مع Gorelo بتكوين حقول أصول مخصصة واختصارات تشغيل URL.

اتبع هذا الدليل لدمج أدوات أخرى في Gorelo، مثل Splashtop وAnyDesk وTeamViewer وغيرها.

يمكنك دمج Gorelo مع أي أداة وصول عن بُعد تدعم التشغيل عبر URL، مثل Splashtop أو AnyDesk أو TeamViewer.

يستخدم هذا المثال:

* Splashtop Business
* RustDesk
* Webroot

<Tabs>
  <Tab title="Splashtop">
    <Steps>
      <Step title="إنشاء حقل الأصل المخصص.">
        1. انتقل إلى **Settings** > **Assets** > **[Custom Fields](https://app.gorelo.io/Admin/admin-settings#asset#assetcustomfields).**
        2. أضف حقلًا مخصصًا بالتفاصيل التالية:
           * **Name**: `Splashtop SUUID`
           * **Variable**: `splashtopSUUID`

        <Frame>
          <img src="https://mintcdn.com/gorelo/VNk9kGyLTQMfiA_W/images/image-93.png?fit=max&auto=format&n=VNk9kGyLTQMfiA_W&q=85&s=fa3d59e87f10da576bb7b5435b89496c" alt="Image" width="784" height="606" data-path="images/image-93.png" />
        </Frame>
      </Step>

      <Step title="كتابة النص البرمجي.">
        1. انتقل إلى **[Scripts](https://app.gorelo.io/Asset/script-list).**
        2. أنشئ نصًا بالتفاصيل التالية:
           * **Name**: `Store-SplashtopSUUID`
           * **Content**:

        ```powershell theme={null}
        # Define registry path for 64-bit machines
        $regPath64 = "HKLM:\SOFTWARE\WOW6432Node\Splashtop Inc.\Splashtop Remote Server"

        # Define the value name for the SUUID
        $regValue = "SUUID"

        # Try to retrieve the SUUID from the 64-bit registry
        if (Test-Path $regPath64) {
            try {
                $suuid = Get-ItemProperty -Path $regPath64 -Name $regValue -ErrorAction Stop
                
                # Check if the SUUID value is present
                if ($suuid.$regValue) {
                    $suuidValue = $suuid.$regValue
                    Write-Output "Splashtop SUUID: $suuidValue"
                    
                    # Write the SUUID to the Gorelo custom field
                    GoreloAction -SetCustomField -Name 'asset.splashtopSUUID' -Value $suuidValue
                } else {
                    Write-Output "SUUID not found in the registry."
                }
            } catch {
                Write-Output "Error retrieving SUUID from the registry: $_"
            }
        } else {
            Write-Output "Splashtop registry not found."
        }
        ```
      </Step>

      <Step title="نشر النص البرمجي عبر سياسة.">
        1. انتقل إلى **[Policies](https://app.gorelo.io/Asset/policy-management).**
        2. حرّر سياسة موجودة تغطي الأصول التي تريد تخزين Splashtop SUUID لها.
        3. أضف نص `Store-SplashtopSUUID` واضبطه على التكرار يوميًا في الوقت المفضل لديك.
        4. **احفظ** و**وزّع** السياسة.
      </Step>

      <Step title="إنشاء الاختصار.">
        1. انتقل إلى **[Asset Shortcuts](https://app.gorelo.io/Admin/admin-settings#asset#assetshortcuts).**
        2. أضف اختصارًا جديدًا بالتفاصيل التالية:
           * **Name**: `Splashtop`
           * **URL**: `t-business://com.splashtop.business?account=&uuid={{$gorelo:asset.splashtopSUUID}}&sessiontype=remote`
           * **Pinned Name**:  `Splashtop`
                     <Frame>
                       <img src="https://mintcdn.com/gorelo/VNk9kGyLTQMfiA_W/images/image-94.png?fit=max&auto=format&n=VNk9kGyLTQMfiA_W&q=85&s=6f6a457fb40ae89f476e82e9493affdb" alt="Image 94" width="776" height="756" data-path="images/image-94.png" />
                     </Frame>
             يجب أن ترى الآن اختصار **SPLASHTOP** في الزاوية العلوية اليمنى من صفحة Asset Detail. إذا نجح النص في ملء متغير `$gorelo:asset.splashtopSUUID`، فسيشغّل هذا الاختصار تطبيق Splashtop Business.
                     <Frame>
                       <img src="https://mintcdn.com/gorelo/VNk9kGyLTQMfiA_W/images/image-95.png?fit=max&auto=format&n=VNk9kGyLTQMfiA_W&q=85&s=c904bd21d026b986eb127ecb9c8d72d0" alt="Image" width="310" height="211" data-path="images/image-95.png" />
                     </Frame>
      </Step>
    </Steps>

    لا يقوم الاختصار بتثبيت Splashtop -- ستحتاج إلى استخدام نص آخر لذلك، على سبيل المثال:

    ```powershell theme={null}
    # Installs Splashtop Streamer using the installer MSI uploaded to $gorelo:file.splashtopInstaller
    # Runs a silent install using the 12-digit deployment key at $gorelo:client.splashtopKey

    #Check for presence of SplashtopKey
    if ([string]::IsNullOrEmpty($gorelo:client.splashtopKey)) {
    Write-Output "No SplashTop Key stored for this client. Automatic installation cancelled."
    GoreloAction -Alert -Severity 3 -Name "No Splashtop Key stored for this client" -Description "No Splashtop Key is stored in the client custom field so the automatic installation has been cancelled" -Suppress 0
    } else {
    Write-Output "Splashtop Key Found: " $gorelo:client.splashtopKey
    Write-Output "Installer Path: " $gorelo:file.splashtopInstaller
    }

    #Install Splashtop
    msiexec /i $gorelo:file.splashtopInstaller USERINFO="dcode=$gorelo:client.splashtopKey,hidewindow=1,confirm_d=0" /qn /norestart
    ```
  </Tab>

  <Tab title="RustDesk">
    يُوصى بشدة باستضافة خادم RustDesk الخاص بك وتعديل نص التثبيت الأولي لدعم ذلك.

    <Steps>
      <Step title="إنشاء حقل الأصل المخصص.">
        1. انتقل إلى **Settings** > **Assets** > **[Custom Fields](https://app.gorelo.io/Admin/admin-settings#asset#assetcustomfields).**
        2. أضف حقلًا مخصصًا بالتفاصيل التالية:
           * **Name**: RustDesk ID
           * **Variable**: rustdeskID
                     <Frame>
                       <img src="https://mintcdn.com/gorelo/U5LP8ONeOiG8YFD5/images/image-99.png?fit=max&auto=format&n=U5LP8ONeOiG8YFD5&q=85&s=269f2deb3032c4d2820a8a5c961a4e1a" alt="Image" width="803" height="622" data-path="images/image-99.png" />
                     </Frame>
        3. أضف حقلًا مخصصًا بالتفاصيل التالية:
           * **Name**: RustDesk Password
           * **Variable**: rustdeskPassword
                     <Frame>
                       <img src="https://mintcdn.com/gorelo/lqwr7vR8TnJnU6L2/images/image-100.png?fit=max&auto=format&n=lqwr7vR8TnJnU6L2&q=85&s=bbc282d1359062edafaed06e986119bd" alt="Image" width="802" height="618" data-path="images/image-100.png" />
                     </Frame>
      </Step>

      <Step title="رفع ملف المثبّت.">
        1. انتقل إلى **Settings** > Asset > [**<u>Files</u>**](https://app.gorelo.io/Admin/admin-settings#asset#filerepository)
        2. أضف ملفًا بالتفاصيل التالية:
           * **File**: ارفع أحدث مثبّت MSI لـ RustDesk
           * **Variable**: rustdesk
      </Step>

      <Step title="كتابة النص البرمجي.">
        1. انتقل إلى [**Scripts**](https://app.gorelo.io/Asset/script-list)
        2. أنشئ نصًا بالتفاصيل التالية:
           * **Name**: Install Rustdesk
           * **Content**:

        ```powershell theme={null}
           #Install Rusdesk
           msiexec /i $gorelo:file.rustdesk /qn /norestart CREATESTARTMENUSHORTCUTS="N" CREATEDESKTOPSHORTCUTS="N" /l*v install.log

        ```

        3. أنشئ نصًا بالتفاصيل التالية:
           * Name: Write Rustdesk ID and Password
           * Content:

        ```powershell theme={null}
           $RustDeskPath = "$env:ProgramFiles\RustDesk\RustDesk.exe"
           
           # Get Rustdesk ID using the executable
           $RustdeskID = cmd /c "`"$RustDeskPath`" --get-id"
           
           if ($RustdeskID) {
              # Write ID to Gorelo custom field
              GoreloAction -SetCustomField -Name 'asset.rustdeskID' -Value $RustdeskID
              Write-Output "Rustdesk ID: $RustdeskID written to Gorelo"
           
              # Generate random 16 character password
              $Password = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 16 | ForEach-Object {[char]$_})
              
              # Set the password in Rustdesk
              cmd /c "`"$RustDeskPath`" --password $Password"
              
              # Write password to Gorelo custom field
              GoreloAction -SetCustomField -Name 'asset.rustdeskPassword' -Value $Password
              Write-Output "Rustdesk password set and saved to Gorelo"
              exit 0
           } else {
              Write-Output "Failed to get Rustdesk ID"
              exit 1
           }
        ```
      </Step>

      <Step title="نشر النصوص البرمجية عبر سياسة.">
        1. انتقل إلى **[Policies](https://app.gorelo.io/Asset/policy-management).**
        2. حرّر سياسة موجودة تغطي الأصول التي تريد التثبيت والاتصال بها عبر RustDesk.
        3. أضف فحص Service مستمر لـ **RustDesk Service**. أضف نص ‘Install Rustdesk’ كخطوة إصلاح.
        4. أضف نص 'Write Rustdesk ID and Password' واضبطه على التكرار يوميًا في الوقت المفضل لديك.
        5. **احفظ** و**وزّع** السياسة.
      </Step>

      <Step title="إنشاء الاختصار.">
        1. انتقل إلى **[Asset Shortcuts](https://app.gorelo.io/Admin/admin-settings#asset#assetshortcuts).**
        2. أضف اختصارًا جديدًا بالتفاصيل التالية:
           * **Name**: `RustDesk`
           * **URL**:`rustdesk://{{\$gorelo:asset.rustdeskID}}?password={{\$gorelo:asset.rustdeskPassword}}`
           * **Pinned Name**: `RustDesk`

        <Frame>
          <img src="https://mintcdn.com/gorelo/lqwr7vR8TnJnU6L2/images/image-101.png?fit=max&auto=format&n=lqwr7vR8TnJnU6L2&q=85&s=9be09dfa8c0571ab242e690fe0b81d75" alt="Image" width="776" height="756" data-path="images/image-101.png" />

          يجب أن ترى الآن اختصار **RustDesk** في الزاوية العلوية اليمنى من صفحة Asset Detail. إذا نجح النص في ملء الحقول المخصصة، فسيشغّل هذا الاختصار تطبيق RustDesk.
        </Frame>

        يجب أن يبدو عنوان URL لـ Bitdefender لمثبّت exe كما يلي (مثال وهمي):

        [https://cloudgz.gravityzone.bitdefender.com/Packages/BSTWIN/0/setupdownloader\_\[aHR0cHM6Ly9jbG91ZGdLWDawWVjcy5ncR5em9uZS5iaXRkZWZl3ddwawGfawdmRlci5jb20vUGFja2FnZXMvQlNUV0lOLzAvdkluc3RhbGxlci54bw-bGFuZz1lbi1VUw==\].exe](https://cloudgz.gravityzone.bitdefender.com/Packages/BSTWIN/0/setupdownloader_\[aHR0cHM6Ly9jbG91ZGdLWDawWVjcy5ncR5em9uZS5iaXRkZWZl3ddwawGfawdmRlci5jb20vUGFja2FnZXMvQlNUV0lOLzAvdkluc3RhbGxlci54bw-bGFuZz1lbi1VUw==].exe)
      </Step>
    </Steps>
  </Tab>
</Tabs>
