Question
tester acl d'1 dossier
- erin
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 43
- Remerciements reçus 0
il y a 11 ans 7 mois #14647
par erin
tester acl d'1 dossier a été créé par erin
Bonjour,
je souhaiterai récupérer les droits d'un dossier pour un utilisateur tester ces droits et modifier une variable.j'ai essayer ca
ok = \"false\"
$c = cacls d:\datauser
$c | foreach {
if($_ -eq \"AUTORITE NT\Système:(I)(OI)(CI)(IO)(F)\"){$ok = \"True\"}
}
write-host $ok
mais la comparaison ne marche pas.
je penser faire une simple comparaison d'éléments ds un tableau.
Quelqu'un a-t-il une idée du pourquoi ca marche pas
Merci.
je souhaiterai récupérer les droits d'un dossier pour un utilisateur tester ces droits et modifier une variable.j'ai essayer ca
ok = \"false\"
$c = cacls d:\datauser
$c | foreach {
if($_ -eq \"AUTORITE NT\Système:(I)(OI)(CI)(IO)(F)\"){$ok = \"True\"}
}
write-host $ok
mais la comparaison ne marche pas.
je penser faire une simple comparaison d'éléments ds un tableau.
Quelqu'un a-t-il une idée du pourquoi ca marche pas
Merci.
Connexion ou Créer un compte pour participer à la conversation.
- hahang
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 11 ans 7 mois #14651
par hahang
Réponse de hahang sur le sujet Re:tester acl d'1 dossier
Bonjour,
Essaie ce script qui te permettra en powershell de vérifier les droits des fichiers dans un repertoire (ici c:\temp)
$rootfolder = Get-ChildItem -Path c:\Temp
foreach ($userfolder in $rootfolder) {
$userfolder.FullName
get-acl $userfolder.FullName | foreach {write-host \"The owner is : \" $_.Owner \"`nNTFS Security rights : \" $_.AccessToString}
Write-Host \"`n\"
}
My Powershell IT blogs : powershell.nicoh.me
Essaie ce script qui te permettra en powershell de vérifier les droits des fichiers dans un repertoire (ici c:\temp)
$rootfolder = Get-ChildItem -Path c:\Temp
foreach ($userfolder in $rootfolder) {
$userfolder.FullName
get-acl $userfolder.FullName | foreach {write-host \"The owner is : \" $_.Owner \"`nNTFS Security rights : \" $_.AccessToString}
Write-Host \"`n\"
}
My Powershell IT blogs : powershell.nicoh.me
Connexion ou Créer un compte pour participer à la conversation.
- hahang
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 11 ans 7 mois #14653
par hahang
Réponse de hahang sur le sujet Re:tester acl d'1 dossier
Connexion ou Créer un compte pour participer à la conversation.
- hahang
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 11 ans 7 mois #14654
par hahang
Réponse de hahang sur le sujet Re:tester acl d'1 dossier
Plus simplement, tu peux récupérer les infos de droits avec les commandes suivantes :
(get-acl \"C:\\temp\").Access
(get-acl \"C:\\temp\").sddl
Tu obtiens ce genre d'output :
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : CREATOR OWNER
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : InheritOnly
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : NT AUTHORITY\SYSTEM
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
FileSystemRights : Modify, Synchronize
AccessControlType : Allow
IdentityReference : BUILTIN\Users
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
O:BAG:SYD:PAI(A;OICIIO;FA;;;CO)(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1301bf;;;BU)
(get-acl \"C:\\temp\").Access
(get-acl \"C:\\temp\").sddl
Tu obtiens ce genre d'output :
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : CREATOR OWNER
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : InheritOnly
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : NT AUTHORITY\SYSTEM
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
FileSystemRights : Modify, Synchronize
AccessControlType : Allow
IdentityReference : BUILTIN\Users
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
O:BAG:SYD:PAI(A;OICIIO;FA;;;CO)(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1301bf;;;BU)
Connexion ou Créer un compte pour participer à la conversation.
- erin
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 43
- Remerciements reçus 0
il y a 11 ans 7 mois #14656
par erin
Réponse de erin sur le sujet Re:tester acl d'1 dossier
si je comprends je ne peux pas utiliser cacls le mettre dans un tableau et comparer avec une valeur attendue.
avec get-acl je me perd un peu
comment je peu combiner le nom de l'utilisateur avec ses droit $acc.IdentityReference.Value
...
avec get-acl je me perd un peu
comment je peu combiner le nom de l'utilisateur avec ses droit $acc.IdentityReference.Value
...
Connexion ou Créer un compte pour participer à la conversation.
- hahang
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 11 ans 7 mois #14660
par hahang
Réponse de hahang sur le sujet Re:tester acl d'1 dossier
Dans l'objet sddl tu obtiens tous les droits des differents utilisateurs. Pour les utilisateurs non système, tu auras un resultat du type :
[code:1]O:BAG:«»SYD:«»PAI(A;OICIIO;FA;;;CO)(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1301bf;;;BU)(A;OICI;0x1301bf;;;S-1-5-21-436374069-1897051121-839522115-19780)[/code:1]
Pour résoudre ce SID, tu peux utiliser le script suivant :
My Powershell IT blog : powershell.nicoh.me
Message édité par: nicoh, à: 23/04/13 17:13
[code:1]O:BAG:«»SYD:«»PAI(A;OICIIO;FA;;;CO)(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1301bf;;;BU)(A;OICI;0x1301bf;;;S-1-5-21-436374069-1897051121-839522115-19780)[/code:1]
Pour résoudre ce SID, tu peux utiliser le script suivant :
[code:1]$objSID = New-Object System.Security.Principal.SecurityIdentifier(\"S-1-5-21-123456789-1234567890-123456789-12345\")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value[/code:1]
My Powershell IT blog : powershell.nicoh.me
Message édité par: nicoh, à: 23/04/13 17:13
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.111 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- tester acl d'1 dossier