Guide

Nouvelles mises à jour et améliorations de Roundfleet.

Avis important

Les exemples de code et scripts fournis dans ces tutoriels sont uniquement à des fins éducatives. Roundfleet n'est pas responsable des problèmes, dommages ou vulnérabilités de sécurité qui pourraient survenir lors de l'utilisation, modification ou implémentation de ces exemples. Toujours vérifier et tester le code dans un environnement sécurisé avant de l'utiliser dans des systèmes de production.

Obtenir le Chemin d'Application sur macOS

Apprenez à trouver et récupérer les chemins d'installation d'applications sur Mac à l'aide de scripts. Ceci est essentiel pour la gestion d'applications, le déploiement de scripts et la configuration de listes autorisées/bloquées.

Trouveur de Chemin d'App Basique

Trouvez le chemin d'une application en utilisant son identifiant de bundle :

#!/bin/bash

# Spécifier l'ID de bundle
BUNDLE_ID="com.apple.Safari"

# Trouver le chemin d'app avec mdfind
APP_PATH=$(mdfind "kMDItemCFBundleIdentifier=='${BUNDLE_ID}'")

if [[ -n "$APP_PATH" ]]; then
    echo "Chemin d'application : $APP_PATH"
else
    echo "Application non trouvée : $BUNDLE_ID"
fi

Découverte de Chemin Avancée

Script avec validation et méthodes de recherche multiples :

#!/bin/bash

# Fonction pour trouver le chemin d'app
find_app_path() {
    local bundle_id="$1"
    
    # Méthode 1 : Utiliser mdfind avec identifiant de bundle
    local app_path=$(mdfind "kMDItemCFBundleIdentifier=='${bundle_id}'" | head -1)
    
    if [[ -n "$app_path" && -d "$app_path" ]]; then
        echo "$app_path"
        return 0
    fi
    
    # Méthode 2 : Rechercher dans répertoires communs
    local common_paths=(
        "/Applications"
        "/System/Applications"
        "/Applications/Utilities"
        "/System/Library/CoreServices"
    )
    
    for path in "${common_paths[@]}"; do
        if [[ -d "$path" ]]; then
            local found=$(find "$path" -name "*.app" -maxdepth 2 -exec defaults read {}/Contents/Info.plist CFBundleIdentifier \; -print 2>/dev/null | grep -B1 "^${bundle_id}$" | grep "\.app$")
            if [[ -n "$found" ]]; then
                echo "$found"
                return 0
            fi
        fi
    done
    
    return 1
}

# Exemple d'utilisation
BUNDLE_ID="${1:-com.apple.Safari}"

echo "Recherche de l'application : $BUNDLE_ID"

if APP_PATH=$(find_app_path "$BUNDLE_ID"); then
    echo "Application trouvée à : $APP_PATH"
    
    # Obtenir infos supplémentaires
    APP_NAME=$(defaults read "$APP_PATH/Contents/Info.plist" CFBundleName 2>/dev/null)
    APP_VERSION=$(defaults read "$APP_PATH/Contents/Info.plist" CFBundleShortVersionString 2>/dev/null)
    
    echo "Nom d'application : ${APP_NAME:-Inconnu}"
    echo "Version : ${APP_VERSION:-Inconnue}"
else
    echo "Application non trouvée : $BUNDLE_ID"
    exit 1
fi

Trouveur de Chemins Multiples

Trouvez les chemins de plusieurs applications à la fois :

#!/bin/bash

# Tableau d'IDs de bundle à rechercher
BUNDLE_IDS=(
    "com.apple.Safari"
    "com.apple.finder"
    "com.apple.systempreferences"
    "com.microsoft.Excel"
    "com.adobe.Photoshop"
)

# Fonction pour trouver le chemin d'app
find_app_path() {
    local bundle_id="$1"
    mdfind "kMDItemCFBundleIdentifier=='${bundle_id}'" | head -1
}

echo "=== Rapport Chemins d'Applications ==="
echo "Généré : $(date)"
echo "Appareil : $(hostname)"
echo "======================================="

for bundle_id in "${BUNDLE_IDS[@]}"; do
    echo "Recherche : $bundle_id"
    
    app_path=$(find_app_path "$bundle_id")
    
    if [[ -n "$app_path" && -d "$app_path" ]]; then
        echo "  ✓ Trouvée : $app_path"
        
        # Obtenir version d'app si disponible
        version=$(defaults read "$app_path/Contents/Info.plist" CFBundleShortVersionString 2>/dev/null)
        if [[ -n "$version" ]]; then
            echo "  📦 Version : $version"
        fi
    else
        echo "  ✗ Non trouvée"
    fi
    echo
done

Découverte d'ID de Bundle

Trouvez les IDs de bundle des applications installées :

#!/bin/bash

echo "=== IDs de Bundle Applications Installées ==="

# Rechercher dans répertoires d'applications communs
SEARCH_PATHS=(
    "/Applications"
    "/System/Applications"
    "/Applications/Utilities"
)

for search_path in "${SEARCH_PATHS[@]}"; do
    if [[ -d "$search_path" ]]; then
        echo "Scan : $search_path"
        
        find "$search_path" -name "*.app" -maxdepth 2 | while read app_path; do
            app_name=$(basename "$app_path" .app)
            bundle_id=$(defaults read "$app_path/Contents/Info.plist" CFBundleIdentifier 2>/dev/null)
            
            if [[ -n "$bundle_id" ]]; then
                echo "  $app_name -> $bundle_id"
            fi
        done
        echo
    fi
done

Utilisation avec Roundfleet

  1. Modifiez la variable BUNDLE_ID avec votre application cible
  2. Pour plusieurs apps, mettez à jour le tableau BUNDLE_IDS
  3. Déployez via l'exécution de script distant Roundfleet
  4. Consultez les résultats dans l'historique des actions

IDs de Bundle Communs

ApplicationID de Bundle
Safaricom.apple.Safari
Findercom.apple.finder
Préférences Systèmecom.apple.systempreferences
Microsoft Wordcom.microsoft.Word
Google Chromecom.google.Chrome
Firefoxorg.mozilla.firefox
Slackcom.tinyspeck.slackmacgap
Zoomus.zoom.xos

Dépannage

Aucun résultat trouvé : Vérifiez que l'ID de bundle est correct et l'application installée Plusieurs chemins retournés : Utilisez head -1 pour obtenir le premier résultat ou filtrez par emplacement spécifique Permission refusée : Assurez-vous que le script a les permissions d'accès système de fichiers nécessaires


Note : Les IDs de bundle sont sensibles à la casse. Utilisez le format exact fourni par le développeur de l'application.

Related Tutorials

Gestion Navigateur Safari sur macOS

Apprenez à configurer la page d'accueil Safari, paramètres navigateur, politiques sécurité et déployer la gestion navigateur entreprise sur vos appareils Roundfleet avec gestion utilisateur complète et fonctionnalités conformité.

7 juil. 2025

Gestion Rosetta 2 et Compatibilité Apple Silicon sur macOS

Apprenez à installer, gérer et surveiller la couche traduction Rosetta 2 sur Mac Apple Silicon avec gestion compatibilité niveau entreprise, surveillance applications et capacités déploiement flotte.

7 juil. 2025

Gestion de Paquets d'Entreprise avec Homebrew sur macOS

Déployez, gérez et maintenez les paquets logiciels sur les appareils macOS en utilisant Homebrew avec une gestion de configuration d'entreprise, un suivi de conformité et des flux de déploiement automatisés.

7 juil. 2025

Gérer les extensions de noyau sur macOS

Apprenez à afficher, charger, décharger et surveiller les extensions de noyau (kexts) sur les appareils macOS via des scripts en ligne de commande pour une gestion système et sécurité améliorées.

7 juil. 2025

Installer des Packages Non Signés sur macOS

Déployez et installez des packages PKG non signés sur Mac à l'aide de scripts pour les outils de développement spécialisés et logiciels open-source.

7 juil. 2025

Installer la dernière version de Firefox sur les appareils macOS

Apprenez à installer et gérer la dernière version de Firefox sur les appareils macOS pour le déploiement d'entreprise, les mises à jour et la gestion de configuration.

7 juil. 2025

Gestion d'Inventaire App Store sur macOS

Apprenez à découvrir, suivre et gérer les applications App Store sur les appareils macOS en utilisant des scripts d'inventaire complets avec rapports d'entreprise, suivi de conformité et capacités de gestion de flotte.

7 juil. 2025

Gestion des Mises à Jour Automatiques de l'App Store sur macOS

Apprenez à contrôler les mises à jour automatiques de l'App Store sur les appareils macOS en utilisant les outils en ligne de commande. Guide complet pour la gestion des mises à jour d'entreprise, l'optimisation de la bande passante et le contrôle de sécurité.

7 juil. 2025