Regole di rilevamento distribuzione app
Le regole di rilevamento del pacchetto di distribuzione di un'app possono aiutare a determinare se un pacchetto è già installato e pertanto non deve essere installato di nuovo.
Configurare le regole di rilevamento in Distribuzione app > Catalogo app. Aggiungere o modificare un'app, quindi selezionare la scheda Pacchetto.
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.
Ecco le regole di rilevamento disponibili:
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 nel Catalogo app, è 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.