lors de l'installation de certains logiciels, l'utilisateur final aura besoin des droits sur le dossier.
Hors dans un contexte où l'utilisateur n'est pas administrateur, cela pose soucis.
La solution que j'utilise est la suivante :
- un paquet qui installe un module Powershell (qui est mit donc en dépendance du logiciel)
- un script pour changer les droits.
Les droits sont donnés sur 1 dossier précis, pour les utilisateurs authentifiés (peut être changé par n'importe quel autres groupes).
Le module powershell est NTFSSecurity, dispo ici : https://gallery.technet.microsoft.com/s ... dbb2b84e85
Le paquet qui permet de l'installer contient ce code :
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
targetPWSH = makepath(programfiles,'WindowsPowerShell\Modules\NTFSSecurity')
folderPWSH = 'NTFSSecurity'
def install():
#copie du module Powershell
if (isdir(targetPWSH) != True) :
mkdirs(targetPWSH)
copytree2(folderPWSH,targetPWSH)
Code : Tout sélectionner
#Autorisation d'accès au dossier pour les utilisateurs loggés
Install-Module NTFSSecurity
$Path = "CHEMIN DU DOSSIER POUR LES DROITS"
#Désactivation de l'héritage
Get-Item $Path | Disable-NTFSAccessInheritance
Add-NTFSAccess –Path $Path -Account "Utilisateurs authentifiés" -AccessRights FullControl
- De mettre en dépendance votre paquet d'installation de NTFSSecurity,
- Mettre un fichier .ps1 avec le code powershell au dessus,
- Lancer le script dans votre def install() avec la commande :
Code : Tout sélectionner
run('powershell.exe -NoProfile -NonInteractive -executionpolicy bypass -File FICHIER.ps1')