Detectieregels app-distributie
Detectieregels van het app-distributiepakket kunnen helpen bepalen of een pakket al is geïnstalleerd en mag daarom niet opnieuw worden geïnstalleerd.
Configureer detectieregels in App-distributie > App-catalogus. Voeg een app toe of bewerk een app, en selecteer het tabblad Pakket.
Detectieregels worden alleen gecontroleerd aan het begin van de verwerking van een pakket. Een detectieactie zal bijgevolg altijd het eerste item zijn in de bouwer als deze wordt gebruikt. Detectieregels worden uitgevoerd in de volgorde waarin ze zijn gedefinieerd.
BELANGRIJK: als een detectiestap wordt opgelost als waar, stopt de pakketverwerking en verschijnt de app-status van de apparaten als compatibel.
Hier zijn de beschikbare detectieregels:
Geef het volledige bestandspad en de bestandsnaam op. Selecteer Bestaat of Bestaat niet.
De versiegegevens van het bestand zijn doorgaans alleen beschikbaar voor uitvoerbare bestanden. App-distributie gebruikt de waarde "Bestandsversie", niet de waarde "Productversie". Geef het volledige bestandspad en de bestandsnaam op. De operator kan varianten bevatten van kleiner dan of groter dan, gelijk aan, of is tussen. Als het bestand en pad die u opgeeft, niet bestaan of als het bestand geen parseerbare versie heeft, wordt onwaar geretourneerd.
Details over de manier waarop versie- en vergelijkingsoperators werken, vindt u dit artikel van Microsoft.
Geef het volledige bestandspad en de bestandsnaam op. Geef de bestandsgrootte op in bytes. App-distributie gebruikt "Grootte" en niet "Grootte op schijf." Als het bestandspad dat u opgeeft niet bestaat, wordt onwaar geretourneerd.
Geef het volledige bestandspad en de bestandsnaam op. Selecteer de SHA-2 bitlengte op die u vergelijkt. Als het bestand en pad die u opgeeft, niet bestaan wordt onwaar geretourneerd. U kunt PowerShell gebruiken om een hash-digest te genereren:
-
Get-FileHash -Algorithm SHA256 -Path C:\MyApp\myfile.exe
Deze regel kijkt alleen naar de datum, niet naar de tijd. Geef het volledige bestandspad en de bestandsnaam op. Selecteer een operator, zoals Is gelijk aan. De bestandsdatum moet worden opgegeven in UTC (gecoördineerde universele tijd), overeenkomend met het equivalent van de notatie mm/dd/jjjj van uw locatie. App-distributie gebruikt de datum "Gewijzigd", niet de datum "Gemaakt". Als het bestand en pad die u opgeeft, niet bestaan wordt onwaar geretourneerd. U kunt PowerShell gebruiken voor het ophalen van de bestandsdatum in UTC:
-
(Haal item C:\MyApp\myfile.exe op).LastWriteTimeUtc
Geef de MSI-productcode GUID op en selecteer of de MSI Is geïnstalleerd of Is niet geïnstalleerd. Gebruik het hulpprogramma Orca van Microsoft om de "ProductCode"-GUID te zien. U kunt ook geïnstalleerde MSI GUID's zien onder deze registersleutels:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
Geef de volledige naam van het MSIX-pakket op en geef op of de MSIX Is geïnstalleerd of Is niet geïnstalleerd. Gebruik de opdracht PowerShell Get-AppxPackage om de volledige naam van het pakket te zoeken, zoals Microsoft hier beschrijft.
Geef de informatie van de registersleutel op voor de sleutel die u wilt detecteren.
- Registerversie: selecteer 32-bits of 64-bits zoals gepast of selecteer Systeem als u de versie die het doelapparaat gebruikt, automatisch wilt afstemmen.
- Basissleutel: selecteer de basissleutel die de sleutel bevat die u wilt detecteren, zoals HKEY_LOCAL_MACHINE.
- Sleutel: voer het volledige pad in (niet de basissleutel die u al hebt opgegeven) naar de naam van de registersleutel die u wilt detecteren.
- Geef Bestaat of Bestaat niet
Geef de registersleutel en waardegegevens op voor de waarde die u wilt detecteren. Als de sleutel of waarde niet bestaat of als deze niet toegankelijk is voor de gebruiker, zal de regel onwaar retourneren (tenzij de vergelijkingsoperator Bestaat niet is).
U moet een waardenaam opgeven, tenzij u de waarde "(standaard)" wilt controleren. In dat geval moet deze leeg worden gelaten.
Wanneer u een versievergelijking maakt, moeten de vergelijkingsoperand(en) en de gegevens die verwant zijn met de registerwaarde in de versieopmaak zijn die hier wordt beschreven. Als een daarvan dat niet is, zullen de detectieregels (en het pakket) een fout genereren.
Details over de manier waarop versie- en vergelijkingsoperators werken, vindt u dit artikel van Microsoft.
De vergelijking van tekenreeksen is hoofdlettergevoelig. Als de registerwaarde gegevens heeft die niet van het type REG_SZ (tekenreeks) zijn, wordt deze als volgt geconverteerd naar een tekenreeks:
- REG_DWORD: de decimale vorm (zoals weergegeven in regedit.exe) wordt gebruikt.
- REG_QWORD: de decimale vorm (zoals weergegeven in regedit.exe) wordt gebruikt.
- REG_BINARY: de vorm van een paar bytes wordt door regedit.exe gebruikt, maar krijgt hoofdletters (bijv. "46 AA 6C 6B 65 6E").
- REG_MULTI_SZ: de lijnen die zijn samengevoegd met spaties om één lijn te vormen (bijvoorbeeld, "Lijn1 Lijn2 Lijn3").
- REG_EXPAND_SZ: alle omgevingsvariabelen worden uitgevouwen.
Detectiescripts kunnen PowerShell (niet PowerShell Core) of batchsyntaxis gebruiken. Detectiesucces is gebaseerd op de numerieke afsluitcode van het script. Een afsluitcode van "0" (nul) is gelijk aan waar. Elke andere afsluitcode wordt beschouwd als onwaar. De afsluitcode moet numeriek zijn en mag niet het woord "Waar" zijn. Gebruik de ingebouwde scripteditor om uw script te maken.
Gebruik de ingebouwde scripteditor om een script te maken of u kunt de optie Bestand selecteren gebruiken en een bestand zoeken. Het bestand en pad die u opgeeft, moeten bestaan op het doelsysteem. Als het scriptbestand nog niet op het apparaat staat, gebruikt u de actie Bestand downloaden om het daar te plaatsen. Wanneer u dit doet, wordt het gedownloade bestand geplaatst in een standaardpad en kunt u gewoon de bestandsnaam opgeven..
Omdat detectieregels worden uitgevoerd vóór andere pakketacties, plaats dit scripts voor detectieregels in een unieke fase in het installatieproces van de app. Het is hier mogelijk complexere zaken te doen, zoals het uitvoeren van een aangepast upgradescript dat een oudere installatie van de app zoekt en deze verwijdert voordat wordt doorgegaan met de rest van het pakket.
Detectieregel en actieregistratie
App-distributie maakt een logboekbestand voor elke app die wordt geïmplementeerd naar een apparaat. Het logboek heeft gegevens voor elke detectieregel en andere pakketacties. Als de detectieregels niet werken zoals verwacht, gebruikt u het logboekbestand om te helpen achterhalen waarom dat zo is. Logboek worden op elk apparaat opgeslagen in deze map:
- C:\ProgramData\Ivanti\Ivanti Cloud Agent\Logs\SWDApps
Elke logboekbestandsnaam bevat de pakket-GUID. Als u een pakket bewerkt in de App-catalogus, kunt u de pakket-GUID ervan zien in de webbrowser-URL. Dit helpt u zoeken naar het logboekbestand waarin u geïnteresseerd bent.
U kunt een vereenvoudigd logboek op afstand weergeven vanaf de pagina App-distributie > Implementatiestatus. Zoek het apparaat en het pakket die u wilt zien en selecteer rechts de optie Logboek weergeven van het actiemenu.