Intune App Description

Hi,

gibt es eine Möglichkeit über die Import Pipeline direkt einen custom Text für die App Description im Intune mitzugeben?

Wir würden gerne für jede App eine kurze Beschreibung mit geben was die App tut/kann und ob es Besonderheiten gibt welche zu beachten sind, die sollen dann im Description Feld im Intune/Company Portal erscheinen. Im Import Task in der Pipeline gibt es zwar die Möglichkeit, die Felder Notes, Categories, Information URL etc zu befüllen allerdings kein Feld für die App Description.

LG
Christian

Guten Morgen @c_friedl

Die App Description wird aus dem Feld Description der neo42PackageConfig.json übernommen.
Du könntest das Feld während dem Pipeline Run anpassen und so eigene Werte hinterlegen.

Dafür könntest du wie folgt vorgehen:

  1. Füge der Pipeline einen PowerShell „Inline-Skript ausführen“ Task und den „Package Config aktualisieren Task“ hinzu. Wichtig: Am besten direkt nach dem Entpacken!
  2. Füge im PowerShell Task folgendes Snippet ein:
[CmdletBinding()]
param(
    [Parameter(Mandatory = $true)]
    [ValidateNotNullOrEmpty()]
    [string]$InputFile,

    [Parameter(Mandatory = $false)]
    [ValidateNotNullOrEmpty()]
    [string]$OutputFile = $InputFile
)

# JSON einlesen
try {
    $rawContent = Get-Content -Path $InputFile -Raw
    $jsonObject = $rawContent | ConvertFrom-Json
}
catch {
    Write-Error "Fehler beim Einlesen oder Parsen der Datei '$InputFile': $_"
    return
}

# Mappings definieren (Key = 'Vendor|AppName')
$mappings = @{
    'Bitwarden|Bitwarden' = 'Bitwarden is the best password manager for securely storing, managing, and sharing sensitive online data such as passwords, passkeys, and credit cards.'
    'Microsoft|Edge'       = 'Microsoft Edge ist der beste Browser fuer Copilot-Erfahrungen.'
    # Weitere Zuordnungen hier ergänzen...
}

# Schlüssel zusammenbauen
$key = "$($jsonObject.AppVendor)|$($jsonObject.AppName)"

if ($mappings.ContainsKey($key)) {
    # Description aktualisieren
    $jsonObject.Description = $mappings[$key]
    Write-Verbose "Description für '$key' gesetzt auf '$($mappings[$key])'."

    # JSON zurückschreiben
    try {
        $jsonObject |
            ConvertTo-Json -Depth 10 |
            Set-Content -Path $OutputFile -Encoding UTF8
        Write-Verbose "Datei erfolgreich geschrieben nach '$OutputFile'."
    }
    catch {
        Write-Error "Fehler beim Schreiben der Datei '$OutputFile': $_"
    }
}
else {
    Write-Warning "Keine Zuordnung gefunden fuer AppVendor='$($jsonObject.AppVendor)', AppName='$($jsonObject.AppName)'. Datei bleibt unveraendert."
}
  1. Und folgendes in den Argumenten darunter
-InputFile <Run.PackageConfigPath>
  1. Das ganze müsste dann so aussehen:

Die Werte für die Description können dann im Skript unter $mappings pro Produkt hinzugefügt werden. Wird für ein Produkt kein Mapping gefunden, dann passiert nichts.

Gruß
Marco

2 „Gefällt mir“

Hi Marco,

vielen dank für die schnelle und vor allem ausführliche Antwort. Ich werde mal eine Pipeline anpassen und es mit dem näcshten Import direkt testen.

Gruß
Christian