Question icacls allow deny directory

Plus d'informations
il y a 9 ans 11 mois #21633 par PILLIAT
Bonjour,

J'ai un dossier qualite contenant des dossiers communication, test, direction, informatique ...

Je souhaiterais avec des règles acl qu'un utilisateur user_communication voit le dossier communication mais pas les autres, et ainsi de suite pour tous les services, mais je n'y arrive pas, l'utilisateur voit les dossiers d'à côté.

Le programme powershell lit le fichier csv suivant :

test.info test RX 31/03/2016
test.info communication D 31/03/2016
test.info informatique D 31/03/2016
test.info RH D 31/03/2016
(RX pour lecture, D pour deny)

Je suis dessus depuis un moment et ne suis pas spécialiste de powershell.
Si vous aviez une réponse, je vous remercie d'avance.

[code:1]clear
Import-Module ActiveDirectory

$rep=\"E:\partages\Qualite\\"
$rep_gestion=\"gestion-dossiers\\"
$file2=\"gestion-dossiers.csv\"
$path=$rep+$rep_gestion+$file2

$log = $rep+$rep_gestion+\"gestion_log.txt\"
$date = Get-Date -format 'dd/MM/yyyy HH:mm'

$date2 = Get-Date -format 'dd-MM-yyyy'

$members=Import-CSV $path -Delimiter ';' -header 'user','dossier','droits'
$i=0
foreach ($memb in $members) {
if ($i -gt 0) {
$m_user=$memb.user
$m_dossier=$memb.dossier
$m_droits=$memb.droits
$folder = $rep+$m_dossier

$m_affiche=$m_user+\" : \"+$m_dossier+\" : \"+$m_droits+\" folder: \"+$folder
#echo $m_affiche

if ($m_droits -eq \"D\"«») {
cmd /c icacls $folder /remove:g $m_user /T /C
cmd /c icacls $folder /deny $m_user /T /C
\"`n================================================\" | Out-File $log -append
$date + \" : \"+$m_affiche+\" : droit UTILISATEUR supprimé \" | Out-File $log -append
\"`n================================================\" | Out-File $log -append
}

If (-not (Test-Path $folder)) {

\"`n================================================\" | Out-File $log -append
$new_folder=New-Item -ItemType Directory -path $folder
$date + \" : \"+$m_affiche+\" : dossier créé :\" + $folder | Out-File $log -append
$date + \" : \"+$new_folder | Out-File $log -append
\"`n================================================\" | Out-File $log -append
}

$ad_user=Get-AdUser -Identity $m_user
if (-Not $ad_user)
{
$date + \" : \"+$m_user+\" : PROBLEME DE NOM utilisateur \" | Out-File $log -append
}


$rule ='(OI)(CI)(IO)('+$m_droits+')'
$params=$m_user+\":\"+$rule
cmd /c icacls $folder /grant $params /T /C
$log2=$log+\"-acl\"+$date2
cmd /c icacls $folder /save $log2 /T /C
$date + \" : \"+$i+\" : \"+$m_affiche+\" : GRANT \" | Out-File $log -append
}
$i++
}[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.065 secondes
Propulsé par Kunena