locked
Creation de dossier personnel par GPO RRS feed

  • Question

  • Bonsoir à tous,

    Je suis en train d'installer un système virtualisé de 8 serveurs 2008 R2 mais je butte actuellement sur un problème de GPO tout bête... (enfin pas si bête que ça parce que je suis en train de m'arracher les cheveux dessus depuis plus de 6h ^^)

    Comme dit dans le titre, je souhaiterai créer un dossier personnel pour chaque user se connectant sur le réseau, (je précise que c'est la première fois que je fais ça)

    Ce que j'ai fait :

    >>>> j'ai créer une GPO utilisateur liée à l'OU racine de mes users

    >>>> dans cette GPO j'ai configuré la création du dossier en question (configuration utilisateur/préférence/paramètre Windows/dossiers) avec les paramètre suivants:

    - action = créer

    - chemin d’accès = \\chemin_DFS\espace_nom\dossier_perso\%USERNAME%

    >>>> j'ai également configuré le mappage du lecteur réseau pointant sur le même chemin que le dossier crée

    Mon problème => lorsque je me connecte avec mon user de test le dossier est bien créé, avec le bon nom mais les autorisations NTFS ne correspondent pas a mon USER mais au compte de l'ordinateur avec lequel je me suis connecté !!! (il est d’ailleurs propriétaire du dossier) du coup mon user ne peut pas écrire dans ce dossier... comment cela ce fait-il ????

    Pour info les autorisation NTFS accordées au dossier parent sont :

    - System=Full (ce dossier, les sous-dossiers, les fichiers)

    -CRÉATEUR PROPRIÉTAIRE=Full (les sous-dossiers, les fichiers)

    -Tout le monde=parcours du dossier/exécuter + Liste du dossier/lecture des données + Lecture des attributs entendus + création de dossier/ajout des données (ce dossier seulement)

    Merci d'avance, cordialement.

    samedi 30 septembre 2017 19:07

Réponses

  • Quand tu crée un lecteur connecté, tu souhaites que celui ci se remet en place automatiquement avec le GPO elle est exécuté périodiquement, et c'est bien pratique. Au niveau de la création du dossier, elle n'a besoin d'être faites qu'une seule fois.

    Personnellement je crée le dossier utilisateur lors de la création automatisée du compte  en PowerShell. Avec Powershell il est assez facile de gérer les accès.

    Je te donne un exemple de script.

    function Creer-DossierUtilisateur ([string]$UserLogin,[string] $UserUNCShare,[String] $DomainName)
    {
    
    #définition du chemin du dossier
    $userShare = $UserUNCShare + "\" + $UserLogin
    #création du dossier utilisateur
    new-item -type directory -path $userShare
    $u= $DomainName + "\" +$UserLogin
    #Ajout du control totale à l'utilisateur
    $userAccess=New-Object security.AccessControl.FileSystemAccessRule($u,"FullControl",3,0,"Allow")
    
    $userAcl=Get-Acl -Path $userShare
    $userAcl.addAccessRule($userAccess)
    
    Set-Acl -Path $userShare $userAcl
    return $userShare
    }

    Même si ce n'est pas la question de départ, pour ma part la gestion des comptes est automatisé de la création, mise à jour à la  désactivation des comptes expirés.  Seul la suppression n'est pas une opération  planifié, car il y a validation de la liste des comptes manuels.

    Mon script se base sur un export du logiciel RH et utilise comme référence le matricule. Comme c'est mutli sociétés, multi sites avec multi forêt composé de multi domaines, j'ai un CSV qui fait la correspondance entre les infos de la RH et l'AD. Le script crée les comptes, les boites aux lettres, crée la boite aux lettres , gère les listes de distributions, gère la date d'expiration du compte et cerise sur le gâteau contient plein de tests pour rechercher des incohérences dans la base RH.

    Au début je me suis posé la question d'utiliser des outils de synchro comme identity Manager, mais une synchro ne permet pas de faire une analyse ciblé des incohérences. 

    Je sais que ça ne répond pas directement à la question, mais peut-être que cela peut aider dans ton analyse.

    Au niveau de l'application des GPO, il faut savoir qu'en juin 2016 les mises à jour Windows ont modifiés la manière dont les GPO sont appliquées en utilisant le contexte machine plutôt que utilisateurs pour charger les GPO y compris les paramètres utilisateurs pour des raisons de sécurité, voir :

    http://pbarth.fr/node/186


    • Marqué comme réponse Mira_eressea lundi 2 octobre 2017 07:49
    dimanche 1 octobre 2017 09:46

Toutes les réponses

  • Vous n'avez pas envisager de définir un dossier de base dans la fiche utilisateur. Dans ce cas le dossier est automatique crée avec les permissions pour l'utilisateur.


    samedi 30 septembre 2017 21:52
  • pas bête... :-D mais cela nécessite que je face cette action a chaque création d'utilisateur... le "turnover" étant assez important dans ma boite j’espérais limiter le nombre d'action au maximum ^_^'

    A moins qu'il soit possible d'ajouter ce paramètre en ligne de commande ? (je travail justement en parallèle sur la création d'un script pour automatiser certaine tache lors de la création des users)

    Autrement, savez-vous me dire pourquoi c'est le compte ordinateur qui créé le dossier et non le compte utilisateur ?

    dimanche 1 octobre 2017 04:23
  • Quand tu crée un lecteur connecté, tu souhaites que celui ci se remet en place automatiquement avec le GPO elle est exécuté périodiquement, et c'est bien pratique. Au niveau de la création du dossier, elle n'a besoin d'être faites qu'une seule fois.

    Personnellement je crée le dossier utilisateur lors de la création automatisée du compte  en PowerShell. Avec Powershell il est assez facile de gérer les accès.

    Je te donne un exemple de script.

    function Creer-DossierUtilisateur ([string]$UserLogin,[string] $UserUNCShare,[String] $DomainName)
    {
    
    #définition du chemin du dossier
    $userShare = $UserUNCShare + "\" + $UserLogin
    #création du dossier utilisateur
    new-item -type directory -path $userShare
    $u= $DomainName + "\" +$UserLogin
    #Ajout du control totale à l'utilisateur
    $userAccess=New-Object security.AccessControl.FileSystemAccessRule($u,"FullControl",3,0,"Allow")
    
    $userAcl=Get-Acl -Path $userShare
    $userAcl.addAccessRule($userAccess)
    
    Set-Acl -Path $userShare $userAcl
    return $userShare
    }

    Même si ce n'est pas la question de départ, pour ma part la gestion des comptes est automatisé de la création, mise à jour à la  désactivation des comptes expirés.  Seul la suppression n'est pas une opération  planifié, car il y a validation de la liste des comptes manuels.

    Mon script se base sur un export du logiciel RH et utilise comme référence le matricule. Comme c'est mutli sociétés, multi sites avec multi forêt composé de multi domaines, j'ai un CSV qui fait la correspondance entre les infos de la RH et l'AD. Le script crée les comptes, les boites aux lettres, crée la boite aux lettres , gère les listes de distributions, gère la date d'expiration du compte et cerise sur le gâteau contient plein de tests pour rechercher des incohérences dans la base RH.

    Au début je me suis posé la question d'utiliser des outils de synchro comme identity Manager, mais une synchro ne permet pas de faire une analyse ciblé des incohérences. 

    Je sais que ça ne répond pas directement à la question, mais peut-être que cela peut aider dans ton analyse.

    Au niveau de l'application des GPO, il faut savoir qu'en juin 2016 les mises à jour Windows ont modifiés la manière dont les GPO sont appliquées en utilisant le contexte machine plutôt que utilisateurs pour charger les GPO y compris les paramètres utilisateurs pour des raisons de sécurité, voir :

    http://pbarth.fr/node/186


    • Marqué comme réponse Mira_eressea lundi 2 octobre 2017 07:49
    dimanche 1 octobre 2017 09:46
  • Ca pourrait effectivement expliquer mon problème de GPO... mes connaissances Powershell sont maigres (je débute) mais je vais me pencher sur le sujet :-)

    Merci pour votre aide ! (et à très bientôt sur un sujet d'aide Powershell ^^)

    lundi 2 octobre 2017 07:49