Question Supprimer des droits NTFS

Plus d'informations
il y a 13 ans 11 mois #11907 par vermersch
Hello,

Je veux
- créer un repertoire,
- lui affecter les droits ntfs d'un utilisateur précédemment créer,
- puis supprimer les droits ntfs du groupe \"Utilisateurs\"(utilisateurs du domaine) sur ce même dossier.

Je bloque sur ma troisième étape depuis deux bonnes heures si quelqu’un connait la solution ça m'aiderait grandement =)

Je vous copie mon code
[code:1]
$login=\"stoto\"
#Création d'un repertoire privé
New-Item -Path x:\ -Name $login -ItemType directory

#Droits NTFS sur le repertoire
$acl = get-acl \"x:\$login\"
$ace = new-object System.Security.AccessControl.FileSystemAccessRule(\"$domaine\$login\", \"Fullcontrol\", 3, 0, \"Allow\"«»)
$acl.AddAccessRule($ace)
set-acl x:\$login $acl

#Suppression Droits NTFS sur le repertoire
$acl1 = get-acl \"x:\$login\"
$ace1 = new-object System.Security.AccessControl.FileSystemAccessRule(\"$domaine\Utilisateurs\", \"Fullcontrol\", 3, 1, \"Allow\"«»)
$acl1.RemoveAccessRule($ace1)
set-acl x:\$login $acl1
[/code:1]

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

Plus d'informations
il y a 13 ans 11 mois #11910 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Supprimer des droits NTFS
Bonsoir,

[code:1]$ace = new-object System.Security.AccessControl.FileSystemAccessRule(\"$domaine\$login\", \"Fullcontrol\", 3, 0, \"Allow\"«»)
[/code:1]

J'ai des doutes sur le fait que tu puisses utiliser des \"String\" et des \"Int\" en paramètre FileSystemAccessRule.

Tu pourras trouver des exemples ici : Working with Security Descriptors .

Un exemple :

[code:1]$colRights = [System.Security.AccessControl.FileSystemRights]\"Read\"

$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::None
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::None

$objType =[System.Security.AccessControl.AccessControlType]::Allow

$objUser = New-Object System.Security.Principal.NTAccount(\"wingroup\kenmyer\"«»)

$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule `
($objUser, $colRights, $InheritanceFlag, $PropagationFlag, $objType)

$objACL = Get-ACL \"c:\scripts\test.ps1\"
$objACL.RemoveAccessRuleAll($objACE)

Set-ACL \"C:\Scripts\Test.ps1\" $objACL
[/code:1]
@ +

Matthew

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

Plus d'informations
il y a 13 ans 11 mois #11913 par xyz
Réponse de xyz sur le sujet Re:Supprimer des droits NTFS
Matthew BETTON écrit:

J'ai des doutes sur le fait que tu puisses utiliser des \"String\" et des \"Int\" en paramètre FileSystemAccessRule.

Le parseur reconnait les string, que l'on peut combiner, quant au int c'est fort probable, mais je ne n'utilise pas cette approche qui ne documente pas le code.
Le cmdlet Trace-Command pourrait nous répondre...

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 11 mois #11914 par xyz
Réponse de xyz sur le sujet Re:Supprimer des droits NTFS
Un peu de mécanique :
[code:1]trace-command -name TypeConversion,parser -expression {$ace = new-object System.Security.AccessControl.FileSystemAccessRule(\"domaine\login\", \"Fullcontrol\", 3, 0, \"Allow\"«»)} -option executionflow -pshost[/code:1]
Renvoi :

DÉBOGUER : TypeConversion Information: 0 : Converting \"500\" to \"System.Int32\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"System.Object[]\" to \"System.Object[]\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"500\" to \"System.Int32\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"System.Security.AccessControl.FileSystemAccessRule\" to
\"System.Type\".
DÉBOGUER : TypeConversion Information: 0 : Conversion to System.Type
DÉBOGUER : TypeConversion Information: 0 : Converting \"domaine\login\" to \"System.String\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"Fullcontrol\" to
\"System.Security.AccessControl.FileSystemRights\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"3\" to \"System.Security.AccessControl.InheritanceFlags\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"0\" to \"System.Security.AccessControl.PropagationFlags\".
DÉBOGUER : TypeConversion Information: 0 : Converting \"Allow\" to \"System.Security.AccessControl.AccessControlType\".


Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 11 mois #11916 par vermersch
Réponse de vermersch sur le sujet Re:Supprimer des droits NTFS
Merci d'avoir pris le temps de me répondre.

Ce n'est pas la partie ou je rajoute un utilisateur en droit ntfs qui me pose problème. Elle fonctionne.

C'est la partie ou je cherche a supprimer le groupe \"utilisateurs\". (troisième paragraphe)

C'est étrange que Microsoft n'ai rien prévu pour une opération si banale.

Je vais essayer le code de Matthew dés lundi et je vous tiens au courant<br><br>Message édité par: karu, à: 1/06/12 11:02

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

Plus d'informations
il y a 13 ans 11 mois #11920 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Supprimer des droits NTFS
Salut,

Je vais essayer le code de Matthew dés lundi et je vous tiens au courant


Ce n'est pas \&quot;mon\&quot; code ... et je l'ai testé, il fonctionne comme un charme ;)

Merci Laurent pour le retour.

@+

Matthew

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

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