> ## 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.

# Instalar software via campos personalizados de cliente

> Instale softwares como Cove, SentinelOne, BitDefender e Webroot com scripts do Gorelo que usam campos personalizados específicos de cliente para chaves, tokens e tenant IDs.

Siga este guia para instalar SentinelOne, Cove, DNSFilter etc.

Campos personalizados de cliente podem ser usados em scripts para instalar softwares com informações específicas do cliente (chaves, tokens etc.).

Este exemplo instala:

* Cove
* SentinelOne
* BitDefender
* Webroot

<Tabs>
  <Tab title="Cove">
    <Steps>
      <Step title="Crie o campo personalizado do cliente.">
        1. Acesse **Configurações** > **CRM** > **[<u>Campos personalizados</u>](https://app.gorelo.io/Admin/admin-settings#crm#clientcustomfields)<u>.</u>**
        2. Adicione um campo personalizado com os seguintes detalhes:
           * **Nome**: Cove Customer UID
           * **Variável**: CoverCustomerUID
      </Step>

      <Step title="Preencha o Cove Customer UID para cada cliente.">
        1. Acesse um cliente específico.
        2. Clique em **Campos personalizados**.
        3. Edite **Cove Customer UID**.
        4. Insira o Customer UID obtido no Cove.
      </Step>

      <Step title="Escreva o script.">
        1. Acesse **[<u>Scripts</u>](https://app.gorelo.io/Asset/script-list)<u>.</u>**
        2. Crie um script com os seguintes detalhes:
           * **Nome**: Install-Cove
           * **Conteúdo**:

        ```powershell theme={null}
        # ===== Configuration Variables =====
        $CUSTOMERUID = $gorelo:client.CoveCustomerUID
        $PROFILEID = "All-in" # Default retention policy
        $PRODUCT = "0" # Profile ID (use "0" for no profile or a specific profile ID)
        $DOWNLOADPATH = "C:\Windows\Temp"
        # ===================================

        $startTime = Get-Date
        $INSTALL = "$DOWNLOADPATH\bm#$CUSTOMERUID#$PROFILEID#.exe"

        # Download installer
        try {
            [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
            (New-Object System.Net.WebClient).DownloadFile("https://cdn.cloudbackup.management/maxdownloads/mxb-windows-x86_x64.exe", "$INSTALL")
        } catch {
            Write-Output "ERROR: Failed to download installer - $_"
            exit 1
        }

        # Run installer
        try {
            Start-Process -FilePath $INSTALL -ArgumentList "-product-name `"$PRODUCT`"" -Wait -NoNewWindow
            Start-Sleep -Seconds 5
        } catch {
            Write-Output "ERROR: Installation failed - $_"
            exit 1
        }

        # Verify installation
        $service = Get-Service -Name "Backup Service Controller" -ErrorAction SilentlyContinue
        $process = Get-Process -Name "BackupFP" -ErrorAction SilentlyContinue

        if ($service.Status -eq 'Running' -and $process) {
            Write-Output "SUCCESS: Backup Service Controller is running and BackupFP process is active."
            Write-Output "Installed for Customer UID: $CUSTOMERUID"
            $exitCode = 0
        } else {
            Write-Output "WARNING: Backup Service Controller or BackupFP process is not running as expected."
            Write-Output "Customer UID: $CUSTOMERUID"
            
            # Check log for errors
            $logDirectory = "C:\ProgramData\mxb\Backup Manager\logs\ClientTool"
            if (Test-Path $logDirectory) {
                $latestLog = Get-ChildItem -Path $logDirectory -Filter "*.log" | Sort-Object LastWriteTime -Descending | Select-Object -First 1
                if ($latestLog) {
                    $errorLines = Get-Content -Path $latestLog.FullName | Where-Object { $_ -match '\[E\]' } | Select-Object -Last 3
                    if ($errorLines) {
                        Write-Output "Recent errors from log:"
                        $errorLines | ForEach-Object { Write-Output $_ }
                    }
                }
            }
            $exitCode = 1
        }

        $endTime = Get-Date
        Write-Output "Installation completed in $([math]::Round(($endTime - $startTime).TotalSeconds, 2)) seconds."
        exit $exitCode
        ```
      </Step>
    </Steps>
  </Tab>

  <Tab title="SentinelOne">
    <Steps>
      <Step title="Crie o campo personalizado do cliente.">
        1. Acesse **Configurações** > **CRM** > **[<u>Campos personalizados</u>](https://app.gorelo.io/Admin/admin-settings#crm#clientcustomfields)<u>:</u>**
        2. Adicione um campo personalizado com os seguintes detalhes:
           * **Nome**: SentinelOne Site Token
           * **Variável**: s1token

        <Frame>
          <img src="https://mintcdn.com/gorelo/-gDoUuq9lm8_69OG/images/image-87.png?fit=max&auto=format&n=-gDoUuq9lm8_69OG&q=85&s=031f83e7ab18bcf33261433dacae33df" alt="Image" width="782" height="624" data-path="images/image-87.png" />
        </Frame>
      </Step>

      <Step title="Preencha o token do software para cada cliente.">
        1. Acesse um cliente específico.
        2. Clique em **Campos personalizados**.
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/-gDoUuq9lm8_69OG/images/image-88.png?fit=max&auto=format&n=-gDoUuq9lm8_69OG&q=85&s=b7c8ddd252eb239aaf67ef9f00553e47" alt="Image" width="699" height="914" data-path="images/image-88.png" />
                   </Frame>
        3. Edite **SentinelOne Site Token**.
        4. Insira o Site Token obtido no SentinelOne.
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/-gDoUuq9lm8_69OG/images/image-89.png?fit=max&auto=format&n=-gDoUuq9lm8_69OG&q=85&s=937c28444f16ea4989b6fc99af96f7ee" alt="Image" width="678" height="386" data-path="images/image-89.png" />
                   </Frame>
           Você pode obter seu SentinelOne Site Token em https\://\<DomainName>.[**sentinelone.net/dashboard**](http://sentinelone.net/dashboard). Acesse um Site e a aba **Site Info**.
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/-gDoUuq9lm8_69OG/images/image-90.png?fit=max&auto=format&n=-gDoUuq9lm8_69OG&q=85&s=baef851dc57746d91b1bc79658c23bb4" alt="Image" width="1641" height="617" data-path="images/image-90.png" />
                   </Frame>
      </Step>

      <Step title="Crie o arquivo do instalador.">
        1. Acesse **Configurações** > Ativo > **[<u>Arquivos</u>](https://app.gorelo.io/Admin/admin-settings#asset#filerepository)<u>.</u>**
        2. Adicione um arquivo com os seguintes detalhes:
           * **Arquivo**: envie o instalador MSI mais recente
           * **Variável**: S1Installer
      </Step>

      <Step title="Escreva o script.">
        1. Acesse **[<u>Scripts</u>](https://app.gorelo.io/Asset/script-list)<u>.</u>**
        2. Crie um script com os seguintes detalhes:
           * **Nome**: Install-SentineOne.
           * **Conteúdo**:

        ```powershell theme={null}
        #Silently install SentinelOne

        if($gorelo:client.s1token){

          $S1Service = get-service -Name 'Sentinel Agent' -ErrorAction SilentlyContinue

          if($S1Service -eq $null){

                msiexec /i $gorelo:file.S1Installer SITE_TOKEN=$gorelo:client.s1token /quiet /norestart
               
          }
        }
        ```
      </Step>

      <Step title="Implante o script via uma política.">
        1. Acesse **[<u>Políticas</u>](https://app.gorelo.io/Asset/policy-management)<u>.</u>**
        2. Edite uma política existente que cubra os ativos onde deseja instalar o SentinelOne.
        3. Adicione o script **Install-SentineOne** e configure-o para repetir diariamente no horário desejado.
        4. **Distribua** a política.
      </Step>
    </Steps>
  </Tab>

  <Tab title="BitDefender">
    <Steps>
      <Step title="Crie o campo personalizado do cliente.">
        1. Acesse **Configurações** > **CRM** > **[<u>Campos personalizados</u>](https://app.gorelo.io/Admin/admin-settings#crm#clientcustomfields)<u>.</u>**
        2. Adicione um campo personalizado com os seguintes detalhes:
           * **Nome**: Bitdefender URL
           * **Variável**: bitdefenderURL

        <Frame>
          <img src="https://mintcdn.com/gorelo/T3NJMN-hVMIJ4iQN/images/image-105.png?fit=max&auto=format&n=T3NJMN-hVMIJ4iQN&q=85&s=c3008e52a40d2950813499b65dc391f2" alt="Image" width="803" height="644" data-path="images/image-105.png" />
        </Frame>
      </Step>

      <Step title="Preencha a URL do BitDefender para cada cliente.">
        1. Acesse um cliente específico.
        2. Clique em **Campos personalizados**.
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/T3NJMN-hVMIJ4iQN/images/image-106.png?fit=max&auto=format&n=T3NJMN-hVMIJ4iQN&q=85&s=c1073ee7cec0fb54745993497c098996" alt="Image" width="699" height="914" data-path="images/image-106.png" />
                   </Frame>
        3. Edite **Bitdefender URL**.
        4. Insira a URL do exe de instalação obtida no Bitdefender para cada cliente.
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/T3NJMN-hVMIJ4iQN/images/image-107.png?fit=max&auto=format&n=T3NJMN-hVMIJ4iQN&q=85&s=d8e2868ac6c7ec0192e2e2d1f1ce2064" alt="Image" width="704" height="414" data-path="images/image-107.png" />
                   </Frame>
                   <Tip>
                     A URL do Bitdefender para o exe de instalação deve se parecer com isto (exemplo fictício): `htttps://cloudgz.gravityzone.bitdefender.com/Packages/BSTWIN/0/setupdownloader_[aHR0cHM6Ly9jbG91ZGdLWDawWVjcy5ncR5em9uZS5iaXRkZWZl3ddwawGfawdmRlci5jb20vUGFja2FnZXMvQlNUV0lOLzAvdkluc3RhbGxlci54bw-bGFuZz1lbi1VUw==].exe`
                   </Tip>
      </Step>

      <Step title="Escreva o script.">
        1. Acesse **[<u>Scripts</u>](https://app.gorelo.io/Asset/script-list)<u>.</u>**
        2. Crie um script com os seguintes detalhes:
           * **Nome**: Install-Bitdefender
           * **Conteúdo**:

        ```powershell theme={null}
        #$gorelo:client.bitdefenderURL

        # Check if Bitdefender is already installed
        if (Get-Service -Name "EPProtectedService" -ErrorAction SilentlyContinue) {
            Write-Host "Bitdefender is already installed. Skipping installation."
            exit 0
        }

        # Proceed with installation
        $url = $gorelo:client.bitdefenderURL
        $filename = Split-Path $url -Leaf
        $installer = Join-Path $env:TEMP $filename

        Write-Host "Downloading Bitdefender installer..."
        (New-Object System.Net.WebClient).DownloadFile($url, $installer)

        Write-Host "Installing Bitdefender..."
        Start-Process -FilePath $installer -ArgumentList "/silent" -Wait
        Remove-Item -LiteralPath $installer

        # Verify installation
        Start-Sleep -Seconds 10  # Give the service time to start
        $service = Get-Service -Name "EPProtectedService" -ErrorAction SilentlyContinue

        if ($service -and $service.Status -eq "Running") {
            Write-Host "Installation successful! EPProtectedService is running."
            exit 0
        } else {
            Write-Host "Installation may have failed. EPProtectedService not found or not running."
            exit 1
        }
        ```
      </Step>

      <Step title="Implante o script via uma política.">
        1. Acesse **[<u>Políticas</u>](https://app.gorelo.io/Asset/policy-management)<u>.</u>**
        2. Edite uma política existente que cubra os ativos onde deseja instalar o Bitdefender.
        3. Adicione o script **Install-Bitdefender** e configure-o para repetir diariamente no horário desejado.
        4. **Distribua** a política.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Webroot">
    <Steps>
      <Step title="Crie o campo personalizado do cliente.">
        1. Acesse **Configurações** > **CRM** > **[<u>Campos personalizados</u>](https://app.gorelo.io/Admin/admin-settings#crm#clientcustomfields)<u>.</u>**
        2. Adicione um campo personalizado com os seguintes detalhes:
           * **Nome**: Webroot Key
           * **Variável**: webrootKey

        <Frame>
          <img src="https://mintcdn.com/gorelo/vclHs_96o-5AzbEe/images/image-102.png?fit=max&auto=format&n=vclHs_96o-5AzbEe&q=85&s=94afcc15964d77a73b1f06a85397187f" alt="Image" width="749" height="585" data-path="images/image-102.png" />
        </Frame>
      </Step>

      <Step title="Preencha a Webroot Key para cada cliente.">
        1. Acesse um cliente específico.
        2. Clique em **Campos personalizados**.
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/vclHs_96o-5AzbEe/images/image-103.png?fit=max&auto=format&n=vclHs_96o-5AzbEe&q=85&s=29d3f4f00950d7dabc7b019d6c81f7f0" alt="Image" width="699" height="914" data-path="images/image-103.png" />
                   </Frame>
        3. Edite **Webroot Key**.
        4. Insira a Webroot Key **[obtida no Webroot](https://answers.webroot.com/Webroot/ukp.aspx?pid=17\&app=vw\&vw=1\&solutionid=984).**
                   <Frame>
                     <img src="https://mintcdn.com/gorelo/vclHs_96o-5AzbEe/images/image-104.png?fit=max&auto=format&n=vclHs_96o-5AzbEe&q=85&s=c340167502bfba8e2933ac0d7b68a23e" alt="Image" width="673" height="399" data-path="images/image-104.png" />
                   </Frame>
      </Step>

      <Step title="Crie o arquivo do instalador.">
        1. Acesse **Configurações** > Ativo > **[<u>Arquivos</u>](https://app.gorelo.io/Admin/admin-settings#asset#filerepository)<u>.</u>**
        2. Adicione um arquivo com os seguintes detalhes:
           * **Arquivo**: envie o instalador MSI mais recente
           * **Variável**: webrootInstaller
      </Step>

      <Step title="Crie o script.">
        1. Acesse **[<u>Scripts</u>](https://app.gorelo.io/Asset/script-list)<u>.</u>**
        2. Crie um script com os seguintes detalhes:
           * **Nome**: Install-Webroot
           * **Conteúdo**:

        ```powershell theme={null}
        # Silently install Webroot
        if($gorelo:client.webrootKey){
            $WebrootService = Get-Service -Name 'WRSVC' -ErrorAction SilentlyContinue
            if($WebrootService -eq $null){
                msiexec /i $gorelo:file.webrootInstaller GUILIC=$gorelo:client.webrootKey CMDLINE=SME,quiet /qn /l*v install.log
            }
        }
        ```
      </Step>

      <Step title="Implante o script via uma política">
        1. Acesse **[<u>Políticas</u>](https://app.gorelo.io/Asset/policy-management)<u>.</u>**
        2. Edite uma política existente que cubra os ativos onde deseja instalar o Webroot.
        3. Adicione o script **Install-Webroot** e configure-o para repetir diariamente no horário desejado.
        4. **Distribua** a política.

        Alternativamente, você pode adicionar o script como uma etapa de remediação para uma Verificação de Serviço, por exemplo:

        <Frame>
          <img src="https://mintcdn.com/gorelo/T3NJMN-hVMIJ4iQN/images/image-105.png?fit=max&auto=format&n=T3NJMN-hVMIJ4iQN&q=85&s=c3008e52a40d2950813499b65dc391f2" alt="Image" width="803" height="644" data-path="images/image-105.png" />
        </Frame>
      </Step>
    </Steps>
  </Tab>
</Tabs>
