Ações e regras de detecção do pacote de distribuição de aplicativo
As ações do pacote definem como a distribuição de aplicativo implantará seus pacotes. As regras de detecção do pacote ajudam a distribuição a decidir se o aplicativo deve ser implantado no dispositivo.
Ações do pacote
Configure as ações do pacote em Distribuição de aplicativo > Catálogo de aplicativos. Adicione ou edite um aplicativo e selecione a guia Pacote. Arraste as ações que deseja usar e solte-as na árvore do construtor. Selecione uma ação na árvore do construtor para configurá-la.
As ações de pacote disponíveis incluem:
Ajudam a determinar se o aplicativo já está instalado e, portanto, não precisa ser instalado novamente.
IMPORTANTE: se alguma etapa de detecção der resultado verdadeiro, o processamento do pacote será interrompido, e o estado do aplicativo dos dispositivos será exibido como conforme.
Consulte Regras de detecção de pacote posteriormente neste tópico para obter mais informações sobre as regras de detecção disponíveis.
Baixa um arquivo no caminho de trabalho padrão da distribuição de aplicativos Ivanti:
C:\Program Data\Ivanti\Ivanti Cloud Agent\Agent\SWD\working
Qualquer ação que aceite um caminho de arquivo adotará esse caminho, a menos que você especifique outro. Essa pasta é limpa antes e depois de cada pacote ser executado.
Você pode especificar vários arquivos aqui, bem como executar várias ações de download, se necessário. Os arquivos podem ser hospedados em qualquer local HTTP(S) que não exija autenticação e possa ser acessado pelos clientes nos quais você esteja implantando.
Você pode digitar ou colar uma URL no campo URL de origem. O URL fornecido deve levar diretamente ao arquivo que você deseja baixar. O nome do arquivo detectado na URL aparecerá ao lado do botão Escolher arquivo.
Use o botão Adicionar novo arquivo para acrescentar outras URLs de arquivos para download, se necessário. Se seus arquivos estiverem armazenados no Armazenamento de Blobs do Microsoft Azure ou em Buckets do Amazon Web Services, use o botão Escolher arquivo para abrir o explorador de arquivos em nuvem.
Explorador de arquivos em nuvem
O botão Escolher arquivo abre o Explorador de arquivos em nuvem, onde você pode escolher arquivos a partir do Armazenamento de Blobs do Microsoft Azure ou de Buckets do Amazon Web Services referentes à sua organização. As contas de armazenamento Azure e Amazon não estão incluídas no Ivanti Neurons.
- Para saber como criar um contêiner de armazenamento no Azure, consulte este artigo da Microsoft.
- Para obter informações sobre como criar um Bucket no Amazon S3, consulte este artigo da Amazon.
Antes de usar o explorador de arquivos em nuvem, você deve adicionar suas credenciais do Armazenamento de Blobs do Azure ou do Amazon S3 em Administrador > Credenciais. Para obter mais informações, consulte Credenciais. Com o Azure, recomendamos que você crie no Ivanti Neurons credenciais tanto para chave1 quanto para chave2, a fim de permitir o rodízio de chaves. Você pode então selecionar a conta desejada no explorador de arquivos em nuvem.
Essas credenciais são usadas para preencher a lista de pastas e arquivos, para que a ação de download de arquivos possa obter URLs de assinatura de acesso compartilhado (Microsoft Azure) ou URLs pré-assinados (Amazon Web Services) para os arquivos selecionados. Os clientes não usarão essas credenciais.
Depois de adicionar as credenciais, você pode selecionar sua Conta de armazenamento em nuvem e seu Contêiner ou Bucket no explorador de arquivos em nuvem. O navegador de contêiner mostra os arquivos e pastas armazenados nele. Adicione um ou mais arquivos marcando a caixa de seleção ao lado deles e selecionando o botão Adicionar. Os URLs dos arquivos adicionados aparecem nas propriedades da ação Baixar arquivo.
Os provedores de armazenamento em nuvem exigem que os tokens de URL gerados tenham expiração. A distribuição de aplicativo ajusta a expiração do token para sete dias e, a cada cinco dias, renova o token para evitar a perda de acesso dos clientes-alvo.
A filtragem de arquivos em nuvem na caixa de texto Filtrar por prefixo é limitada pelas APIs da Microsoft e do Amazon S3. O filtro fica limitado à pasta selecionada e não abrange subpastas. O texto inserido no filtro deve corresponder exatamente ao nome do arquivo (diferenciando maiúsculas de minúsculas) e começar com o primeiro caractere do nome do arquivo desejado. Você não precisa incluir o nome completo do arquivo, apenas os caracteres iniciais.
Selecionar Excluir excluirá o objeto selecionado (arquivo ou pasta). Certifique-se de ter apenas um objeto selecionado antes de clicar em excluir. Você verá uma mensagem de erro se tentar excluir vários objetos de uma vez. Se você quiser excluir uma pasta, primeiro deverá excluir o conteúdo da pasta (um objeto de cada vez).
Armazenamento em nuvem Ivanti
Na versão 2024.4, a Ivanti adicionou suporte ao armazenamento em nuvem Ivanti, que você pode usar para armazenar os pacotes e arquivos que deseja distribuir. Isso é útil para clientes que ainda não têm contas de armazenagem no Armazenamento de Blobs do Azure ou no Amazon S3.
Não há necessidade adicional de configuração ou de credenciais para usar o armazenamento em nuvem Ivanti. Cada locatário do Ivanti Neurons tem seu próprio contêiner de armazenamento Azure na Ivanti.
Na ação Baixar arquivo da distribuição de aplicativo, você pode acessar o explorador de arquivos na nuvem. Lá você pode selecionar Armazenamento Ivanti em Conta. Você pode então usar o botão Carregar arquivos para carregar os arquivos que deseja distribuir. Você também pode usar o botão Excluir para remover arquivos.
Tenha estes itens em mente ao usar o armazenamento em nuvem Ivanti:
- O armazenamento em nuvem Ivanti é limitado a 10 GB, e o explorador de armazenamento em nuvem mostrará quanto desse espaço você está usando. Não há opção para expandir essa quantidade de armazenamento.
- Os tamanhos dos arquivos aqui não podem exceder 2 GB.
- A Ivanti inclui um serviço que verifica se há malware nos arquivos enviados. Se for detectado algum malware, o arquivo será excluído e uma mensagem de notificação do Ivanti Neurons indicará que isso aconteceu.
- Se você estiver usando apenas o armazenamento em nuvem Ivanti, não precisará configurar o Compartilhamento de Recursos entre Origens (CORS).
- A criação de pastas não é suportada.
Carregamento de arquivos
Use o botão Carregar arquivos para procurar e carregar os arquivos desejados. Os arquivos carregados são colocados na pasta que você selecionou no explorador. Os arquivos enviados não podem ter mais de 2 GB. Você só pode carregar um arquivo por vez. Talvez demore um pouco para que o upload de arquivos grandes seja concluído, então não dá para ver os arquivos carregados imediatamente no explorador.
Uma barra de progresso é exibida enquanto o arquivo selecionado é preparado para upload. Enquanto o upload estiver acontecendo, você verá um indicador de trabalho em andamento. Quando o upload for concluído, você verá uma mensagem indicando o sucesso ou a falha do upload.
Se quiser carregar arquivos maiores que 2 GB, use ferramentas de gerenciamento nativas da Amazon ou do Azure para fazer o upload.
Você deve configurar o Compartilhamento de Recursos entre Origens (CORS) antes de poder carregar arquivos. Se você tentar carregar um arquivo e o CORS não estiver configurado, você verá uma mensagem dizendo que primeiro precisa configurar o CORS.
Configuração de upload do Armazenamento de Blobs do Azure
O Azure configura o CORS no nível da conta, não no nível do contêiner. A Microsoft tem informações sobre como configurar o CORS aqui.
- Métodos permitidos: PUT
- Cabeçalhos permitidos: content-type, x-ms-client-request-id, x-ms-useragent, x-ms-version
- Cabeçalhos expostos: Etag
- Origens permitidas: o domínio mostrado na URL do navegador na sua página de login do Ivanti Neurons (não a URL depois que você estiver conectado). Isso varia dependendo de onde seu locatário está hospedado. Os exemplos incluem https://nvuprd-sfc.ivanticloud.com, https://ukuprd-sfc.ivanticloud.com e assim por diante.
Configuração de upload do Amazon S3
O Amazon S3 configura o CORS no nível do bucket, não no nível da conta. A Amazon tem informações sobre como configurar o CORS aqui.
- Métodos permitidos: PUT
- Cabeçalhos permitidos: content-type
- Cabeçalhos expostos: Etag
- Origens permitidas: o domínio mostrado na URL do navegador na sua página de login do Ivanti Neurons (não a URL depois que você estiver conectado). Isso varia dependendo de onde seu locatário está hospedado. Os exemplos incluem https://nvuprd-sfc.ivanticloud.com, https://ukuprd-sfc.ivanticloud.com e assim por diante.
Valor de hash SHA256
A opção de download de arquivo também inclui um campo adicional de valor hash. Se você fornecer um valor hash, a distribuição do aplicativo validará o valor hash do arquivo baixado. Se os valores não forem iguais, a distribuição do aplicativo excluirá o arquivo baixado e interromperá a distribuição. Se quiser que a distribuição de aplicativo use tecnologias de distribuição avançadas, como download entre pares, você deverá fornecer um valor de hash.
A ação genérica Executar permite especificar o arquivo a ser executado, uma linha de comando e o usuário com o qual o instalador deverá ser executado. As ações Executar MSI e Executar MSIX permitem selecionar operações e opções de exibição específicas para MSI, MSP e MSIX.
Inclui criar de pastas; mover, copiar e excluir arquivos; compactar ou descompactar.
Reinicia o dispositivo de acordo com a política de agente do dispositivo. Quando um aplicativo requer reinicialização, nenhum outro aplicativo pode ser instalado nesse dispositivo até que ele seja reinicializado.
Criar ou excluir chaves de registro. Definir ou excluir valores de registro.
Executar um arquivo em lote ou script do PowerShell. A opção PowerShell Core não instala o PowerShell Core se ele estiver ausente. A opção Automático tentará primeiro o PowerShell Core e, se ele não estiver instalado, retornará ao PowerShell. Há um editor de script integrado nessa ação. É preciso colocar o código do script dento do editor.
Pausa a execução do pacote pelo número de segundos especificado. Use caso as ações anteriores precisarem de mais tempo para ser concluídas.
Gerencia um pacote usando o Gerenciador de Pacotes do Windows (winget).
Esta ação é configurada automaticamente quando você seleciona Adicionar aplicativo > Gerenciador de Pacotes do Windows (winget) na página principal do Catálogo de aplicativos e seleciona um pacote. Ela não requer nenhuma outra ação ou modificação para funcionar.
Se necessário, você pode adicionar e configurar a ação manualmente. A ação também pode ser usada em combinação com outras ações e regras de detecção.
Para obter mais informações sobre como usar o winget, consulte este tópico da Microsoft.
O Gerenciador de Pacotes requer uma versão recente do winget nos dispositivos gerenciados. Se você desabilitou a Microsoft Store em dispositivos gerenciados, a versão do winget deles pode ser antiga, e as distribuições do gerenciador de pacotes para eles podem falhar. Para corrigir isso, implante um pacote atualizando a versão do winget ou habilite a loja da Microsoft.
O painel Opções do gerenciador de pacotes tem o botão Escolher pacote, que mostra os pacotes disponíveis no catálogo do winget. Trata-se do mesmo catálogo mostrado quando você usa o botão Adicionar aplicativo na página principal do Catálogo de aplicativos.
O catálogo de aplicativos só inclui aplicativos no repositório winget, não no repositório msstore. Se você tiver um ID de aplicativo do msstore, poderá especificá-lo manualmente na linha de comando após o parâmetro --id, conforme descrito mais adiante nesta seção.
Inserir texto na caixa Pesquisar pacotes pesquisa todos os metadados em todos os pacotes no catálogo. Se você deseja pesquisar texto de pacote em uma categoria de metadados específica, comece a pesquisa com nome:, publicador: e assim por diante, conforme mostrado no exemplo quando você seleciona o campo de pesquisa.
A distribuição de aplicativo instalará a versão mais recente disponível de um pacote selecionado, independentemente da versão mostrada no catálogo. Você também pode configurar manualmente a ação para instalar uma versão específica.
Escolher um pacote winget no catálogo preenche os argumentos de linha de comando para instalar esse pacote. Você pode modificar a linha de comando, se necessário.
Aqui está uma linha de comando típica do winget:
install -e --id GitHub.GitHubDesktop --accept-package-agreements --accept-source-agreements --silent
Se quiser instalar um pacote que não esteja listado no catálogo de aplicativos, você pode criar sua própria linha de comando winget. Em um prompt de comando do Windows, o comando winget search <query> retorna a lista de pacotes correspondentes. Encontre a string da coluna Id do pacote desejado e, na linha de comando do winget, adicione-a após o parâmetro --id.
O autor de um pacote winget pode incluir no pacote instaladores com escopo definido para usuário (usuário logado), máquina (todos os usuários) ou nulo (não especificado). Por padrão, o winget tentará escolher a melhor correspondência para o dispositivo, que geralmente é usuário.
Você pode substituir essa seleção automática especificando na linha de comando um escopo com o parâmetro --scope. Por exemplo, se quiser que o pacote seja instalado para todos os usuários em um dispositivo, você pode incluir --scope machine na linha de comando do winget. Observe que se o pacote não suportar escopo de máquina e você incluir o parâmetro na linha de comando, a instalação do pacote falhará.
Como sempre, teste sua linha de comando antes de implantar o pacote.
Regras de detecção de pacotes
As regras de detecção de pacotes ajudam a determinar se um pacote já está instalado e, portanto, não deve ser instalado novamente.
Configure as regras de detecção de pacotes em Distribuição de aplicativo > Catálogo de aplicativos. Adicione ou edite um aplicativo e selecione a guia Pacote. Adicione a ação de pré-implantação Detecção à árvore do construtor e selecione-a para configurá-la.
As regras de detecção são verificadas apenas no início do processamento, de modo que serão sempre o primeiro item no construtor se forem usadas. Regras de detecção são executadas na ordem em que estão definidas.
IMPORTANTE: se alguma etapa de detecção der resultado verdadeiro, o processamento do pacote será interrompido, e o estado do aplicativo dos dispositivos será exibido como conforme.
As regras de detecção disponíveis incluem:
Forneça o caminho completo e o nome do arquivo. Selecione Existe ou Não existe.
As informações de versão do arquivo geralmente estão disponíveis apenas para arquivos executáveis. A distribuição de aplicativo usa o valor "Versão do arquivo", não o valor "Versão do produto". Forneça o caminho completo e o nome do arquivo. O operador pode assumir variantes de menor ou maior que, igual ou está entre. Se o arquivo e o caminho especificados não existirem ou o arquivo não tiver uma versão analisável, será retornado falso.
Para informações sobre como funcionam os operadores de versão e comparação, consulte este artigo da Microsoft.
Forneça o caminho completo e o nome do arquivo. Especifique o tamanho do arquivo em bytes. A distribuição de aplicativo usa "Tamanho", e não "Tamanho no disco". Se o arquivo e o caminho especificados não existirem, será retornado falso.
Forneça o caminho completo e o nome do arquivo. Selecione o comprimento de bits SHA-2 que você está comparando. Se o arquivo e o caminho especificados não existirem, será retornado falso. Você pode usar o PowerShell para gerar um resumo de hash:
-
Get-FileHash -Algorithm SHA256 -Path C:\MyApp\myfile.exe
Essa regra analisa apenas a data, não a hora. Forneça o caminho completo e o nome do arquivo. Selecione um operador, como Igual a. A data do arquivo deve ser especificada em UTC (hora universal coordenada), coincidente com seu equivalente local do formato mm/dd/aaa. A distribuição de aplicativo usa a data de "Modificação", e não a data de "Criação". Se o arquivo e o caminho especificados não existirem, será retornado falso. Você pode usar o PowerShell para recuperar a data do arquivo em UTC:
-
(Get-Item C:\MyApp\myfile.exe).LastWriteTimeUtc
Forneça o GUID do código do produto MSI e selecione se o MSI Está instalado ou Não está instalado. Use a ferramenta Orca da Microsoft para visualizar o GUID "ProductCode". Você também pode ver os GUIDs de MSI instalados nestas chaves de registro:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
Forneça o nome completo do pacote MSIX e se o MSIX Está instalado ou Não está instalado. Use o comando Get-AppxPackage do PowerShell para encontrar o nome completo do pacote, conforme a Microsoft descreve aqui.
Forneça as informações da chave que você deseja detectar.
- Versão do registro: selecione 32 bits ou 64 bits conforme apropriado; ou você pode selecionar Sistema se quiser equiparar a versão que o dispositivo de destino está usando.
- Chave raiz: selecione a chave raiz que contém a chave que você deseja detectar, como HKEY_LOCAL_MACHINE.
- Chave: insira o caminho completo (não incluir a chave raiz que você já especificou) até o nome da chave de registro que deseja detectar.
- Especifique Existe ou Não existe
Forneça a chave do registro e as informações do valor a ser detectado. Se a chave ou valor não existir ou não estiver acessível ao usuário, a regra retornará falso (a menos que o operador de comparação seja Não existe).
Você deve especificar um nome de valor, a menos que queira verificar o valor "(Padrão)", caso em que deve ser deixado em branco.
Ao fazer uma comparação de versões, os operandos de comparação e os dados associados ao valor do registro devem estar no formato de versão descrito aqui. Se algum deles não estiver, as regras de detecção (e o pacote) gerarão um erro.
Para informações sobre como funcionam os operadores de versão e comparação, consulte este artigo da Microsoft.
A comparação de strings diferencia maiúsculas de minúsculas. Se o valor do registro possuir dados que não sejam do tipo REGSZ (String), ele será convertido em uma string da seguinte forma:
- REG_DWORD: usa-se a forma decimal (conforme mostrado em regedit.exe).
- REG_QWORD: usa-se forma decimal (conforme mostrado em regedit.exe).
- REG_BINARY: usa-se o formato de par de bytes usado pelo regedit.exe, mas em letras maiúsculas (por exemplo, "46 AA 6C 6B 65 6E").
- REG_MULTI_SZ: as linhas são concatenadas com espaços para formar uma única linha (por exemplo, "Linha1 Linha2 Linha3").
- REG_EXPAND_SZ: todas as variáveis de ambiente são expandidas.
Os scripts de detecção podem usar PowerShell (não o PowerShell Core) ou sintaxe em lote. O sucesso da detecção baseia-se código de saída numérico do script. O código de saída "0" (zero) equivale a verdadeiro. Qualquer outro código de saída é considerado falso. O código de saída deve ser numérico, e não a palavra "Verdadeiro" (ou "True"). Use o editor de script integrado para criar seu script.
Use o editor de script integrado para criar um script ou use a opção Selecionar arquivo e procurar um arquivo. O arquivo e o caminho fornecidos devem existir no sistema de destino. Se o arquivo de script ainda não estiver no dispositivo, use a ação Baixar arquivo para colocá-lo lá. Quando você faz isso, o arquivo baixado é colocado num caminho predefinido, e você pode apenas especificar o nome dele.
Como as regras de detecção são executadas antes de outras ações do pacote, os scripts das regras de detecção são colocados em um estágio próprio no processo de instalação do aplicativo. É possível fazer coisas mais complexas aqui, como executar um script de atualização personalizado que procura uma instalação de aplicativo mais antiga e, se a encontrar, desinstala-a antes de prosseguir com o restante do pacote.
Regra de detecção e log de ações
A distribuição de aplicativo cria um arquivo de log para cada aplicativo implantado em um dispositivo. O log possui entradas para cada regra de detecção e outras ações do pacote. Se as regras de detecção não estiverem funcionando conforme o esperado, use o arquivo de log para ajudar a determinar o motivo. Os logs são armazenados, em cada dispositivo, nesta pasta:
- C:\ProgramData\Ivanti\Ivanti Cloud Agent\Logs\SWDApps
O nome de cada arquivo de log inclui o GUID do pacote. Se você editar um pacote no Catálogo de Aplicativos, poderá ver o GUID do pacote no URL do navegador da web. Isso ajudará você a encontrar o arquivo de log no qual está interessado.
Você pode visualizar um log simplificado, remotamente, na página Distribuição de aplicativo > Status da implantação. Encontre o dispositivo e o pacote que deseja ver e, à direita, selecione a opção Exibir log no menu de ação.