Bei der Installation bestimmter Software benötigt der Endbenutzer Zugriffsrechte für den Ordner.
In einem Kontext, in dem der Benutzer kein Administrator ist, stellt dies jedoch ein Problem dar.
Die von mir verwendete Lösung sieht folgendermaßen aus:
- ein Paket, das ein PowerShell-Modul installiert (wodurch dieses zu einer Abhängigkeit der Software wird)
- ein Skript zum Ändern der Berechtigungen.
Rechte werden für authentifizierte Benutzer auf einen bestimmten Ordner vergeben (können von jeder anderen Gruppe geändert werden).
Das PowerShell-Modul heißt NTFSSecurity und ist hier verfügbar: https://gallery.technet.microsoft.com/s ... dbb2b84e85
Das zur Installation verwendete Paket enthält folgenden Code:
Code: Alle auswählen
# -*- 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: Alle auswählen
#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- Um Ihr NTFSSecurity-Installationspaket zu einer Abhängigkeit zu machen,
- Platzieren Sie eine .ps1-Datei mit dem PowerShell-Code am Anfang,
- Führen Sie das Skript in Ihrer def install()-Funktion mit folgendem Befehl aus:
Code: Alle auswählen
run('powershell.exe -NoProfile -NonInteractive -executionpolicy bypass -File FICHIER.ps1')