Azioni e regole di rilevamento dei pacchetti di distribuzione app
Le azioni del pacchetto definiscono il modo in cui la distribuzione app distribuisce i pacchetti. Le regole di rilevamento dei pacchetti aiutano la distribuzione app a decidere se un'app deve essere distribuita su un dispositivo.
Azioni pacchetto
Configurare le azioni pacchetto in Distribuzione app > App catalog. Aggiungere o modificare un'app, quindi selezionare la scheda Pacchetto. Trascinare le azioni che si desidera utilizzare e rilasciarle nell'albero del generatore. Selezionare un'azione nell'albero del generatore per configurarla.
Le azioni pacchetto disponibili comprendono:
Possono aiutare a determinare se l'app è già installata e quindi non deve essere installata di nuovo.
IMPORTANTE: se un passaggio di rilevamento risulta vero, l'elaborazione del pacchetto si interrompe e lo stato dell'app dei dispositivi viene visualizzato come conforme.
Per ulteriori informazioni sulle regole di rilevamento disponibili, vedere Regole di rilevamento dei pacchetti più avanti in questo argomento.
Scarica un file nel percorso di lavoro predefinito della distribuzione app Ivanti:
C:\Program Data\Ivanti\Ivanti Cloud Agent\Agent\SWD\working
Qualsiasi azione che accetti un percorso di file assumerà questo percorso, a meno che non venga specificato diversamente. Questa cartella viene svuotata prima e dopo l'esecuzione di ogni pacchetto.
Qui è possibile specificare più file e, se necessario, avere più azioni di download dei file. I file possono essere ospitati in qualsiasi posizione HTTP(S) che non richieda l'autenticazione e a cui possano accedere i clienti a cui si sta distribuendo.
È possibile digitare o incollare un URL nel campo Da URL. L'URL fornito deve rimandare direttamente al file che si desidera scaricare. Il nome del file rilevato dall'URL apparirà accanto al pulsante Scegli file.
Utilizzare il pulsante Aggiungi nuovo file per aggiungere ulteriori URL di file da scaricare, se necessario. Se i file sono archiviati in Microsoft Azure Blob Storage o Amazon Web Services Buckets, utilizzare il pulsante Scegli file per aprire Esplora file cloud.
Esplora risorse cloud
Il pulsante Scegli file apre Esplora risorse cloud, dove è possibile scegliere i file dal Microsoft Azure Blob Storage della propria organizzazione o da Amazon Web Services Buckets. Gli account di archiviazione Azure e Amazon non sono inclusi in Ivanti Neurons.
- Per informazioni su come creare un contenitore di archiviazione in Azure, consultare questo articolo Microsoft.
- Per informazioni su come creare un bucket in Amazon S3, consultare questo articolo di Amazon.
Prima di utilizzare Esplora risorse cloud, è necessario aggiungere le credenziali di Azure Blob Storage o Amazon S3 in Amministratore > Credenziali. Per ulteriori informazioni, vedere Credenziali. Con Azure, si consiglia di creare credenziali in Ivanti Neurons sia per Azure key1 che per Azure key2, in modo da consentire la rotazione delle chiavi Azure. È quindi possibile selezionare l'account desiderato in Esplora risorse cloud.
Queste credenziali vengono utilizzate per popolare l'elenco delle cartelle e dei file, in modo che l'azione di download dei file possa ottenere gli URL di Shared Access Signature (Microsoft Azure) o i Presigned URL (Amazon Web Services) per i file selezionati. I client non utilizzeranno queste credenziali.
Una volta aggiunte le credenziali, è possibile selezionare il cloud storage Account e Container o Bucket in Esplora risorse cloud. Il browser del contenitore mostra i file e le cartelle in esso memorizzati. Aggiungere uno o più file selezionando la casella di controllo accanto a essi e selezionando il pulsante Aggiungi. Gli URL dei file aggiunti vengono quindi visualizzati nelle proprietà dell'azione Scarica file.
I fornitori di cloud storage richiedono che i token URL generati abbiano una scadenza. La distribuzione app imposta la scadenza del token a sette giorni e ogni cinque giorni rinnova il token per evitare la perdita di accesso da parte di clienti mirati.
Il filtro dei file cloud nella casella di testo Filtra per prefisso è limitato dalle API Microsoft e Amazon S3. Il filtro è limitato alla cartella selezionata e non include le sottocartelle. Il testo del filtro immesso deve corrispondere esattamente al nome del file (con distinzione tra maiuscole e minuscole) e deve iniziare con il primo carattere del nome del file desiderato. Non è necessario includere il nome completo del file, ma solo i caratteri iniziali.
Selezionando Elimina si eliminerà l'oggetto selezionato (un file o una cartella). Assicurarsi che sia selezionato un solo oggetto prima di fare clic su Elimina. Se si cerca di eliminare più oggetti contemporaneamente, viene visualizzato un messaggio di errore. Se si desidera eliminare una cartella, è necessario eliminare prima il suo contenuto (un oggetto alla volta).
Archiviazione cloud Ivanti
Nella versione 2024.4 Ivanti ha aggiunto il supporto per l'archiviazione cloud Ivanti, utilizzabile per archiviare i pacchetti e i file che si desidera distribuire. Questo è utile per i clienti che non dispongono già di account di archiviazione Azure Blob Storage o Amazon S3.
Non è necessaria alcuna configurazione o credenziale aggiuntiva per utilizzare l'archivizione cloud Ivanti. Ogni tenant di Ivanti Neurons ha il proprio contenitore di archiviazione Ivanti Azure.
Nell'azione Scarica file di distribuzione app, è possibile accedere a Esplora file cloud. È possibile selezionare Archiviazione Ivanti sotto Account. È quindi possibile utilizzare il pulsante Carica file per caricare i file che si desidera distribuire. È anche possibile utilizzare il pulsante Elimina per rimuovere i file.
Tenere a mente questi elementi quando si utilizza l'archiviazione cloud di Ivanti:
- Lo spazio di archiviazione cloud di Ivanti è limitato a 10 GB e l'esploratore dello spazio di archiviazione cloud mostra la quantità di spazio utilizzata. Non è disponibile alcuna opzione per espandere questa quantità di memoria.
- Le dimensioni dei file non possono superare i 2 GB.
- Ivanti include un servizio di scansione dei file caricati alla ricerca di malware. Se viene rilevato un malware, il file viene eliminato e un messaggio di notifica di Ivanti Neurons indica che ciò è avvenuto.
- Se si utilizza solo l'archiviazione cloud Ivanti, non è necessario configurare il Cross-Origin Resource Sharing (CORS).
- La creazione di cartelle non è supportata.
Caricamento file
Utilizzare il pulsante Carica file per cercare e caricare i file selezionati. I file caricati vengono inseriti nella cartella selezionata in Esplora risorse. I file caricati non possono essere più grandi di 2 GB. È possibile caricare un solo file alla volta. Il caricamento di file di grandi dimensioni può richiedere un po' di tempo, per cui è possibile che i file caricati non vengano visualizzati immediatamente in Esplora risorse.
Una barra di avanzamento viene visualizzata mentre il file selezionato viene preparato per il caricamento. Durante il caricamento viene visualizzato un indicatore di lavoro in corso. Una volta completato il caricamento, verrà visualizzato un messaggio che indica se il caricamento è riuscito o meno.
Se si desidera caricare file di dimensioni superiori a 2 GB, utilizzare gli strumenti di gestione nativi di Amazon o Azure per effettuare il caricamento.
Prima di poter caricare i file, è necessario configurare il Cross-Origin Resource Sharing (CORS). Se si tenta di caricare un file e CORS non è configurato, verrà visualizzato un messaggio che indica la necessità di configurare CORS.
Configurazione del caricamento di Azure Blob Storage
Azure configura CORS a livello di account, non a livello di contenitore. Microsoft fornisce informazioni sulla configurazione di CORS qui.
- Metodi consentiti: PUT
- Intestazioni consentite: content-type,x-ms-client-request-id,x-ms-useragent,x-ms-version
- Intestazioni esposte: Etag
- Origini consentite: il dominio indicato nell'URL del browser nella pagina di accesso a Ivanti Neurons (non l'URL una volta effettuato l'accesso). Questo varia a seconda del luogo in cui è ospitato il tenant. Esempi includono https://nvuprd-sfc.ivanticloud.com, https://ukuprd-sfc.ivanticloud.com e così via.
Configurazione caricamento Amazon S3
Amazon S3 configura CORS a livello di bucket, non a livello di account. Amazon fornisce informazioni sulla configurazione di CORS qui.
- Metodi consentiti: PUT
- Intestazioni consentite: content-type
- Intestazioni esposte: Etag
- Origini consentite: il dominio indicato nell'URL del browser nella pagina di accesso a Ivanti Neurons (non l'URL una volta effettuato l'accesso). Questo varia a seconda del luogo in cui è ospitato il tenant. Esempi includono https://nvuprd-sfc.ivanticloud.com, https://ukuprd-sfc.ivanticloud.com e così via.
Valore hash SHA256
L'opzione di download del file include anche un campo opzionale per il valore hash. Se si fornisce un valore hash, la distribuzione dell'app convaliderà il valore hash del file scaricato. Se i valori non corrispondono, la distribuzione app eliminerà il file scaricato e interromperà la distribuzione. Se si desidera che la distribuzione dell'app utilizzi tecnologie di distribuzione avanzate come il peer download, è necessario fornire un valore di hash.
L'azione semplice Esegui consente di specificare un file da eseguire, una riga di comando e l'utente con cui eseguire il programma di installazione. Esegui MSI ed Esegui MSIX consentono di selezionare operazioni e opzioni di visualizzazione specifiche per MSI, MSP e MSIX.
Include la creazione di cartelle, lo spostamento, la copia e l'eliminazione di file, la compressione e la decompressione.
Riavvia il dispositivo in base al criterio dell'agente del dispositivo. Quando un'app richiede un riavvio, non è possibile installare altre app sul dispositivo finché non si riavvia.
Crea o elimina chiavi del registro di sistema. Imposta o elimina i valori del registro di sistema.
Esegue un file batch o uno script PowerShell. L'opzione PowerShell Core non installa PowerShell Core se risulta mancante. L'opzione Auto proverà prima PowerShell Core e, se non è installato, tornerà a PowerShell. L'editor di script è integrato in questa azione. Il codice dello script deve essere aggiunto all'interno di questo editor.
Mette in pausa l'esecuzione del pacchetto per il numero di secondi specificato. Utilizzare questa opzione se le azioni precedenti richiedono un tempo supplementare per essere completate.
Gestisce un pacchetto utilizzando Windows Package Manager (winget).
Questa azione viene configurata automaticamente quando si seleziona Aggiungi app > Windows Package Manager (winget) nella pagina principale di App catalog e si seleziona un pacchetto. Questa azione non richiede altre azioni o modifiche al lavoro.
Se necessario, è possibile aggiungere e configurare manualmente questa azione. Questa azione può essere utilizzata anche in combinazione con altre azioni e regole di rilevamento.
Per ulteriori informazioni sull'uso di winget, consultare questo argomento Microsoft.
Package Manager richiede una versione recente di winget sui dispositivi gestiti. Se è stato disabilitato il Microsoft Store sui dispositivi gestiti, la loro versione di winget potrebbe essere datata e le distribuzioni di package manager potrebbero non riuscire. Per risolvere il problema, distribuire un pacchetto che aggiorni la versione di winget o attivare il Microsoft Store.
Il pannello Opzioni di Gestione pacchetti include un pulsante Scegli pacchetto che mostra i pacchetti disponibili nel catalogo winget. Questo è lo stesso catalogo mostrato quando si utilizza il pulsante Aggiungi applicazione nella pagina principale di App catalog.
App catalog include solo le applicazioni presenti nel repository winget, non nel repository msstore. Se si dispone di un ID app msstore, è possibile specificarlo manualmente sulla riga di comando dopo il parametro --id, come descritto più avanti in questa sezione.
Immettendo il testo nella casella Cerca pacchetti si ricercano tutti i metadati in tutti i pacchetti del catalogo. Se si desidera cercare il testo del pacchetto in una specifica categoria di metadati, iniziare la ricerca con nome:, entità di pubblicazione:, e così via, come mostra l'esempio quando si seleziona la casella di ricerca.
La distribuzione app installa l'ultima versione disponibile di un pacchetto selezionato, indipendentemente dalla versione indicata nel catalogo. È anche possibile configurare manualmente l'azione per installare una versione specifica.
La scelta di un pacchetto winget nel catalogo popola gli Argomenti della riga di comando per installare quel pacchetto. Se necessario, è possibile modificare la riga di comando.
Ecco una tipica riga di comando di winget:
install -e --id GitHub.GitHubDesktop --accept-package-agreements --accept-source-agreements --silent
Se si desidera installare un pacchetto che non è elencato in App catalog, è possibile creare la propria riga di comando di winget. In un prompt dei comandi di Windows, il comando ricerca winget <query> restituisce un elenco di pacchetti corrispondenti. Trovare la stringa della colonna Id per il pacchetto desiderato e aggiungerla sulla riga di comando di winget dopo il parametro --id.
L'autore di un pacchetto winget può includere installatori nel pacchetto in ambito user (utente connesso), machine (tutti gli utenti) o null (non specificato). Per impostazione predefinita, winget cercherà di scegliere la migliore corrispondenza per il dispositivo, che spesso è user.
È possibile annullare questa selezione automatica specificando un ambito nella riga di comando con il parametro --scope. Ad esempio, se si desidera che il pacchetto venga installato per tutti gli utenti di un dispositivo, è possibile includere --scope machine nella riga di comando di winget. Si noti che se il pacchetto non supporta un ambito macchina e si include il parametro sulla riga di comando, l'installazione del pacchetto non riuscirà.
Come sempre, assicurarsi di testare la riga di comando prima di distribuire il pacchetto.
Regole di rilevamento pacchetto
Le regole di rilevamento pacchetto possono aiutare a determinare se un pacchetto è già installato e pertanto non deve essere installato di nuovo.
Configurare le regole di rilevamento pacchetto in Distribuzione app > App catalog. Aggiungere o modificare un'app, quindi selezionare la scheda Pacchetto. Aggiungere l'azione di pre-distribuzione Rilevamento all'albero del generatore e selezionarla per configurarla.
Le regole di rilevamento vengono controllate solo all'inizio dell'elaborazione di un pacchetto, quindi un'azione di rilevamento sarà sempre il primo elemento del generatore se viene utilizzata. Le regole di rilevamento vengono eseguite nell'ordine in cui sono state definite.
IMPORTANTE: se un passaggio di rilevamento risulta vero, l'elaborazione del pacchetto si interrompe e lo stato dell'app dei dispositivi viene visualizzato come conforme.
Le regole di rilevamento disponibili comprendono:
Fornire il percorso completo e il nome del file. Selezionare Esiste o Non esiste.
Le informazioni sulla versione dei file sono generalmente disponibili solo per i file eseguibili. La distribuzione delle app utilizza il valore "Versione file", non il valore "Versione prodotto". Fornire il percorso completo e il nome del file. L'operatore può essere una variante di minore o maggiore di, uguale o è tra. Se il file e il percorso specificati non esistono o se il file non ha una versione analizzabile, restituisce false.
Per maggiori dettagli sul funzionamento degli operatori di versione e di confronto, vedere questo articolo Microsoft.
Fornire il percorso completo e il nome del file. Specificare le dimensioni del file in byte. La distribuzione delle app utilizza "Dimensioni" e non "Dimensioni su disco". Se il file e il percorso specificati non esistono, il risultato è false.
Fornire il percorso completo e il nome del file. Selezionare la lunghezza di bit SHA-2 da confrontare. Se il file e il percorso specificati non esistono, restituisce false. È possibile utilizzare PowerShell per generare un hash digest:
-
Get-FileHash -Algorithm SHA256 -Path C:\MyApp\myfile.exe
Questa regola considera solo la data, non l'ora. Fornire il percorso completo e il nome del file. Selezionare un operatore, come Uguale. La data del file deve essere specificata in UTC (tempo universale coordinato), corrispondente all'equivalente locale del formato mm/gg/aaaa. La distribuzione app utilizza la data di "Modifica", non la data di "Creazione". Se il file e il percorso specificati non esistono, restituisce false. È possibile utilizzare PowerShell per recuperare la data del file in UTC:
-
(Get-Item C:\MyApp\myfile.exe).LastWriteTimeUtc
Fornire il GUID del codice prodotto MSI e selezionare se l'MSI è installato o non è installato. Utilizzare lo strumento Orca di Microsoft per visualizzare il GUID "ProductCode". È inoltre possibile vedere i GUID MSI installati sotto queste chiavi del registro di sistema:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
Fornire il nome completo del pacchetto MSIX e indicare se l'MSIX è installato o non è installato. Utilizzare il comando PowerShell Get-AppxPackage per trovare il nome completo del pacchetto, come descritto da Microsoft qui.
Fornire le informazioni sulla chiave del registro di sistema per la chiave che si desidera rilevare.
- Versione del registro di sistema: selezionare 32 bit o 64 bit a seconda dei casi, oppure selezionare Sistema se si desidera che corrisponda automaticamente alla versione utilizzata dal dispositivo in questione.
- Chiave principale: selezionare la chiave principale contenente la chiave che si desidera rilevare, ad esempio HKEY_LOCAL_MACHINE.
- Chiave: inserire il percorso completo (non includere la chiave principale già specificata) del nome della chiave del registro di sistema che si desidera rilevare.
- Specificare Esiste o Non esiste
Fornire le informazioni sulla chiave di registro di sistema e sul valore che si desidera rilevare. Se la chiave o il valore non esistono o non sono accessibili all'utente, la regola restituirà false (a meno che l'operatore di confronto non sia Non esiste).
È necessario specificare il nome del valore, a meno che non si voglia controllare il valore "(Predefinito)", nel qual caso deve essere lasciato vuoto.
Quando si esegue un confronto di versione, gli operandi di confronto e i dati associati al valore del registro di sistema devono essere nel formato di versione descritto qui. Se uno di questi non lo è, le regole di rilevamento (e il pacchetto) genereranno un errore.
Per maggiori dettagli sul funzionamento degli operatori di versione e di confronto, vedere questo articolo Microsoft.
Il confronto tra stringhe fa distinzione tra maiuscole e minuscole. Se il valore del registro di sistema ha dati che non sono di tipo REG_SZ (String), viene convertito in una stringa come segue:
- REG_DWORD: viene utilizzata la forma decimale (come mostrato in regedit.exe).
- REG_QWORD: viene utilizzata la forma decimale (come mostrato in regedit.exe).
- REG_BINARY: viene utilizzata la forma a coppia di byte utilizzata da regedit.exe, ma con la lettera maiuscola (ad es. "46 AA 6C 6B 65 6E").
- REG_MULTI_SZ: le righe vengono concatenate insieme agli spazi per formare una singola riga (ad esempio, "Linea1 Linea2 Linea3").
- REG_EXPAND_SZ: Tutte le variabili d'ambiente sono espanse.
Gli script di rilevamento possono utilizzare PowerShell (non PowerShell Core) o la sintassi batch. La riuscita del rilevamento si basa sul codice di uscita numerico dello script. Un codice di uscita di "0" (zero) equivale a true. Qualsiasi altro codice di uscita è considerato false. Il codice di uscita deve essere numerico e non la parola "True". Utilizzare l'editor di script integrato per creare il proprio script.
Per creare uno script, utilizzare l'editor di script incorporato oppure utilizzare l'opzione Seleziona file e cercare un file. Il file e il percorso forniti devono esistere sul sistema di destinazione. Se il file di script non è già presente sul dispositivo, utilizzare l'azione Download file per inserirlo. In questo modo, il file scaricato viene collocato in un percorso predefinito ed è possibile specificare solo il nome del file.
Poiché le regole di rilevamento vengono eseguite prima di altre azioni del pacchetto, gli script delle regole di rilevamento si trovano in una fase unica del processo di installazione dell'applicazione. Qui è possibile compiere azioni più complesse, come eseguire uno script di upgrade personalizzato che cerchi un'installazione di un'app più vecchia e, se la trova, la disinstalli prima di procedere con il resto del pacchetto.
Registrazione delle regole di rilevamento e delle azioni
La distribuzione delle app crea un file di registro per ogni app distribuita su un dispositivo. Il registro contiene voci per ogni regola di rilevamento e altre azioni del pacchetto. Se le regole di rilevamento non funzionano come previsto, utilizzare il file di registro per determinare il motivo. I registri vengono memorizzati su ogni dispositivo in questa cartella:
- C:\ProgramData\Ivanti\Ivanti Cloud Agent\Logs\SWDApps
Il nome di ogni file di registro include il GUID del pacchetto. Se si modifica un pacchetto nell'App catalog, è possibile vedere il GUID del pacchetto nell'URL del browser web. Questo aiuterà l'utente a trovare il file di registro a cui è interessato.
È possibile visualizzare un registro semplificato in remoto dalla pagina Distribuzione app > Stato di distribuzione. Individuare il dispositivo e il pacchetto che si desidera visualizzare e, sulla destra, selezionare l'opzione Visualizza registro del menu azioni.