IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Serveur Discussion :

Déplacement profils AD


Sujet :

Windows Serveur

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut Déplacement profils AD
    Bonjour,
    je dois déplacer les profils "utilisateur" (sur un même espace de stockage).
    Apparemment, il y aurait deux solutions: passer un script Powershell ou utiliser une GPO.
    Que conseillez-vous? Une des méthodes est-elle beaucoup plus simple à mettre en place (je n'ai pas une grosse expérience de Powershell)?
    Je vous remercie pour votre aide!

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Bonjour à toi,

    Dans un environnement AD il est évidemment plus simple de travailler avec les GPO

    Par contre attention, migrer le Mes Documents des utilisateurs de leurs PC en local vers un emplacement réseau ce n'est pas si simple.
    Car imagine Mme Michut qui à des photos de son chat en 20MPix qui amène son profil à 20Go !

    Si tu te contente d'appliquer la GPO et pis basta, elle va arriver un matin et va rester coincé pendant une éternité devant l’écran Bienvenue de Windows....

    Il faut procéder de manière méthodique utilisateur par utilisateur.

    Tu créé ta GPO sur une OU de test, tu réalise des test avec un PC que tu as sous le coude et un compte utilisateur test.
    Si GPO ok, tu commence à migrer tes utilisateurs un par un en allant sur leur PC, en procédant au déplacement du Mes Documents depuis l'interface de l'explorer Windows.
    Une fois que c'est terminé tu les places dans ton OU avec la GPO de redirection final
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    Merci pour ta réponse.
    En fait ce n'est pas le cas. Les profils sont déjà des profils itinérants et j'ai fait une GPO pour que les documents, bureau et répertoire de téléchargement soient redirigés vers le "lecteur personnel" de mes utilisateurs.

    Ma problématique est de "faire le ménage" des répertoires des profils utilisateurs n'existant plus dans l'AD.
    La solution envisagée était de modifier le chemin de ces profils et "au bout d'un certain temps" ceux qui n'auront pas été déplacés correspondraient donc aux profils "périmés".

    Peut-être n'est-ce pas la meilleure approche et as-tu une autre idée?

  4. #4
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Ah !
    C'est plus claire

    Dans ce cas, moi j'utiliserai en effet Powershell.
    Normalement le nom du dossier est le nom du login de l'utilisateur dans l'AD.

    Donc en parcourant les dossiers, j'irai vérifier dans l'AD si l'utilisateur existe toujours et s'il n'est pas désactivé.

    Au quel cas, je supprime le dossier et tout son contenue, attention tout de même, combien de fois on est venu me voir pour récupérer les dossier de Trucmuche qui est parti depuis 6 mois....
    Il pourrait être intéressant pour toi de les mettre ailleurs, genre un NAS.
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    J'étais parti sur ce principe-là: parcourir le répertoire des profils et si un de ses sous-répertoire ne correspond pas à un utilisateur de l'AD alors déplacer ce répertoire (je ne veux pas le supprimer dans un premier temps).
    Mais je n'ai pas su pondre le script PowerShell...
    De plus, les répertoires sont suffixés par des ".V2" etc.

    Merci pour ton aide en tout cas

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Ok alors déjà, est-ce que les fichiers sont hébergés sur ton serveur AD ou c'est un serveur différent ?
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    C'est un serveur différent. C'est sur un NAS.

  8. #8
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Ok alors script Powershell sera à lancer depuis ton serveur AD.

    Je te propose ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $profilesPath = 'C:\Users\toto\Desktop\Test'
    $archivePath = 'C:\Users\toto\Desktop\Archive'
    
    if(-Not(Test-Path $archivePath)) { New-Item $archivePath -Type Directory | Out-Null }
    
    $usersFolders = Get-ChildItem $profilesPath | Select @{N='Name';E={$_.Name.substring(0, $_.Name.Length - 3) }}, FullName
    
    foreach($userFolder in $usersFolders) {
    	Try {
            $user = Get-ADUser $userFolder.Name | Out-Null
    		Write-host "L'utilisateur $($userFolder.Name) existe dans l'AD, on ne fait rien"
        }
        Catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException]
        {
            Write-host "L'utilisateur $($userFolder.Name) n'existe pas dans l'AD, déplacement de son dossier en archivage"
            Move-Item -Path $userFolder.FullName -Destination $archivePath -Force
        }
    }
    Modifie les chemins dans les variables en haut.
    Ca liste les dossiers en virant le .V2, ca regarde si l'utilisateur existe dans l'AD, si ce n'est pas le cas ça déplace son dossier dans le dossier d'archivage
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup! Je vais regarder ça, je te tiens au courant

  10. #10
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    bonjour

    je te met un lien sur une question un peu similaire;

    En fait ca te permet de voir depuis quand le compte n est plus utilise donc a supprimer

    https://social.technet.microsoft.com...ndowsserver8fr
    a+
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    Merci je vais regarder tout ça j'espère aujourd'hui!
    Je vous tiens au courant bien sûr

  12. #12
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Citation Envoyé par neuneu1 Voir le message
    bonjour

    je te met un lien sur une question un peu similaire;

    En fait ca te permet de voir depuis quand le compte n est plus utilise donc a supprimer

    https://social.technet.microsoft.com...ndowsserver8fr
    a+
    Si l'utilisateur à été supprimé dans l'AD ça ne va pas servir.

    Par contre @nutopia oui dans la première parti de mon code, on peux tester si l'utilisateur est actif ou non et depuis combien de temps et en fonction effectuer le déplacement aussi.

    Edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $profilesPath = 'C:\Users\toto\Desktop\Test'
    $archivePath = 'C:\Users\toto\Desktop\Archive'
    $period = 30
    
    if(-Not(Test-Path $archivePath)) { New-Item $archivePath -Type Directory | Out-Null }
    
    $usersFolders = Get-ChildItem $profilesPath | Select @{N='Name';E={$_.Name.substring(0, $_.Name.Length - 3) }}, FullName
    
    foreach($userFolder in $usersFolders) {
    	Try {
            $user = Get-ADUser $userFolder.Name -Properties Enabled, LastLogon
    		if(-Not($user.Enabled)-And (New-TimeSpan -Start $([datetime]::FromFileTimeUtc($user.LastLogon)) -End $(Get-Date)).TotalDays -gt $period) {
    			Write-host "L'utilisateur $($userFolder.Name) existe dans l'AD mais est désactivé depuis plus de $period jours, déplacement de son dossier en archivage"
    			Move-Item -Path $userFolder.FullName -Destination $archivePath -Force
    		} else {
    			Write-host "L'utilisateur $($userFolder.Name) existe dans l'AD est actif ou désactiver depuis moins de $period jours, on ne fait rien"
    		}
        }
        Catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException]
        {
            Write-host "L'utilisateur $($userFolder.Name) n'existe pas dans l'AD, déplacement de son dossier en archivage"
            Move-Item -Path $userFolder.FullName -Destination $archivePath -Force
        }
    }
    Avec traitement si user désactiver et periode de temps de désactivation
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  13. #13
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    bonjour,

    pas faux , je n avais pas compris supprimer mais inactif.

    bah ca servira toujours a quelqu un un jour ou l autre..

    a+
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  14. #14
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    @cerede2000
    J'ai un petit souci avec le script: en fait pour presque tous les utilisateurs (mais pas tous) j'ai à la fois le répertoire avec le ".v2" et le répertoire sans le ".v2".
    (Qui correspondaient aux fois où il se log sur Win7 et WinXP si j'ai bien compris...)
    J'aimerais rajouter une condition qui teste si le nom du répertoire se termine par ".v2" pour lui enlever les trois dernier caractères et zapper cette étape si ce n'est pas le cas.

    Merci pour ton aide en tout cas, super script



    @neuneu1
    Oui, je mets ça de côté ça me servira sûrement également ;-)

  15. #15
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Avec regex alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $profilesPath = 'C:\Users\toto\Desktop\Test'
    $archivePath = 'C:\Users\toto\Desktop\Archive'
    $period = 30
    
    if(-Not(Test-Path $archivePath)) { New-Item $archivePath -Type Directory | Out-Null }
    
    $usersFolders = Get-ChildItem $profilesPath | Select @{N='Name';E={$_.Name -Match "^([a-zA-ZÀ-ÿ0-9]*)(?:\.v2)?$" |Out-Null; $Matches[1]}}, FullName
    
    foreach($userFolder in $usersFolders) {
    	Try {
            $user = Get-ADUser $userFolder.Name -Properties Enabled, LastLogon
    		if(-Not($user.Enabled)-And (New-TimeSpan -Start $([datetime]::FromFileTimeUtc($user.LastLogon)) -End $(Get-Date)).TotalDays -gt $period) {
    			Write-host "L'utilisateur $($userFolder.Name) existe dans l'AD mais est désactivé depuis plus de $period jours, déplacement de son dossier en archivage"
    			Move-Item -Path $userFolder.FullName -Destination $archivePath -Force
    		} else {
    			Write-host "L'utilisateur $($userFolder.Name) existe dans l'AD est actif ou désactiver depuis moins de $period jours, on ne fait rien"
    		}
        }
        Catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException]
        {
            Write-host "L'utilisateur $($userFolder.Name) n'existe pas dans l'AD, déplacement de son dossier en archivage"
            Move-Item -Path $userFolder.FullName -Destination $archivePath -Force
        }
    }
    Et pour rappel, j'ai adapté le code en tenant compte de la désactivation de l'utilisateur et d'un délais paramétrable.....

    PS : Penser à voter quand cela vous convient, ça encourage.....
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  16. #16
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup Cerede
    Je ne sais pas si je vais pouvoir le faire aujourd'hui mais je vais essayer de faire quelques tests!

  17. #17
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    Me revoilà après quelques tests!
    Merci beaucoup Cerede, il est vraiment nickel ton script
    J'ai juste un petit souci avec les noms de répertoires qui comportent un tiret " - " ...

  18. #18
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Quel est le soucis avec les tirets ?

    En même temps, il est impératif de respecter certaines règles sur les logins AD pour éviter beaucoup de soucis :
    • Pas d'accents
    • Pas de caractères autre que lettre et chiffres
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  19. #19
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 56
    Points
    56
    Par défaut
    Apparemment le script rend une chaîne de caractère vide quand il y a un tiret.
    Mais ce n'est pas grave, il y en a peu, je vais m'en charger "à la main".

    Oui clairement pour le nommage dans l'AD mais ça a l'air très vieux tout ça! Et je ne suis là que depuis quelques mois mais j'aimerais faire un bon ménage

    Sinon, si tu as un peu de temps, j'essayais ton comprendre de écriture extraterrestre : -Match "^([a-zA-ZÀ-ÿ0-9]*)(?:\.v2)?$"
    ^([a-zA-ZÀ-ÿ0-9]*) ça veut dire: qui commence par n'importe quel caractère? Pourquoi c'est si compliqué dans la notation?
    (?:\.v2)?$ : qui termine par une ou zéro occurence de ".v2" ?

  20. #20
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    En effet ma regex ne traite pas le tiret, corrige ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -Match "^([a-zA-ZÀ-ÿ0-9]*)(?:\.v2)?$"
    En ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -Match "^([a-zA-ZÀ-ÿ0-9-]*)(?:\.v2)?$"
    Pour l'explication ^$ traite une ligne complète
    ([a-zA-ZÀ-ÿ0-9-]*) : () parenthèse capturante pour récupérer que le nom ; [a-zA-ZÀ-ÿ0-9-] caractère acceptés avec les accents et maintenant le tiret ; * 0, 1 ou plusieurs fois
    (?:\.v2)? : (? parenthèse non capturante car on en veux pas ; ? peut apparaître 0 ou 1 fois

    Les regex sont très puissante pour tester ce genre de choses
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

Discussions similaires

  1. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  2. Profiler pour Java
    Par donde dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 10/02/2003, 17h36
  3. Déplacement "automatique" du curseur
    Par Amenofis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 08/01/2003, 18h57
  4. Limiter le déplacement de la souris
    Par el_bouleto dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/11/2002, 23h56
  5. [API win32] Récupérer le répertoire d'un profile
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 27/09/2002, 12h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo