Skip to content

Script pour épingler des dossiers dans l'Accès rapide

Script pour épingler des dossiers dans l'Accès rapide

$AddItems = @(
    [pscustomobject]@{Name="NASLYS"; Path="\\ad.entreprises.fr\PointDeMontage"}
)

# Création de l'objet Shell Application pour manipuler l'explorateur
try {
    $Shell = New-Object -ComObject Shell.Application
}
catch {
    Write-Error "Impossible de créer l'objet Shell.Application."
    exit 1
}

ForEach ($Item in $AddItems) {
    try {
        if (-not (Test-Path -Path $Item.Path)) {
             throw "Le chemin '$($Item.Path)' est inaccessible. Impossible d'épingler un dossier inaccessible dans l'Accès rapide."
        }
        $Folder = $Shell.Namespace($Item.Path)

        if (-not $Folder) {
            throw "Impossible d'obtenir la référence au dossier '$($Item.Path)' via Shell.Namespace."
        }

        Write-Host "Tentative d'épinglage de '$($Item.Path)' dans l'Accès rapide..."

        $Folder.Self.InvokeVerb("pintohome")

        Write-Host "Opération terminée pour '$($Item.Name)'."
    }
    catch {
        Write-Error "Échec de l'épinglage pour '$($Item.Name)'. Détails : $_"
    }
}

On peut simplement le rajouter dans les script de démarrage de la session utilisateur