Question
ACL d'un répertoire
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
darkslayer91 écrit:
merci pour la réponse, néanmoins j'ai un petit soucis car il ne reconnaît pas Write-host !
Quelle console utilises-tu PowerShell 1.1, 2.0 ou une autre application/IDE ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- vlb
- Hors Ligne
- Membre junior
-
- Messages : 25
- Remerciements reçus 0
Je sais que ma réponse ne va pas te satisfaire...
La modification des ACL avec PowerShell n'est pas une chose facile. Je te conseillerais de continuer avec xcacls.exe, bien plus intuitif.
Arnaud
Bonjour à tous,
Je cherchais depuis ce forum une réponse simple aux acls sous powershell et windows 2008 SP2 (pas de R2, PS V1...), ajouter un compte de domaine dans les ACLs d'un répertoire, le quotidien...
Je me suis investi sur cacls, pas possible de faire des permissions exotiques, set-acl ne fait qu'une copie de permissions vers d'autres répertoires, icacls me permettait pas de faire un héritage des droits simplement.
Je suis pas feignant parce que je suis admin mais admin parce que je suis feignant
Donc je me suis intéressé à XCALCS.VBS, à adapter sous Windows 2008 :
Rechercher la fonction IsOSSupported() dans le fichier XCACLS.VBS et ajouter à la ligne
[code:1]
Case \"5.0\", \"5.1\", \"5.2\"
[/code:1]
\"6.0\" pour obtenir
[code:1]
Case \"5.0\", \"5.1\", \"5.2\", \"6.0\"
[/code:1]
Maintenant, XCACLS.VBS peut fonctionner pour une version de Windows 2008 server.
Le contexte:
je monte un serveur FTP et je veux paramêtrer mes ACLs avec un compte du domaine.
Je ne détaille pas l'intégration dans le domaine, l'installation de IIS7 et FTP7.5 en powershell, seulement le share et les ACLs du dossier que l'on appelera FTProot.
Le nom de domaine sera CONTOSO pour des questions évidentes...
le net share avant le partage de FTProot
[code:1]
PS C:\sources> net share
Share name Resource Remark
C$ C:\ Default share
D$ D:\ Default share
IPC$ Remote IPC
ADMIN$ C:\Windows Remote Admin
The command completed successfully.
[/code:1]
Commande pour le partage de FTProot
[code:1]
PS C:\sources> $shareName = \"FTProot\"
PS C:\sources> $domainName=\"CONTOSO\"
PS C:\sources> net share $shareName=D:\$shareName \"/GRANT:$domainName\Administrators,FULL\" /UNLIMITED /REMARK:\"$shareName\"
FTProot was shared successfully.
[/code:1]
Le résultat du paratage de FTProot
[code:1]
PS C:\sources> net share
Share name Resource Remark
C$ C:\ Default share
D$ D:\ Default share
IPC$ Remote IPC
ADMIN$ C:\Windows Remote Admin
FTProot D:\FTProot FTProot
The command completed successfully.
[/code:1]
Maintenant afficher les ACLs, à partir du dossier XCACLS.VBS
[code:1]
PS C:\sources> cscript xcacls.vbs d:\FTProot
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
Starting XCACLS.VBS (Version: 5.2) Script at 25/06/2010 12:33:49
Startup directory:
\"C:\sources\"
Arguments Used:
Filename = \"d:\FTProot\"
**************************************************************************
Directory: D:\FTProot
Permissions:
Type Username Permissions Inheritance
Allowed BUILTIN\Administrators Full Control This Folder Only
Allowed \CREATOR OWNER Full Control Subfolders and Files
Allowed NT AUTHORITY\SYSTEM Full Control This Folder, Subfolde
Allowed BUILTIN\Administrators Full Control Subfolders and Files
No Auditing set
Owner: BUILTIN\Administrators
**************************************************************************
Operation Complete
Elapsed Time: 0,3164063 seconds.
Ending Script at 25/06/2010 12:33:49
[/code:1]
L'affectation d'un compte spécial de domaine en lecture/exécution + écriture pour ce dossier
[code:1]
PS C:\sources> cscript xcacls.vbs d:\$sharename /E /G \"$domainName\Customer Admins:WX;WX\" /SPEC B
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
Starting XCACLS.VBS (Version: 5.2) Script at 25/06/2010 12:46:43
Startup directory:
\"C:\sources\"
Arguments Used:
Filename = \"d:\FTProot\"
/E (Edit ACL leaving other users intact)
/G (Grant rights)
CONTOSO\Customer Admins:WX;WX
/SPEC (Special Folder Permission)
B - This Folder, Subfolders and Files
**************************************************************************
Directory: D:\FTProot
Granting NTFS rights (WX access for This Folder, Subfolders and Files) for \"CONTOSO\Customer Admins\"
Completed successfully.
**************************************************************************
Operation Complete
Elapsed Time: 0,59375 seconds.
Ending Script at 25/06/2010 12:46:43
[/code:1]
Et le résultat logique et mathématiques
[code:1]
PS C:\sources> $share=get-acl d:\$sharename
PS C:\sources> $share.access
FileSystemRights : Write, ReadAndExecute, Synchroni
AccessControlType : Allow
IdentityReference : CONTOSO\Customer Admins
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : True
InheritanceFlags : None
PropagationFlags : None
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : CREATOR OWNER
IsInherited : True
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : InheritOnly
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : NT AUTHORITY\SYSTEM
IsInherited : True
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : True
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : InheritOnly
[/code:1]
Le but de tout ça, c'est que mon client filezilla puisse se connecter en FTPES et avoir accès au répertoire pour faire mes mises à jour, automatisé au démarrage du serveur IIS/FTP.
Cependant j'ai du chercher plusieurs versions de l'installeur xcacls, donc je vous joins le xcacls.vbs prêt à l'emploi (pas besoin de faire la modification avec le \"6.0\").
Si vous avez des améliorations ou des remarques, je prends !
suchiwa
Vincent
Dans le doute, reboot...
Connexion ou Créer un compte pour participer à la conversation.
- vlb
- Hors Ligne
- Membre junior
-
- Messages : 25
- Remerciements reçus 0
La pièce jointe XCACLS.txt est absente ou indisponible
Vincent
Dans le doute, reboot...
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
As-tu résolu ton problème ?
Merci pour ton vbs modifié
Avis aux amateurs pour le convertir en PowerShell
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- vlb
- Hors Ligne
- Membre junior
-
- Messages : 25
- Remerciements reçus 0
Salut Suchiwa,
As-tu résolu ton problème ?
Merci pour ton vbs modifié
Avis aux amateurs pour le convertir en PowerShell
Arnaud
En fait, je n'ai pas de problème... je voulais \"présenter\" xcacls pour ces bienfaits naturels
Vincent
Dans le doute, reboot...
Connexion ou Créer un compte pour participer à la conversation.
- vlb
- Hors Ligne
- Membre junior
-
- Messages : 25
- Remerciements reçus 0
J'ai investi les yeux fermés dans votre bouquin.
Je travaille sur de l'automatisation des services windows 2008 tel que AD DS, IIS ou SQL Server 2008 pour les applications.
Les connexions LDAP, l'ajout d'OU ou de compte sont très bien expliqués.
Par contre, il y a un petit manque coté ACL et permission en powershell.
Peut être est ce une limitation du WMI ou du .NET FrameWork ?
Vincent
Dans le doute, reboot...
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- ACL d'un répertoire