locked
Script à appliquer à un groupe RRS feed

  • Question

  • Bonjour,

    j'ai un domaine AD sous 2003 R2
    j'aimerais savoir est ce possible d'appliquer un script qui permet de mapper un lecteur réseau automatiquement à l'ajout d'un utilisateur à un groupe définis si oui comment.
    je serai très reconnaissant si quelqu'un peux m'aider sur ça.
    merci
    dimanche 16 octobre 2011 23:10

Réponses

  • Bonjour,

     

    Vous pouvez creer une GPO et la lier à une Unité d'Organisation via la console gpmc.msc. Celle-ci s'appliquera à tous les objets
    se trouvant au sein de cette UO (ordinateurs, serveurs, utilisateurs ...).

     

     


    David LACHARI
    MVP Virtual Machine - VCP et VTSP vSphere 4.1
    Blog DansTonCloud
    Auteur du livre Hyper-v v2 sous Windows Server 2008 R2
    lundi 17 octobre 2011 08:28
  • Bonsoir,

    les stratégies s'appliquent uniquement aux utilisateurs (et aux ordinateurs). Seule la partie Utilisateur nous intéresse dans ce cas.

    Si l'on veut qu'une stratégie ne s'applique qu'aux utilisateurs d'un groupe précis, on peut jouer sur la sécurité de cette GPO pour que seuls les utilisateurs intéressés puissent la lire et donc l'appliquer. Cette option est à déconseiller, car l'administration des stratégies se complexifie énormément.

    La solution la plus simple consiste à réaliser le test dans le script...

    Si membre du groupe 1, mapper le lecteur 1

    Si membre du groupe 2, mapper le lecteur 2

    ...

    Voici un exemple de script (généralement utilisé au logon):

    ON ERROR RESUME NEXT
    set WshShell = CreateObject("WScript.Shell")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    
    
    DomainName=WshShell.ExpandEnvironmentStrings("%USERDOMAIN%")
    Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username)
    
    wscript.echo "Bonjour "&WshNetwork.username&" connecté sur "&WshNetwork.computername
    
    
    'Init Groups
    Dim UserGroups
    Dim GroupObj
    UserGroups=""
    For Each GroupObj In UserObj.Groups 
      UserGroups=UserGroups & "[" & GroupObj.Name & "]" 
    Next
    
    wscript.echo "Membre de "&UserGroups
    
    
    
    if InGroup("Administrators") then
      wshNetwork.RemoveNetworkDrive "R:"
      WshNetwork.MapNetworkDrive "R:","\\SERVEUR\NETLOGON"
    end if
    
    if InGroup("Compta") then
      wshNetwork.RemoveNetworkDrive "I:"
      WshNetwork.MapNetworkDrive "X:","\\SERVEUR\COMPTA"
    end if
    
    
    ' 
    Function InGroup(strGroup)
    	InGroup=False
    	If InStr(UserGroups,"[" & strGroup & "]") Then
    			InGroup=True
    	End If
    End Function
    

    A bientôt


    Thierry DEMAN. Exchange MVP. https://www.mcpvirtualbusinesscard.com/VBCServer/MVPtdeman/profile (68 MCPs) http://base.faqexchange.info
    lundi 17 octobre 2011 20:36

Toutes les réponses

  • Bonjour,

     

    Vous pouvez creer une GPO et la lier à une Unité d'Organisation via la console gpmc.msc. Celle-ci s'appliquera à tous les objets
    se trouvant au sein de cette UO (ordinateurs, serveurs, utilisateurs ...).

     

     


    David LACHARI
    MVP Virtual Machine - VCP et VTSP vSphere 4.1
    Blog DansTonCloud
    Auteur du livre Hyper-v v2 sous Windows Server 2008 R2
    lundi 17 octobre 2011 08:28
  • Bonsoir,

    les stratégies s'appliquent uniquement aux utilisateurs (et aux ordinateurs). Seule la partie Utilisateur nous intéresse dans ce cas.

    Si l'on veut qu'une stratégie ne s'applique qu'aux utilisateurs d'un groupe précis, on peut jouer sur la sécurité de cette GPO pour que seuls les utilisateurs intéressés puissent la lire et donc l'appliquer. Cette option est à déconseiller, car l'administration des stratégies se complexifie énormément.

    La solution la plus simple consiste à réaliser le test dans le script...

    Si membre du groupe 1, mapper le lecteur 1

    Si membre du groupe 2, mapper le lecteur 2

    ...

    Voici un exemple de script (généralement utilisé au logon):

    ON ERROR RESUME NEXT
    set WshShell = CreateObject("WScript.Shell")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    
    
    DomainName=WshShell.ExpandEnvironmentStrings("%USERDOMAIN%")
    Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username)
    
    wscript.echo "Bonjour "&WshNetwork.username&" connecté sur "&WshNetwork.computername
    
    
    'Init Groups
    Dim UserGroups
    Dim GroupObj
    UserGroups=""
    For Each GroupObj In UserObj.Groups 
      UserGroups=UserGroups & "[" & GroupObj.Name & "]" 
    Next
    
    wscript.echo "Membre de "&UserGroups
    
    
    
    if InGroup("Administrators") then
      wshNetwork.RemoveNetworkDrive "R:"
      WshNetwork.MapNetworkDrive "R:","\\SERVEUR\NETLOGON"
    end if
    
    if InGroup("Compta") then
      wshNetwork.RemoveNetworkDrive "I:"
      WshNetwork.MapNetworkDrive "X:","\\SERVEUR\COMPTA"
    end if
    
    
    ' 
    Function InGroup(strGroup)
    	InGroup=False
    	If InStr(UserGroups,"[" & strGroup & "]") Then
    			InGroup=True
    	End If
    End Function
    

    A bientôt


    Thierry DEMAN. Exchange MVP. https://www.mcpvirtualbusinesscard.com/VBCServer/MVPtdeman/profile (68 MCPs) http://base.faqexchange.info
    lundi 17 octobre 2011 20:36
  • Bonsoir,

    Pour appliquez une strategie de groupe sur un utilisateur / groupe: http://www.ahmedmalek.com/web/fr/doc.asp?docid=1496&mcat=4&mrub=41&msrub=63

    Il faut juste le donner les permissions lecture et appliquer strategie de groupe et de refuser la permission appliquer strategie de groupe pour les autres.

     


    This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.

    Microsoft Student Partner 2010 / 2011
    Microsoft Certified Professional
    Microsoft Certified Systems Administrator: Security
    Microsoft Certified Systems Engineer: Security
    Microsoft Certified Technology Specialist: Windows Server 2008 Active Directory, Configuration
    Microsoft Certified Technology Specialist: Windows Server 2008 Network Infrastructure, Configuration
    Microsoft Certified Technology Specialist: Windows Server 2008 Applications Infrastructure, Configuration
    Microsoft Certified Technology Specialist: Windows 7, Configuring
    Microsoft Certified IT Professional: Enterprise Administrator
    Microsoft Certified IT Professional: Server Administrator
    Microsoft Certified Trainer


    Mon site web: http://www.ahmedmalek.com

    Pour suivre mes publications d'articles / tutoriels, devenez membre de cette page sur Facebook: http://www.facebook.com/TunisianIT

    lundi 17 octobre 2011 22:18
    Auteur de réponse
  • Bonsoir,

    Vos lecteurs réseaux pointent-ils sur différents serveurs ? Je m'explique, si vous souhaitez mettre en place un accès à un partage situé sur un serveur unique, vous pouvez très bien combiner ABE (Acces Base Enumeration) et les permissions NTFS sur les dossiers contenus dans un partage.Vous n'aurez plus ainsi à vous poser de question ; Un seul lecteur mappé pour tout le monde.

    Exemple:

    Sur le serveur A vous créez un partage "echanges$" et activez la technologie ABE sur ce dossier. Dans le dossier echanges, accessible par tous les utilisateurs du domaine, vous créez un dossier facture en autorisant le groupe compta à accéder à ce dossier.

    Ensuite vous montez ce lecteur pour tout le monde. La compta verra le dossier facture dans le lecteur echanges et les autres ne verront aucun dossier mais auront le lecteur echanges mappé au cas où vous ajouteriez un dossier accessible à un autre service qui vous en ferait la demande.

    C'est pas très clair ce que je dis mais regarder du côté de ABE et vous comprendrez si cela correspond à votre besoin.

    Bonne soirée

     

     

     

    mardi 18 octobre 2011 19:30
  • mercredi 19 octobre 2011 14:28