<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Guia Técnico | Backups de Aplicações Qlik Cloud Analytics (QCA) in Brasil</title>
    <link>https://community.qlik.com/t5/Brasil/Guia-T%C3%A9cnico-Backups-de-Aplica%C3%A7%C3%B5es-Qlik-Cloud-Analytics-QCA/m-p/2547727#M61091</link>
    <description>&lt;P&gt;Comunidade,&amp;nbsp;s&lt;SPAN&gt;abemos que a plataforma QCA gerencia a infraestrutura, mas a responsabilidade pelo backup e pela estratégia de Disaster Recovery (DR) dos ativos analíticos ainda é de quem administra o ambiente.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Segue script para dumps de apps de ambiente Qlik Cloud Analytics! O processo conta com notificação analítica visual em HTML e anexo de log completo direto por e-mail.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Como acredito no poder do compartilhamento, decidi abrir o código para ajudar no crescimento da comunidade Qlik.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;O script de backup está disponível no meu repositório do GitHub para garantir uma melhor organização e facilitar futuras releases:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/mariosergioti/QlikCloudAnalytics_SCRIPT_Dumps" target="_blank" rel="nofollow noopener noreferrer"&gt;https://github.com/mariosergioti/QlikCloudAnalytics_SCRIPT_Dumps&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="5"&gt;&lt;STRONG&gt;README. v3.9.0 (Primeira versão pública):&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;FONT size="4"&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;AVISO IMPORTANTE — Licença por Capacidade (Capacity-Based)&lt;/FONT&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Se o seu contrato Qlik Cloud for baseado em Capacidade (Capacity-Based Subscription), leia este aviso com atenção antes de configurar o script.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;O Qlik Cloud mede e limita a movimentação de dados dentro do ciclo de cobrança. A exportação em massa de aplicativos&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;consome cota de capacidade&lt;/STRONG&gt;, podendo impactar o limite do seu plano contratado.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Recomendações antes de ativar:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Consulte o painel de consumo em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Administração &amp;gt; Monitoramento de Uso&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;no seu tenant.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Planeje a execução em horários de baixo uso (ex: madrugada/final de semana).&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Use os filtros de inclusão/exclusão disponíveis no script para exportar apenas o que for crítico para DR.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Avalie reduzir a frequência do backup (ex: semanal em vez de diário) se a cota for limitada.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Certifique-se de ter aprovação da área responsável pelo contrato antes de executar em escala.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Monitore o consumo após as primeiras execuções.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":shield:"&gt;🛡&lt;/span&gt;️ Por que este backup é essencial?&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;A Qlik não realiza backup dos seus aplicativos para fins de Disaster Recovery (DR).&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;A Qlik Cloud é uma plataforma SaaS gerenciada pela Qlik, porém a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;responsabilidade pela cópia de segurança dos ativos analíticos é do cliente&lt;/STRONG&gt;. Em caso de exclusão acidental, corrupção de arquivos ou qualquer outro incidente, não há garantia de recuperação pela Qlik sem um backup próprio.&lt;/P&gt;&lt;P&gt;Este script resolve justamente essa lacuna, permitindo que sua equipe tenha cópias locais dos aplicativos do ambiente Qlik Cloud Analytics, prontas para um processo de restauração quando necessário.&lt;/P&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":sparkles:"&gt;✨&lt;/span&gt;Principais Funcionalidades&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Exportação de Apps (.qvf):&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Faz o dump de todos os aplicativos acessíveis pelo usuário, organizados por tipo de Space (Managed, Shared, Personal).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Modo Flexível (NoData):&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Escolha entre exportar COM dados de carga ou apenas o layout/script do app (NoData), reduzindo drasticamente o tamanho dos arquivos.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Bypass de SSL Inspection:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Utiliza&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;curl.exe&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;nativo para contornar políticas de inspeção SSL em redes corporativas.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Mapeamento de Usuários:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Identifica dinamicamente os owners dos Personal Spaces pelo nome do usuário.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Filtros Avançados:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Filtre por nome, tipo de Space e nome do Space.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Exclusões Avançadas:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Exclua por nome, tipo de Space e nome do Space.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Gestão de Retenção:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Exclui automaticamente pastas de backup mais antigas que o limite configurado (ex: D-30).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Paginação Automática:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Navega por todas as páginas da API, sem limite de itens.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Relatório Executivo HTML:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Envia e-mails com design profissional ao iniciar e ao concluir, com resumo por tipo de Space e lista de falhas.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Anexo de log no e-mail:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Recebe e-mail com arquivo de log profissional ao concluir, com resumo por tipo de Space, lista de falhas e o detalhamento de todos os apps carregados com os respectivos status.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Transparência de Privacidade e Filtros:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Contabiliza e exibe na métrica de e-mail os "Apps Ignorados" que não puderam ser baixados devido a regras de privacidade ou filtros ativos.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":locked:"&gt;🔒&lt;/span&gt;Segurança e Responsabilidade&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Use este script com responsabilidade.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Este projeto é disponibilizado sob licença MIT,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;sem qualquer garantia expressa ou implícita&lt;/STRONG&gt;. Os autores e a Cubotimize&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;não se responsabilizam por quaisquer danos, perdas, cobranças excessivas de capacidade ou prejuízos&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;decorrentes do uso deste script, seja em ambientes de produção, homologação ou desenvolvimento.&lt;/P&gt;&lt;P&gt;Recomendações de segurança:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":locked_with_key:"&gt;🔐&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Nunca compartilhe sua API Key.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Ela possui as exatas permissões do usuário que a gerou.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":counterclockwise_arrows_button:"&gt;🔄&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Acompanhe as notas de atualização da Qlik&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;para mudanças nas APIs utilizadas:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/saas-release-notes.htm" target="_blank" rel="nofollow noopener"&gt;Qlik Cloud Release Notes&lt;/A&gt;.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":counterclockwise_arrows_button:"&gt;🔄&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Acompanhe as atualizações deste script&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;para incorporar eventuais ajustes de compatibilidade e segurança.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":shield:"&gt;🛡&lt;/span&gt;️&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Proteja o arquivo&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;.ps1&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;com permissões de leitura restritas ao usuário de serviço que executa o script.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":card_index_dividers:"&gt;🗂&lt;/span&gt;️&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Proteja a pasta de backup&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;com permissões de rede adequadas, evitando acesso não autorizado.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":clipboard:"&gt;📋&lt;/span&gt;Pré-requisitos&lt;/DIV&gt;&lt;P&gt;Requisito Detalhe&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;PowerShell&lt;/TD&gt;&lt;TD&gt;Versão 5.1 ou superior&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;curl.exe&lt;/TD&gt;&lt;TD&gt;Nativo no Windows 10/Server 2019 ou superior&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Qlik Cloud&lt;/TD&gt;&lt;TD&gt;Acesso ativo ao tenant com permissão de geração de API Key. O nível de acesso (ex: Tenant Admin ou Desenvolvedor) definirá o alcance do backup.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;API Key&lt;/TD&gt;&lt;TD&gt;Gerada conforme instruções abaixo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Rede&lt;/TD&gt;&lt;TD&gt;Acesso de saída HTTPS (porta 443) ao tenant&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":key:"&gt;🔑&lt;/span&gt;Gerando a API Key corretamente&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Atenção: O escopo do backup depende do criador da chave.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;O script não exige, obrigatoriamente, que o usuário seja um&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Tenant Admin. No entanto, a API Key herda&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;exatamente as mesmas permissões&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;do usuário no momento de sua criação.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Se você usar a chave de um&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Tenant Admin&lt;/STRONG&gt;, fará o backup de praticamente todo o ambiente corporativo.&lt;/LI&gt;&lt;LI&gt;Se usar a chave de um usuário comum (ex: Desenvolvedor), o script fará o backup apenas dos Spaces e Apps que aquele usuário específico tem acesso.&lt;/LI&gt;&lt;/UL&gt;&lt;DIV class=""&gt;Passo a passo:&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;Certifique-se de que o usuário possui a permissão adequada para o nível de backup desejado e que tenha a role&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Manage API keys&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;atribuída.&lt;/LI&gt;&lt;LI&gt;Verifique se a geração de API Keys está habilitada no tenant em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Administração &amp;gt; Configurações &amp;gt; Geração de API Key.&lt;/LI&gt;&lt;LI&gt;No canto superior direito, clique no seu avatar →&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Perfil&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Vá até a aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Tokens de API&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e clique em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Gerar novo token&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Dê um nome descritivo (ex:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;DR_Backup) e defina a validade.&lt;/LI&gt;&lt;/OL&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Dica sobre validade do token:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Por padrão, o Qlik Cloud pode definir expiração curta para tokens. Acesse&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Administração &amp;gt; Configurações de Segurança &amp;gt; Tokens de API&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;aumente o tempo máximo de vida do token&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;para reduzir a frequência de renovações (ex: 1 ano). Lembre-se de criar um lembrete para renovação antes do vencimento.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;OL&gt;&lt;LI&gt;Copie a chave gerada e cole na variável&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;$vApiKey&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;do script.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Ela só é exibida uma vez.&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":gear:"&gt;⚙️&lt;/span&gt;Configuração do Script&lt;/DIV&gt;&lt;P&gt;Abra o arquivo&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;.ps1&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;em um editor de texto e ajuste as variáveis na seção de configurações:&lt;/P&gt;&lt;DIV class=""&gt;Seção 1 — Autenticação&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vTenantUrl&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;[https://sua-empresa.us.qlikcloud.com](https://sua-empresa.us.qlikcloud.com)&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;  &lt;SPAN class=""&gt;# Sem barra no final&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vApiKey&lt;/SPAN&gt;    &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;SUA_APIKEY_AQUI&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 2 — O que exportar&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vDumpApps&lt;/SPAN&gt;         &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;$true&lt;/SPAN&gt;      &lt;SPAN class=""&gt;# $true para exportar Apps (.qvf)&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vDumpAppsSemDados&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;$true&lt;/SPAN&gt;      &lt;SPAN class=""&gt;# $true = layout/script apenas (NoData) — arquivos menores&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 3 — Filtros de Inclusão (opcional)&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vFiltroNome&lt;/SPAN&gt;       &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Producao" — exporta só apps com esta palavra no nome&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vFiltroTipoEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# "managed", "shared" ou "personal"&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vFiltroNomeEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Vendas" — exporta só spaces com esta palavra no nome&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 4 — Exclusões (opcional)&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vExcluirNome&lt;/SPAN&gt;       &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Teste" — ignora apps com esta palavra no nome&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vExcluirTipoEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "personal" — ignora todo o Personal Space&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vExcluirNomeEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Homologacao"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 5 — Destino e Retenção&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vPastaBackup&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;\\SERVIDOR\BACKUP\QLIK\QLIK_CLOUD\&lt;SPAN class=""&gt;$vServidorNome&lt;/SPAN&gt;\Dumps\&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vDiasBackup&lt;/SPAN&gt;  &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;30&lt;/SPAN&gt;               &lt;SPAN class=""&gt;# Backups com mais de 30 dias serão excluídos automaticamente&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 6 — E-mail&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vEnviarEmail&lt;/SPAN&gt;    &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;$true&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vSmtpServer&lt;/SPAN&gt;     &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;smtp.gmail.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vSmtpPort&lt;/SPAN&gt;       &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;587&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vEmailRemetente&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;robô@gmail.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vSenhaAppGmail&lt;/SPAN&gt;  &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;xxxx xxxx xxxx xxxx&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;   &lt;SPAN class=""&gt;# Senha de Aplicativo de 16 dígitos&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vEmailDestino&lt;/SPAN&gt;   &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;equipe@empresa.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;backup@empresa.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Como gerar a Senha de Aplicativo no Google:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Acesse&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://myaccount.google.com/" target="_blank" rel="nofollow noopener"&gt;myaccount.google.com&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;→&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Segurança&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Confirme que a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Verificação em duas etapas&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;está ativa.&lt;/LI&gt;&lt;LI&gt;Pesquise por&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Senhas de app"&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e clique na opção.&lt;/LI&gt;&lt;LI&gt;Crie um nome (ex:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Script Qlik Backup) e clique em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Gerar&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Cole a senha de 16 caracteres (sem espaços) em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;$vSenhaAppGmail.&lt;/LI&gt;&lt;/OL&gt;&lt;/BLOCKQUOTE&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":bust_in_silhouette:"&gt;👤&lt;/span&gt;Comportamento nos Personal Spaces — Política de Privacidade&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;O Qlik Cloud&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;restringe o acesso&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a apps de Personal Spaces de terceiros por questões de privacidade, mesmo para contas com perfil de Tenant Admin.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;O script trata essa situação de forma elegante e transparente, atuando da seguinte maneira:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Espaço "Personal" do gerador da Chave:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Como a API Key atua em nome de quem a criou,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;os únicos aplicativos exportados com sucesso do tipo "Personal Space" serão os que pertencem exclusivamente a este usuário&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(o dono do token).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Espaço "Personal" de Terceiros:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Apps de espaços pessoais de outros usuários não serão baixados. No entanto, o script mapeará o nome do usuário "owner" e o nome do app, registrando a restrição no log de execução para fins de auditoria (&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt; IGNORADO).&lt;/LI&gt;&lt;LI&gt;Esse comportamento&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;não gera erro no processo&lt;/STRONG&gt;, e os itens pulados alimentam de forma automática a métrica&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Apps Ignorados"&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;no relatório executivo final.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":card_index_dividers:"&gt;🗂&lt;/span&gt;️ Estrutura de Pastas Gerada&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;\\SERVIDOR\BACKUP\QLIK\QLIK_CLOUD\NOME-SERVIDOR\Dumps\
└── 2025-07-15\
    ├── __Managed\
    │   └── Nome do Managed Space\
    │       ├── App Financeiro.qvf
    │       └── App RH.qvf
    ├── __Shared\
    │   └── Nome do Shared Space\
    │       └── Dashboard Vendas.qvf
    ├── __Personal\
    │   ├── Mario Sergio Soares\
    │   │   └── Meu App Pessoal.qvf
    │   └── Outro Usuario\
    │       └── (vazio — privacidade)
    └── backup.log&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":rocket:"&gt;🚀&lt;/span&gt;Como Agendar no Windows (Task Scheduler)&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;Abra o&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Agendador de Tarefas&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;→&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Criar Tarefa...&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Na aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Geral:&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Nome:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Backup Qlik Cloud&lt;/LI&gt;&lt;LI&gt;Clique em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Alterar Usuário ou Grupo&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e insira o usuário de serviço com acesso à rede de backup.&lt;/LI&gt;&lt;LI&gt;Marque&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Executar estando o usuário logado ou não"&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Marque&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Executar com privilégios mais altos"&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Na aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Gatilhos:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;configure a recorrência desejada (ex: diariamente às 01:00).&lt;/LI&gt;&lt;LI&gt;Na aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Ações:&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Programa:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;powershell.exe&lt;/LI&gt;&lt;LI&gt;Argumentos:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-ExecutionPolicy Bypass -File "C:\Scripts\Cubotimize_QlikCloud_Backup.ps1"&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Salve e informe a senha do usuário de serviço quando solicitado.&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":e_mail:"&gt;📧&lt;/span&gt;Exemplos de Notificações por E-mail&lt;/DIV&gt;&lt;P&gt;O script envia dois e-mails automáticos: um ao&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;iniciar&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e outro ao&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;concluir&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;o processo.&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":play_button:"&gt;▶️&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;E-mail de Início&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Print_01_DumpQCA_ScriptIniciado.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/188007i043E0795ED6732ED/image-size/large?v=v2&amp;amp;px=999" role="button" title="Print_01_DumpQCA_ScriptIniciado.png" alt="Print_01_DumpQCA_ScriptIniciado.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;E-mail de Conclusão com Sucesso&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Print_02_DumpQCA_ScriptConcluidoComSucesso.png" style="width: 509px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/188008i9A34594BCBC6B876/image-size/large?v=v2&amp;amp;px=999" role="button" title="Print_02_DumpQCA_ScriptConcluidoComSucesso.png" alt="Print_02_DumpQCA_ScriptConcluidoComSucesso.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;E-mail de Conclusão com Falhas&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Print_03_DumpQCA_ScriptConcluidoComFalhas.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/188009iF3CA5C9FDB65448E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Print_03_DumpQCA_ScriptConcluidoComFalhas.png" alt="Print_03_DumpQCA_ScriptConcluidoComFalhas.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;O relatório final inclui:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Resumo executivo com contadores totais&lt;/LI&gt;&lt;LI&gt;Métrica de&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt;&lt;/STRONG&gt;&amp;nbsp;Apps Ignorados (Filtros + Privacidade)&lt;/LI&gt;&lt;LI&gt;Seção &lt;span class="lia-unicode-emoji" title=":red_circle:"&gt;🔴&lt;/span&gt; Apps por Managed Space&lt;/LI&gt;&lt;LI&gt;Seção &lt;span class="lia-unicode-emoji" title=":blue_circle:"&gt;🔵&lt;/span&gt; Apps por Shared Space&lt;/LI&gt;&lt;LI&gt;Seção &lt;span class="lia-unicode-emoji" title=":bust_in_silhouette:"&gt;👤&lt;/span&gt; Apps por Personal Space (usuário owner)&lt;/LI&gt;&lt;LI&gt;Lista detalhada de falhas com nome do item, ID e descrição técnica do erro&lt;/LI&gt;&lt;LI&gt;Log completo em anexo (backup.log)&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":man_technologist:"&gt;👨‍💻&lt;/span&gt;Autor e Contatos&lt;/DIV&gt;&lt;P&gt;&lt;STRONG&gt;Mario Sergio Soares&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":globe_with_meridians:"&gt;🌐&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Bio Page &amp;amp; Projetos:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://cubo.plus/mariosergioti" target="_blank" rel="nofollow noopener"&gt;cubo.plus/mariosergioti&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":briefcase:"&gt;💼&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;LinkedIn:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://linkedin.com/in/mariosergioti" target="_blank" rel="nofollow noopener"&gt;linkedin.com/in/mariosergioti&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":office_building:"&gt;🏢&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Empresa:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://cubotimize.com/" target="_blank" rel="nofollow noopener"&gt;Cubotimize&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":camera_with_flash:"&gt;📸&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Instagram:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.instagram.com/mariosoares_ti/" target="_blank" rel="nofollow noopener"&gt;https://www.instagram.com/mariosoares_ti/&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":bar_chart:"&gt;📊&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Mais Materiais Qlik:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.qlik.com/t5/Brasil/Publica%C3%A7%C3%B5es-de-MARIO-SOARES-Documentos-Aplicativos-e-Arquivos/td-p/1464214" target="_blank" rel="nofollow noopener"&gt;Publicações na Qlik Community&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
    <pubDate>Sat, 25 Apr 2026 02:39:08 GMT</pubDate>
    <dc:creator>mario_sergio_ti</dc:creator>
    <dc:date>2026-04-25T02:39:08Z</dc:date>
    <item>
      <title>Guia Técnico | Backups de Aplicações Qlik Cloud Analytics (QCA)</title>
      <link>https://community.qlik.com/t5/Brasil/Guia-T%C3%A9cnico-Backups-de-Aplica%C3%A7%C3%B5es-Qlik-Cloud-Analytics-QCA/m-p/2547727#M61091</link>
      <description>&lt;P&gt;Comunidade,&amp;nbsp;s&lt;SPAN&gt;abemos que a plataforma QCA gerencia a infraestrutura, mas a responsabilidade pelo backup e pela estratégia de Disaster Recovery (DR) dos ativos analíticos ainda é de quem administra o ambiente.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Segue script para dumps de apps de ambiente Qlik Cloud Analytics! O processo conta com notificação analítica visual em HTML e anexo de log completo direto por e-mail.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Como acredito no poder do compartilhamento, decidi abrir o código para ajudar no crescimento da comunidade Qlik.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;O script de backup está disponível no meu repositório do GitHub para garantir uma melhor organização e facilitar futuras releases:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/mariosergioti/QlikCloudAnalytics_SCRIPT_Dumps" target="_blank" rel="nofollow noopener noreferrer"&gt;https://github.com/mariosergioti/QlikCloudAnalytics_SCRIPT_Dumps&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="5"&gt;&lt;STRONG&gt;README. v3.9.0 (Primeira versão pública):&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;FONT size="4"&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;AVISO IMPORTANTE — Licença por Capacidade (Capacity-Based)&lt;/FONT&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Se o seu contrato Qlik Cloud for baseado em Capacidade (Capacity-Based Subscription), leia este aviso com atenção antes de configurar o script.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;O Qlik Cloud mede e limita a movimentação de dados dentro do ciclo de cobrança. A exportação em massa de aplicativos&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;consome cota de capacidade&lt;/STRONG&gt;, podendo impactar o limite do seu plano contratado.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Recomendações antes de ativar:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Consulte o painel de consumo em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Administração &amp;gt; Monitoramento de Uso&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;no seu tenant.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Planeje a execução em horários de baixo uso (ex: madrugada/final de semana).&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Use os filtros de inclusão/exclusão disponíveis no script para exportar apenas o que for crítico para DR.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Avalie reduzir a frequência do backup (ex: semanal em vez de diário) se a cota for limitada.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Certifique-se de ter aprovação da área responsável pelo contrato antes de executar em escala.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;Monitore o consumo após as primeiras execuções.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":shield:"&gt;🛡&lt;/span&gt;️ Por que este backup é essencial?&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;A Qlik não realiza backup dos seus aplicativos para fins de Disaster Recovery (DR).&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;A Qlik Cloud é uma plataforma SaaS gerenciada pela Qlik, porém a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;responsabilidade pela cópia de segurança dos ativos analíticos é do cliente&lt;/STRONG&gt;. Em caso de exclusão acidental, corrupção de arquivos ou qualquer outro incidente, não há garantia de recuperação pela Qlik sem um backup próprio.&lt;/P&gt;&lt;P&gt;Este script resolve justamente essa lacuna, permitindo que sua equipe tenha cópias locais dos aplicativos do ambiente Qlik Cloud Analytics, prontas para um processo de restauração quando necessário.&lt;/P&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":sparkles:"&gt;✨&lt;/span&gt;Principais Funcionalidades&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Exportação de Apps (.qvf):&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Faz o dump de todos os aplicativos acessíveis pelo usuário, organizados por tipo de Space (Managed, Shared, Personal).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Modo Flexível (NoData):&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Escolha entre exportar COM dados de carga ou apenas o layout/script do app (NoData), reduzindo drasticamente o tamanho dos arquivos.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Bypass de SSL Inspection:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Utiliza&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;curl.exe&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;nativo para contornar políticas de inspeção SSL em redes corporativas.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Mapeamento de Usuários:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Identifica dinamicamente os owners dos Personal Spaces pelo nome do usuário.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Filtros Avançados:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Filtre por nome, tipo de Space e nome do Space.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Exclusões Avançadas:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Exclua por nome, tipo de Space e nome do Space.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Gestão de Retenção:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Exclui automaticamente pastas de backup mais antigas que o limite configurado (ex: D-30).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Paginação Automática:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Navega por todas as páginas da API, sem limite de itens.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Relatório Executivo HTML:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Envia e-mails com design profissional ao iniciar e ao concluir, com resumo por tipo de Space e lista de falhas.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Anexo de log no e-mail:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Recebe e-mail com arquivo de log profissional ao concluir, com resumo por tipo de Space, lista de falhas e o detalhamento de todos os apps carregados com os respectivos status.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Transparência de Privacidade e Filtros:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Contabiliza e exibe na métrica de e-mail os "Apps Ignorados" que não puderam ser baixados devido a regras de privacidade ou filtros ativos.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":locked:"&gt;🔒&lt;/span&gt;Segurança e Responsabilidade&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Use este script com responsabilidade.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Este projeto é disponibilizado sob licença MIT,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;sem qualquer garantia expressa ou implícita&lt;/STRONG&gt;. Os autores e a Cubotimize&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;não se responsabilizam por quaisquer danos, perdas, cobranças excessivas de capacidade ou prejuízos&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;decorrentes do uso deste script, seja em ambientes de produção, homologação ou desenvolvimento.&lt;/P&gt;&lt;P&gt;Recomendações de segurança:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":locked_with_key:"&gt;🔐&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Nunca compartilhe sua API Key.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Ela possui as exatas permissões do usuário que a gerou.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":counterclockwise_arrows_button:"&gt;🔄&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Acompanhe as notas de atualização da Qlik&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;para mudanças nas APIs utilizadas:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/saas-release-notes.htm" target="_blank" rel="nofollow noopener"&gt;Qlik Cloud Release Notes&lt;/A&gt;.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":counterclockwise_arrows_button:"&gt;🔄&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Acompanhe as atualizações deste script&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;para incorporar eventuais ajustes de compatibilidade e segurança.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":shield:"&gt;🛡&lt;/span&gt;️&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Proteja o arquivo&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;.ps1&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;com permissões de leitura restritas ao usuário de serviço que executa o script.&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":card_index_dividers:"&gt;🗂&lt;/span&gt;️&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Proteja a pasta de backup&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;com permissões de rede adequadas, evitando acesso não autorizado.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":clipboard:"&gt;📋&lt;/span&gt;Pré-requisitos&lt;/DIV&gt;&lt;P&gt;Requisito Detalhe&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;PowerShell&lt;/TD&gt;&lt;TD&gt;Versão 5.1 ou superior&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;curl.exe&lt;/TD&gt;&lt;TD&gt;Nativo no Windows 10/Server 2019 ou superior&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Qlik Cloud&lt;/TD&gt;&lt;TD&gt;Acesso ativo ao tenant com permissão de geração de API Key. O nível de acesso (ex: Tenant Admin ou Desenvolvedor) definirá o alcance do backup.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;API Key&lt;/TD&gt;&lt;TD&gt;Gerada conforme instruções abaixo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Rede&lt;/TD&gt;&lt;TD&gt;Acesso de saída HTTPS (porta 443) ao tenant&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":key:"&gt;🔑&lt;/span&gt;Gerando a API Key corretamente&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Atenção: O escopo do backup depende do criador da chave.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;O script não exige, obrigatoriamente, que o usuário seja um&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Tenant Admin. No entanto, a API Key herda&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;exatamente as mesmas permissões&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;do usuário no momento de sua criação.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Se você usar a chave de um&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Tenant Admin&lt;/STRONG&gt;, fará o backup de praticamente todo o ambiente corporativo.&lt;/LI&gt;&lt;LI&gt;Se usar a chave de um usuário comum (ex: Desenvolvedor), o script fará o backup apenas dos Spaces e Apps que aquele usuário específico tem acesso.&lt;/LI&gt;&lt;/UL&gt;&lt;DIV class=""&gt;Passo a passo:&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;Certifique-se de que o usuário possui a permissão adequada para o nível de backup desejado e que tenha a role&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Manage API keys&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;atribuída.&lt;/LI&gt;&lt;LI&gt;Verifique se a geração de API Keys está habilitada no tenant em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Administração &amp;gt; Configurações &amp;gt; Geração de API Key.&lt;/LI&gt;&lt;LI&gt;No canto superior direito, clique no seu avatar →&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Perfil&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Vá até a aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Tokens de API&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e clique em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Gerar novo token&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Dê um nome descritivo (ex:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;DR_Backup) e defina a validade.&lt;/LI&gt;&lt;/OL&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Dica sobre validade do token:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Por padrão, o Qlik Cloud pode definir expiração curta para tokens. Acesse&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Administração &amp;gt; Configurações de Segurança &amp;gt; Tokens de API&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;aumente o tempo máximo de vida do token&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;para reduzir a frequência de renovações (ex: 1 ano). Lembre-se de criar um lembrete para renovação antes do vencimento.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;OL&gt;&lt;LI&gt;Copie a chave gerada e cole na variável&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;$vApiKey&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;do script.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Ela só é exibida uma vez.&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":gear:"&gt;⚙️&lt;/span&gt;Configuração do Script&lt;/DIV&gt;&lt;P&gt;Abra o arquivo&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;.ps1&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;em um editor de texto e ajuste as variáveis na seção de configurações:&lt;/P&gt;&lt;DIV class=""&gt;Seção 1 — Autenticação&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vTenantUrl&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;[https://sua-empresa.us.qlikcloud.com](https://sua-empresa.us.qlikcloud.com)&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;  &lt;SPAN class=""&gt;# Sem barra no final&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vApiKey&lt;/SPAN&gt;    &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;SUA_APIKEY_AQUI&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 2 — O que exportar&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vDumpApps&lt;/SPAN&gt;         &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;$true&lt;/SPAN&gt;      &lt;SPAN class=""&gt;# $true para exportar Apps (.qvf)&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vDumpAppsSemDados&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;$true&lt;/SPAN&gt;      &lt;SPAN class=""&gt;# $true = layout/script apenas (NoData) — arquivos menores&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 3 — Filtros de Inclusão (opcional)&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vFiltroNome&lt;/SPAN&gt;       &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Producao" — exporta só apps com esta palavra no nome&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vFiltroTipoEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# "managed", "shared" ou "personal"&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vFiltroNomeEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Vendas" — exporta só spaces com esta palavra no nome&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 4 — Exclusões (opcional)&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vExcluirNome&lt;/SPAN&gt;       &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Teste" — ignora apps com esta palavra no nome&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vExcluirTipoEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "personal" — ignora todo o Personal Space&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vExcluirNomeEspaco&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;         &lt;SPAN class=""&gt;# Ex: "Homologacao"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 5 — Destino e Retenção&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vPastaBackup&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;\\SERVIDOR\BACKUP\QLIK\QLIK_CLOUD\&lt;SPAN class=""&gt;$vServidorNome&lt;/SPAN&gt;\Dumps\&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vDiasBackup&lt;/SPAN&gt;  &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;30&lt;/SPAN&gt;               &lt;SPAN class=""&gt;# Backups com mais de 30 dias serão excluídos automaticamente&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;Seção 6 — E-mail&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;$vEnviarEmail&lt;/SPAN&gt;    &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;$true&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vSmtpServer&lt;/SPAN&gt;     &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;smtp.gmail.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vSmtpPort&lt;/SPAN&gt;       &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;587&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vEmailRemetente&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;robô@gmail.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vSenhaAppGmail&lt;/SPAN&gt;  &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;xxxx xxxx xxxx xxxx&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;   &lt;SPAN class=""&gt;# Senha de Aplicativo de 16 dígitos&lt;/SPAN&gt;
&lt;SPAN class=""&gt;$vEmailDestino&lt;/SPAN&gt;   &lt;SPAN class=""&gt;=&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;equipe@empresa.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;"&lt;/SPAN&gt;backup@empresa.com&lt;SPAN class=""&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Como gerar a Senha de Aplicativo no Google:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Acesse&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://myaccount.google.com/" target="_blank" rel="nofollow noopener"&gt;myaccount.google.com&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;→&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Segurança&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Confirme que a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Verificação em duas etapas&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;está ativa.&lt;/LI&gt;&lt;LI&gt;Pesquise por&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Senhas de app"&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e clique na opção.&lt;/LI&gt;&lt;LI&gt;Crie um nome (ex:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Script Qlik Backup) e clique em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Gerar&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Cole a senha de 16 caracteres (sem espaços) em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;$vSenhaAppGmail.&lt;/LI&gt;&lt;/OL&gt;&lt;/BLOCKQUOTE&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":bust_in_silhouette:"&gt;👤&lt;/span&gt;Comportamento nos Personal Spaces — Política de Privacidade&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;O Qlik Cloud&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;restringe o acesso&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a apps de Personal Spaces de terceiros por questões de privacidade, mesmo para contas com perfil de Tenant Admin.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;O script trata essa situação de forma elegante e transparente, atuando da seguinte maneira:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Espaço "Personal" do gerador da Chave:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Como a API Key atua em nome de quem a criou,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;os únicos aplicativos exportados com sucesso do tipo "Personal Space" serão os que pertencem exclusivamente a este usuário&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(o dono do token).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Espaço "Personal" de Terceiros:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Apps de espaços pessoais de outros usuários não serão baixados. No entanto, o script mapeará o nome do usuário "owner" e o nome do app, registrando a restrição no log de execução para fins de auditoria (&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt; IGNORADO).&lt;/LI&gt;&lt;LI&gt;Esse comportamento&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;não gera erro no processo&lt;/STRONG&gt;, e os itens pulados alimentam de forma automática a métrica&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Apps Ignorados"&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;no relatório executivo final.&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":card_index_dividers:"&gt;🗂&lt;/span&gt;️ Estrutura de Pastas Gerada&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;\\SERVIDOR\BACKUP\QLIK\QLIK_CLOUD\NOME-SERVIDOR\Dumps\
└── 2025-07-15\
    ├── __Managed\
    │   └── Nome do Managed Space\
    │       ├── App Financeiro.qvf
    │       └── App RH.qvf
    ├── __Shared\
    │   └── Nome do Shared Space\
    │       └── Dashboard Vendas.qvf
    ├── __Personal\
    │   ├── Mario Sergio Soares\
    │   │   └── Meu App Pessoal.qvf
    │   └── Outro Usuario\
    │       └── (vazio — privacidade)
    └── backup.log&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":rocket:"&gt;🚀&lt;/span&gt;Como Agendar no Windows (Task Scheduler)&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;Abra o&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Agendador de Tarefas&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;→&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Criar Tarefa...&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Na aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Geral:&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Nome:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Backup Qlik Cloud&lt;/LI&gt;&lt;LI&gt;Clique em&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Alterar Usuário ou Grupo&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e insira o usuário de serviço com acesso à rede de backup.&lt;/LI&gt;&lt;LI&gt;Marque&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Executar estando o usuário logado ou não"&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Marque&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;"Executar com privilégios mais altos"&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Na aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Gatilhos:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;configure a recorrência desejada (ex: diariamente às 01:00).&lt;/LI&gt;&lt;LI&gt;Na aba&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Ações:&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Programa:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;powershell.exe&lt;/LI&gt;&lt;LI&gt;Argumentos:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-ExecutionPolicy Bypass -File "C:\Scripts\Cubotimize_QlikCloud_Backup.ps1"&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Salve e informe a senha do usuário de serviço quando solicitado.&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":e_mail:"&gt;📧&lt;/span&gt;Exemplos de Notificações por E-mail&lt;/DIV&gt;&lt;P&gt;O script envia dois e-mails automáticos: um ao&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;iniciar&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;e outro ao&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;concluir&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;o processo.&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":play_button:"&gt;▶️&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;E-mail de Início&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Print_01_DumpQCA_ScriptIniciado.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/188007i043E0795ED6732ED/image-size/large?v=v2&amp;amp;px=999" role="button" title="Print_01_DumpQCA_ScriptIniciado.png" alt="Print_01_DumpQCA_ScriptIniciado.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;E-mail de Conclusão com Sucesso&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Print_02_DumpQCA_ScriptConcluidoComSucesso.png" style="width: 509px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/188008i9A34594BCBC6B876/image-size/large?v=v2&amp;amp;px=999" role="button" title="Print_02_DumpQCA_ScriptConcluidoComSucesso.png" alt="Print_02_DumpQCA_ScriptConcluidoComSucesso.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;E-mail de Conclusão com Falhas&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Print_03_DumpQCA_ScriptConcluidoComFalhas.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/188009iF3CA5C9FDB65448E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Print_03_DumpQCA_ScriptConcluidoComFalhas.png" alt="Print_03_DumpQCA_ScriptConcluidoComFalhas.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;O relatório final inclui:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Resumo executivo com contadores totais&lt;/LI&gt;&lt;LI&gt;Métrica de&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt;&lt;/STRONG&gt;&amp;nbsp;Apps Ignorados (Filtros + Privacidade)&lt;/LI&gt;&lt;LI&gt;Seção &lt;span class="lia-unicode-emoji" title=":red_circle:"&gt;🔴&lt;/span&gt; Apps por Managed Space&lt;/LI&gt;&lt;LI&gt;Seção &lt;span class="lia-unicode-emoji" title=":blue_circle:"&gt;🔵&lt;/span&gt; Apps por Shared Space&lt;/LI&gt;&lt;LI&gt;Seção &lt;span class="lia-unicode-emoji" title=":bust_in_silhouette:"&gt;👤&lt;/span&gt; Apps por Personal Space (usuário owner)&lt;/LI&gt;&lt;LI&gt;Lista detalhada de falhas com nome do item, ID e descrição técnica do erro&lt;/LI&gt;&lt;LI&gt;Log completo em anexo (backup.log)&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;DIV class=""&gt;&lt;span class="lia-unicode-emoji" title=":man_technologist:"&gt;👨‍💻&lt;/span&gt;Autor e Contatos&lt;/DIV&gt;&lt;P&gt;&lt;STRONG&gt;Mario Sergio Soares&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":globe_with_meridians:"&gt;🌐&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Bio Page &amp;amp; Projetos:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://cubo.plus/mariosergioti" target="_blank" rel="nofollow noopener"&gt;cubo.plus/mariosergioti&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":briefcase:"&gt;💼&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;LinkedIn:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://linkedin.com/in/mariosergioti" target="_blank" rel="nofollow noopener"&gt;linkedin.com/in/mariosergioti&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":office_building:"&gt;🏢&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Empresa:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://cubotimize.com/" target="_blank" rel="nofollow noopener"&gt;Cubotimize&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":camera_with_flash:"&gt;📸&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Instagram:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.instagram.com/mariosoares_ti/" target="_blank" rel="nofollow noopener"&gt;https://www.instagram.com/mariosoares_ti/&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":bar_chart:"&gt;📊&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Mais Materiais Qlik:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.qlik.com/t5/Brasil/Publica%C3%A7%C3%B5es-de-MARIO-SOARES-Documentos-Aplicativos-e-Arquivos/td-p/1464214" target="_blank" rel="nofollow noopener"&gt;Publicações na Qlik Community&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Sat, 25 Apr 2026 02:39:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Guia-T%C3%A9cnico-Backups-de-Aplica%C3%A7%C3%B5es-Qlik-Cloud-Analytics-QCA/m-p/2547727#M61091</guid>
      <dc:creator>mario_sergio_ti</dc:creator>
      <dc:date>2026-04-25T02:39:08Z</dc:date>
    </item>
  </channel>
</rss>

