un dossier par utilisateur

un dossier par utilisateur - Windows & Software

Marsh Posté le 03-01-2005 à 11:59:44    

Bonjour,
 
J'ai windows 2000 serveur, et j'aimerais que chaque utilisateur qui se connecte sur le réseau est un dossier personnel.
j'ai pensé à faire créer un dossier par utilisateur et faire clique droit /propriété/partage/ et sélectionner l'utilisateur conserné. Ainsi l'utilisateur aura un dossier à lui et personne d'autres aura accé.
 
Mais on m'a dit que c'était pas fiable, et que windows 2000 serveur offrait une autre méthode pour cela bcp mieux. Puis je la connaitre ?
 
merci davance !

Reply

Marsh Posté le 03-01-2005 à 11:59:44   

Reply

Marsh Posté le 03-01-2005 à 12:02:12    

c'est dans l'onglet "profil" des utilisateurs..

Reply

Marsh Posté le 03-01-2005 à 12:40:25    

1) Tu crées un dossier "Users" ou "Utilisateurs" si tu préfères
2) Tu partages ce dossier sous le nom "users$" (note le symbole $ à la fin pour masquer le partage) avec un accès à "Tout le Monde" ou "Utilisateurs authentifiés"
3) Dans ce dossier tu créés un sous-dossier par utilisateur, je te conseille de nommer le dossier avec le nom de login de chaque utilisateur
4) Sur chaque dossier à l'aide de l'onglet sécurité tu définis qui a le droit d'accéder aux dossier (en général : Administrateur -> contrôle total , l'utilisateur -> lecture & écriture , éventuellement le groupe en lecture seule)
5) Tu ajoutes un script de connexion sur la GPO de tes utilisateurs.
 
Notes :
Pour ajouter une GPO dans les outils d'administration -> "Active Directory Users and Computers" -> Créer une OU et y déplace rles utilisateurs (si ce n'est pas déjà fait) -> Click droit -> Propriétés -> Onglet Stratégie de groupes -> Bouton ajouter -> dans la partie utilisateur ajouter le script de connexion
 
Exemple de script pour connecter disques et imprimantes (à adapter) ; LOGON.VBS :

Citation :

Option Explicit
On Error Resume Next
 
Dim wshNetwork, wshShell, wshSysEnv, colDrives, nReturnCode
Dim i, j
Dim aryDrives, aryShares, strUser
Dim colPrinters, aryPrinters
 
Dim BS
BS = Chr(92) ' Set a backslash (\)
 
Set wshNetwork = WScript.CreateObject("WScript.Network" )
Set wshShell = WScript.CreateObject("WScript.Shell" )
Set wshSysEnv = wshShell.Environment("SYSTEM" )
strUser = wshShell.ExpandEnvironmentStrings("%USERNAME%" )
 
' Those array are linked, using two 1-dim arrays instead of one 2-dim array
aryDrives = Array("F:", "M:", "O:", "S:", "U:" )
aryShares = Array("\\monsrv1\metro$", _
                  "\\monsrv1\users$\" & strUser & "\mes documents", _
                  "\\monsrv1\users$\" & strUser & "\outlook", _
                  "\\monsrv1\arborescence$", _
                  "\\monsrv1\users$" )
 
aryPrinters = Array("\\monsrv1\infoprint", _
                    "\\monsrv1\infoprint1226", _
                    "\\monsrv1\bobcolpt1-p", _
                    "\\monsrv1\bobcolpt1-l", _
                    "\\monsrv1\bobcobac-l" )
 
 
If (wshSysEnv("OS" ) = "Windows_NT" ) Then
   
   ' Connect drives
   Set colDrives = wshNetwork.EnumNetworkDrives
   For i = 0 To colDrives.Count - 1 Step 2
      ' Disconnect previous connections
      For j = LBound(aryDrives) To UBound(aryDrives)
         If (colDrives(i) = aryDrives(j)) Then
            wshNetwork.RemoveNetworkDrive aryDrives(j)
         End If
      Next
   Next
   ' Map new drive
   If UBound(aryDrives) = UBound(aryShares) Then
      For i = Lbound(aryDrives) To UBound(aryDrives)
         wshNetwork.MapNetworkDrive aryDrives(i), aryShares(i)
      Next
   Else
      MsgBox "Error into connexion's script, aryShares and arryDrives aren't of the same size !"
   End If
     
   ' Connect printers
   Set colPrinters = wshNetwork.EnumPrinterConnections
   For i = 0 To colPrinters.Count - 1 Step 2
      ' Disconnect already connected printers
      For j = LBound(aryPrinters) To UBound(aryPrinters)
         If (colPrinters(i) = aryPrinters(j)) Then
            wshNetwork.RemovePrinterConnection aryPrinters(j)
         End If
      Next
   Next
   For j = LBound(aryPrinters) To UBound(aryPrinters)
      wshNetwork.AddWindowsPrinterConnection aryPrinters(j)
   Next
Else
   WScript.Echo "This WSH logon script supports only Windows NT/2000/XP/2003." & vbNewLine &_
                "Exiting..."
   Set wshNetwork = Nothing
   Set wshShell = Nothing
   WScript.Quit(1)
End If
 
Set wshNetwork = Nothing
Set wshShell = Nothing
WScript.Quit(nReturnCode)


Message édité par Requin le 03-01-2005 à 12:41:58
Reply

Marsh Posté le 03-01-2005 à 14:14:00    

Ohh merci bcp requin !!
C'est parfait, j'étais en faite pas loin du tout. je ne comprend pas pourquoi on 'a dit que c'étais pas fiable.
Tout fois comme le dit flash_gordon, dans la section profil il y a "chemain de base", "connecté"...
Ca sert à quoi ?? car ca connecte pas pour autant l'utilisateurs à son dossier ??!!!!

Reply

Marsh Posté le 03-01-2005 à 14:18:00    

laclac a écrit :


Ca sert à quoi ?? car ca connecte pas pour autant l'utilisateurs à son dossier ??!!!!


 
ça alloue un lecteur reseau par utilisateur...

Reply

Marsh Posté le 03-01-2005 à 14:51:53    

Mmmhh.... ok mais...
si je met par exemple :  
Z: connecté à //serveur/users$/%username%
 
pourquoi ca change absolument rien coté utilisateur ?? je m'en sert mal ? Ne devrions nous pas voir apparaitre un lecteur Z: correspondant à son dossier ?

Reply

Marsh Posté le 03-01-2005 à 15:02:28    

sous win, les chemins sont avec \

Reply

Marsh Posté le 03-01-2005 à 15:59:04    

Oui c'est vrai !
excusez moi pour cette faute de frappe, mais le problème réside toujours.
Pour etre clair, l'utilisateur doit avoir en théorie un lecteur Z en plus c'est ça ??
Ca évite de le faire manuellement sur chaque poste (connecter un lecteur), je me trompe ??

Reply

Marsh Posté le 03-01-2005 à 16:22:02    

exactement :jap:
 
par contre, j'avoue na pas utiliser %username% [:spamafot€]

Reply

Marsh Posté le 03-01-2005 à 16:23:46    

1) L'utilisateur peut avoir n'importe quelle lettre, il est fréquent de prendre une lettre "élevée" pour ne pas avoir de problèmes avec les lecteurs phsysiques (disques durs, CDs/DVDs, cartes mémoires, ...).
 
2) Le but d'un script est principalement de pouvoir gérer l'ensemble d'une manière centralisée, ca a non seulement l'avantage d'éviter de passer bêtement sur chaque poste, mais aussi de pouvoir s'adapter facilement à des besoins futurs. De plus avec un script tu limites les erreurs "humaines" que tu ferais inévitablement en passant sur chaque poste.
 
Vu que de totue évidence celà semble nouveau pour toi, prends le temps de lire les diverses documentation sur le site Microsoft.
 
Référence des langages de scripts (Windows Script Technologies Documentation) :
http://msdn.microsoft.com/scripting
 
Microsoft Script Center :
http://www.microsoft.com/technet/s [...] fault.mspx

Reply

Marsh Posté le 03-01-2005 à 16:23:46   

Reply

Marsh Posté le 03-01-2005 à 16:27:51    

Ah j'oubliais, évite de mettre le script dans le profil utilisateur... c'est pénible car tu dois le faire pour chaque personne (et scripter LDAP demande une certaine motivation), alors que si tu l'appliques à une Organisational Unit via les GPO :
- tu n'as à le faire qu'une seule fois pour tous les utilisateurs
- tu peux appliquer plusieurs scripts de manière hiérarchique
- c'est facile de changer le nom du script pour par exemple installer une nouvelle version

Reply

Marsh Posté le 03-01-2005 à 16:56:22    

Yes, merci du conseil !
Alors requin, tu as deviné c'est un peu nouveau !
En faite, il y a 3ans j'ai eu un mauvais prof qui m'a fait un cours la dessus donc jai quelques souvenir quand meme.
 
Malheureusement pour moi les souvenir ne fonctionne pas ce qui arrange rien ! alors je reprend :
1) jai créer un dossier users$ que j'ai partagé avec tout le monde.
2) jai créer un dossier "usertest" (pour lexemple on appel lutilisateur "usertest" ) que j'ai partagé uniquement avec l'utilisateur.
3) j'ai dans le profil active directory de l'utilisateur usertest, mis connect Z: à \\nomdemonserveur\user$\usertest
4) au lancement de la session usertest, pas de Z:, bien que le dossier sois visible sur le réseau (\\nomdemonserveur\user$\usertest).
 
3 bis) face à l'echec j'ai adapté ton script et je lai mis dans winnt/sysvol/domain/.
4 bis) Dans le profil active directory dans script jai mis logon.vbs
5) démarrage de la session toujours rien...
 
Alors mss souvenirs sous pas bon et c'est vraiment qu'il y a  vraiment une erreur quelque part ??
 
 

Reply

Marsh Posté le 03-01-2005 à 17:51:22    

1) Test le script en le lançant à la main sur la machine client, il va te connecter le lecteur réseau (si tu l'a adapté correctement). Une fois ton script OK tu passes à la suite.
2) Ouvre la console MMC pour gérer les utilisateurs Active Directory
3) Créé une structure qui correspond à ta société à l'aide d'unités d'organisation (OU)
4) Déplace dans cet OU les comptes utilisateurs sur lesquels tu souhaites appliquer des scripts
5) Ajoute une stratégie de groupe, dans laquelle tu vas chercher ton script (il va faire tout seul comme un grand un copie sous sysvol)
 
Voilà un exemple concret :
http://www.ploofer.com/ad_ou_gpo.png


Message édité par Requin le 03-01-2005 à 17:54:40
Reply

Marsh Posté le 04-01-2005 à 11:00:56    

Oh merci bcp requin !!
C'est vrai que je ne connaissais pas les OU et je vois que cela ouvre grandement les possibilités.
Bon nous sommes une petite structure, alors je ne sais pas si c'est très approprié mais c'est toujours bien.
 
Je comptais structurer mon réseau ainsi :
Un groupe compta, un groupe secrétariat, un groupe commerciaux, et un groupe direction qui a accés à tout les autres groupes.
J'ai quand meme vu que les OU ne permettaient pas trop de créer mon groupe direction car on ne peut pas créer d'OU, dépendant dautre OU. Je me trompe ?
 
Egalement jai toujours mon problème avec mon dossier qui ne se connecte pas, pourtant que j'ai tester mon script en le lancant directement cela fonctionne. Mon compte utilisateur est pourtant bon et le serveur le reconnait...

Reply

Marsh Posté le 04-01-2005 à 11:13:40    

Créé tes OU qui représentent la structure de la société (petite ou grande ca n'a pas d'importance, le but est que celà reflète ta société)
 
Ensuite tu créés des groupes dans lesquels tu mets tes utilisateurs (un utilisateur peut appartenir à un ou plusieurs groupes).
 
Pour les droits d'accès tu utilises au choix les groupes ou le compte de l'utilisateur.
 
Je te conseille de ne pas donner un accès en écriture au groupe "Direction" sur les dossiers des autres utilisateurs, par expérience ils vont te foutre la m*** chez les autres si tu le fait (et bien sûr ils n'auront "rien fait" ).
 
Pour la dépendance une OU fille dépend du parent et donc hérite du parent (sauf si tu indiques de bloquer l'héritage)
 
Je peux si je reprends mon screenshot appliquer un script à l'OU "utilisateurs" qui s'appliqueras à toutes les OUs contenues dans "utilisateurs", si j'applique sur "Direction" seul les utilisateurs / machines contenus dans cette OU sont concernés.
 
Pour le script : as-tu déplacé le compte de l'utilisateur dans l'OU ?
 
J'attire aussi ton attention sur le fait que une stratégie de groupe est composée de deux parties. l'un qui s'applique au compte machine et l'autre au compte utilisateur. Donc si tu met par exemple un script de démarrage ou arrêt (= machine) à une OU il faut déplacer le compte de l'ordinateur dans cette OU pour qu'il s'applique. De manière similaire si tu appliques un script de login / logoff ( = utilisateur) il faut déplacer le compte de l'utilisateur dans l'OU pour qu'elle s'applique.

Reply

Marsh Posté le 04-01-2005 à 14:37:54    

Ok ! Merci beaucoup Requin ton aide est plus qu'appréciable.(flash gordon égalemant)
Et excuse moi j'avais pas vu tout à l'heure ton screenshot (mon firefox a un antipub un peu trop puissant).
 
Donc maitenant, je vois très bien ou tu veux en venir et ce que j'ai à faire.
Bon est si j'ai bien compris tu n'as plus aucun utilisateur dans le "Users" par défaut d'active directory.
 
Bon et pour mon problème de dossier connecté qui réside encore (et oui encore).
Tu as sans doute raison, car je ne sais pas du tout paramétrer le compte machine.
Je l'ai bien passé dans le nouveau OU comme tu me l'as indiqué. Jai rien fais de plus sur ce compte machine juste peut etre que dans longlet Géré, jy ai mis le compte utilisateur correspondant malgré que je sais pas très bien ce que ca fait !

Reply

Marsh Posté le 04-01-2005 à 14:41:04    

Exact il n'y a plus d'utilisateurs dans "Users", ni d'ordinateur dans "Computers", les comptes vont dans la structure d'AD.
 
Une fois celà fait c'est très simple d'ajouter un utilisateur ou le bouger d'un département à un autre, il suffit de le (dé)placer dans la structure pour que tout soit correctement paramétré.

Reply

Marsh Posté le 04-01-2005 à 14:45:07    

Encore une précision quand tu fais un changement il n'est pas répercuté immédiatement.
 
Sous Windows 200 il faut faire dans un invite de commande pour appliquer respectivement les policy machine et utilisateur :

SECEDIT /REFRESHPOLICY MACHINE_POLICY /ENFORCE
SECEDIT /REFRESHPOLICY USER_POLICY /ENFORCE


 
Sous Windows XP dans un invite de commande :

GPUPDATE

Reply

Marsh Posté le 15-01-2005 à 08:52:23    

Requin a écrit :

Encore une précision quand tu fais un changement il n'est pas répercuté immédiatement.
 
Sous Windows 200 il faut faire dans un invite de commande pour appliquer respectivement les policy machine et utilisateur :

SECEDIT /REFRESHPOLICY MACHINE_POLICY /ENFORCE
SECEDIT /REFRESHPOLICY USER_POLICY /ENFORCE


 
Sous Windows XP dans un invite de commande :

GPUPDATE



 
Sous Windows 2003 GPUPDATE fonctionne aussi.


Message édité par zsun le 15-01-2005 à 08:52:38
Reply

Marsh Posté le 23-03-2005 à 22:08:00    

Bonsoir,
 
J'ai une colle, est ce qu'on peut appliquer des GPO directement sur des groupes? sachant que les groupes par défaut ne peuvent etre deplacer.
 
Si oui, pouvez vous me donner la procedure a suivre pour faire ca?
J'y arrive sur des users mais pas sur des groupes (dont des users sont affectés a ces groupes).
 
Merci,

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed