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:
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
: baixa um arquivo para o 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.
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.
Antes de usar o explorador, você deve adicionar suas credenciais do Armazenamento de Blobs do Azure 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) 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 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.
Ao visualizar o Armazenamento de Blobs do Azure, há um botão Carregar que permite procurar e carregar os arquivos selecionados. Os arquivos carregados são colocados na pasta que você selecionou no explorador. 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.
A filtragem de arquivos em nuvem na caixa de texto Filtrar por prefixo é limitada pela API da Microsoft. 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.
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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(X).
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
Inclui criar de pastas; mover, copiar e excluir arquivos; compactar ou descompactar.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
Criar ou excluir chaves de registro. Definir ou excluir valores de registro.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
Este recurso está em versão beta e não se encontra disponível em todos os locatários.
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.
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 a caixa de pesquisa.
O conteúdo do catálogo Winget mostrado na distribuição de aplicativo é publicado por terceiros e nem sempre exibe as versões mais recentes dos pacotes disponíveis. 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:
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
Forneça o caminho completo e o nome do arquivo. Selecione Existe ou Não existe.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.
![Fechado](Skins/Default/Stylesheets/Images/transparent.gif)
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.