Welcome to TechNet Blogs Sign in | Join | Help
Récupérer les objets supprimés dans ADLDS 2008 R2 avec Powershell

Bonjour,

Dans l’article du mois d’octobre, je vous ai montré comment activer la fonction ‘recycle bin’ dans 2008 R2 via Powershell. Aujourd’hui, nous allons passer à la pratique avec un objet supprimé dans ADLDS 2008 R2.

 

Suppose qu’on a supprimé accidentellement le compte utilisateur “user2” , et que l’on veut maintenant le récupérer. Pour cela on recherche les objets supprimés dans ADLDS avec cette commande :

 

-searchBase = précise l’endroit où on veut faire la recherche, ici c’est la partition applicative “DC=universe,DC=com”

-server = précisele serveur et  le port LDAP de l’instance ADLDS

-includeDeletedObjects = précise que l’on veut chercher également les objets supprimés, par défaut il ne cherche pas les objets supprimés

 

get-adobject -filter "*" -searchbase "dc=universe,dc=com" -server "machine:50000" -IncludeDeletedObjects | ft -A

 

Deleted DistinguishedName                                    Name                       ObjectClass       ObjectGUID

------- -----------------                                        ----                         -----------        ----------

           DC=universe,DC=com                                universe                   domainDNS       a40f08ac-f08a-49bf-ac85-2002aab16de4

True     CN=Deleted Objects,DC=universe,DC=com Deleted Objects         container           242ab687-fbd9-447b-9422-7a543510bee8

True     CN=user2\0ADEL:e898b0a0-19b3-4e3a-8765-d5e36aee4af5,CN=Deleted Objects,DC=universe,DC=com

                                                                          user2...                    user                  e898b0a0-19b3-4e3a-8765-d5e36aee4af5

           CN=LostAndFound,DC=universe,DC=com    LostAndFound          lostAndFound    177d7450-0d0b-404a-8348-6ef47b5b505d

           CN=NTDS Quotas,DC=universe,DC=com     NTDS Quotas            msDS-QuotaContainer 2e422e5e-481a-4a77-ad84-191b8646e268

           CN=Roles,DC=universe,DC=com                 Roles                       container           f3f2720a-1b5f-4f55-bb89-04ed8cbef976

           CN=Administrators,CN=Roles,DC=universe,DC=com

                                                                          Administrators          group                ed5b5462-270c-44d2-8db5-daf142633cdd

           CN=Users,CN=Roles,DC=universe,DC=com  Users                      group                 9aa91f9b-a64e-4f35-a40e-1b9051c5f232

           CN=Readers,CN=Roles,DC=universe,DC=com Readers                group                 bb67b0f3-10f9-41a0-9d5c-4e169a7f45eb

           OU=OU1,DC=universe,DC=com                  OU1                         organizationalUnit d7cbf694-6286-42b8-9a91-dca888e3a0e3

           CN=u1,OU=OU1,DC=universe,DC=com        u1                          user                   64b2247d-35ed-4d89-9123-0feb852f3f49

 

 

On va utiliser la commande “Restore-ADObject” suivante avec les options “-newName” pour définir le nom restauré, et “-targetPath” pour préciser où on veut le déposer.

 

restore-adobject -identity "CN=user2\0ADEL:e898b0a0-19b3-4e3a-8765-d5e36aee4af5,CN=Deleted Objects,DC=universe,DC=com" -newName "user2" -targetPath "OU=OU1,DC=universe,DC=com" -server "machine:50000"

 

Maintenant, on va vérifier si l’objet “user2” est bien restauré.

 

get-adobject -filter "*" -searchbase "dc=universe,dc=com" -server "machine:50000" -IncludeDeletedObjects | ft –A

 

Deleted DistinguishedName                                                     Name                     ObjectClass                        ObjectGUID

------- -----------------                                                         ----                       -----------                         ----------

            DC=universe,DC=com                                                universe                  domainDNS                       a40f08ac-f08a-49bf-ac85-2002aab16de4

True     CN=Deleted Objects,DC=universe,DC=com                   Deleted Objects       container                           242ab687-fbd9-447b-9422-7a543510bee8

           CN=LostAndFound,DC=universe,DC=com                      LostAndFound        lostAndFound                     177d7450-0d0b-404a-8348-6ef47b5b505d

           CN=NTDS Quotas,DC=universe,DC=com                       NTDS Quotas          msDS-QuotaContainer        2e422e5e-481a-4a77-ad84-191b8646e268

           CN=Roles,DC=universe,DC=com                                   Roles                     container                           f3f2720a-1b5f-4f55-bb89-04ed8cbef976

           CN=Administrators,CN=Roles,DC=universe,DC=com Administrators              group                                ed5b5462-270c-44d2-8db5-daf142633cdd

           CN=Users,CN=Roles,DC=universe,DC=com                    Users                     group                                9aa91f9b-a64e-4f35-a40e-1b9051c5f232

           CN=Readers,CN=Roles,DC=universe,DC=com                 Readers                 group                                bb67b0f3-10f9-41a0-9d5c-4e169a7f45eb

           OU=OU1,DC=universe,DC=com                                     OU1                      organizationalUnit                d7cbf694-6286-42b8-9a91-dca888e3a0e3

           CN=u1,OU=OU1,DC=universe,DC=com                          u1                         user                                  64b2247d-35ed-4d89-9123-0feb852f3f49

           CN=user2,OU=OU1,DC=universe,DC=com                     user2                     user                                   e898b0a0-19b3-4e3a-8765-d5e36aee4af5

by HuuDucLe | 0 Comments

Gestion des GPO avec PowerShell

Bonjour,

 

L’article suivant permet de créer des GPO sous 2008 et 2008 R2 avec PowerShell.

Pour faire cela, on appelle l’objet COM GPMgmt.GPM

$gpobj = New-Object -ComObject GPMgmt.GPM

Afin de s’assurer que l’objet COM est bien appelé, on affiche les détails de la variable $gpobj :

$gpobj | gm

 

image

Ces méthodes sont décrites dans ce lien :

http://msdn.microsoft.com/en-us/library/aa814177(VS.85).aspx

image

On appelle ensuite la méthode constants() et on précise le domaine dans lequel on va créer la GPO.

$gpmConstants = $gpobj.GetConstants()

clip_image002

HRESULT GetDomain(

[in] BSTR bstrDomain,

[in] BSTR bstrDomainController,

[in] long lDCFlags,

[out] IGPMDomain **plIGPMDomain);

clip_image004

Huble.com : domain name

UseAnyDC est le flag de l’argument.

 

Voir http://msdn.microsoft.com/en-us/library/aa814309(VS.85).aspx

IGPM::GetDomain Method

Creates and returns a GPMDomain object that corresponds to the specified domain.

clip_image002[4]

clip_image004[4]

$gpmDomain =$gpobj.GetDomain(“huble.com”, “”, $gpmConstants.UseAnyDC)

clip_image006

Maintenant, si on veut voir les méthodes de GetDomain(), on utilise gm (pour get-member):

$gpmDomain | gm

clip_image008

La méthode CreateGpo() permet de créer un GPO dans huble.com

$gpmNewGpo = $gpmDomain.CreateGPO()

 

On donne un nom à cette nouvelle GPO.

$gpmNewGpo.DisplayName = “This GPO is created by PowerShell"

clip_image010

$gpmNewGpo.Description = “This is a description of the GPO created by PowerShell"

Pour vérifier que c’est bien créé, on utilise la MMC “Group Policy Managementclip_image012

 

. Création d’un lien entre cette nouvelle GPO avec une OU existante, par exemple avec l’OU1 :

Pour cela, on va appeler les méthodes GetSOM() et CreateGPOLink() :

$som = $gpmdomain.GetSOM(“OU=OU1,DC=huble,dc=com”)

clip_image014

 

$som.CreateGPOLink(1,$gpmNewGPO)

clip_image016

 

Et enfin, utiliser GPMC pour vérifier la résultat de la création.

clip_image018

by HuuDucLe | 0 Comments

Comment voir quels membres appartenant a quels groupes de replication dans DFSR ?

 

Bonjour,

 

Avec DFSR, vous pouvez avoir plusieurs machines membres appartenant à un groupe de réplication DFSR, ou bien une machine membre peut appartenir à plusieurs groupes de réplication (RG) DFSR.

Pour pouvoir s’y repérer, vous avez la commande DFSRADMIN. Voici quelques exemples de commande dfsradmin :

 

Exemple 1 : voir les répertoires répliqués par DFSR comprenant la taille, les GUID des RG (replication group) et les GUID des RF (replication folder)

dfsradmin membership list /computer:huble\2008R2 /Attr:StagingPath,StagingSize,MembershipGuid,RgGuid,RfGuid

 

 

StagingPath StagingSize MembershipGuid RgGuid RfGuid
c:\temp\dfsrfolder\DfsrPrivate\Staging 4096 45cb94bc-2a3b-4c38-8f2e-3ccff8036bd0 0e67ce5c-935e-46de-8356-1c09d55fb376 2f9d6caf-192a-4007-ba14-d26d8621dc22
c:\temp\folderdfsr2\DfsrPrivate\Staging 4096 2a431d63-cebe-4a6c-9833-31cf7674b2ea 0e67ce5c-935e-46de-8356-1c09d55fb376 833e852a-64f4-432c-a0d4-d70a7cfbb2ee
C:\Windows\SYSVOL\staging areas\huble.com 4096 0232f4ad-acd6-4c0a-a52d-1fc21539b1e5 823c14ae-cf3a-46a2-a51f-33851fc4959f 44c08a67-51e4-4d98-a7cf-b562588be1a3

 

Exemple 2 : Pour voir les répertoires membres d’un groupe de réplication nommé ‘ReplicationGroup1’, voici la commande :

dfsradmin membership list /rgname:replicationgroup1

 

On peut voir que pour le répertoire ‘dfsrfolder2’, les membres qui participent à sa réplication sont 2008R2 et 2008R2-1

image 

 

Pour voir si les répertoires sont en Read-Only ou non dans DFSR

Exemple 3 : avec l’option RO comme attribut dans la commande DFSRADMIN

dfsradmin membership list /rgname:replicationgroup1 /Attr:MemName,RfName,IsPrimary,RO

 

On peut voir que les répertoires dfsrfolder et dfsrfolder2 sur 2008R2-1 sont en READ ONLY.

MemName RfName IsPrimary RO
2008R2 dfsrfolder No No
2008R2 folderdfsr2 No No
2008R2-1 dfsrfolder No -
2008R2-1 folderdfsr2 No -

by HuuDucLe | 0 Comments

Comment activer l’option “recycle bin” avec PowerShell dans 2008 R2

 

Comme vous le savez sans doute, l’option “recycle bin” de 2008 R2 permet de récupérer les objets supprimés de l’Active Directory, sans être obligé d’utiliser un jeu de sauvegarde.

Cet article va vous donner les détails pour activer cette fonctionnalité via PowerShell.

 

Tout d’abord on importe le nouveau module disponible dans PowerShell de 2008 R2. avec la commande suivante :

import-module activedirectory

Vérifier si le module en question est bien importé avec : get-module

clip_image002

 

Vérifier si le feature de l’AD est actif avec : get-ADOptionFeature –filter {name –like “*”}

clip_image004

 

Maintenant on active le “recycle bin” avec la commande :

enable-ADOptionFeature “recycle bin feature” –scope forest -target “huble.com”

clip_image006

 

Choisir Y pour confirmer l’activation du “recycle bin”.

clip_image008

 

Vérifier s’il y a des objets supprimés qui sont présents dans la corbeille (recycle bin) :

get-ADObject –searchBase “CN=deleted objects,dc=huble,dc=com” –ldapfilter “(objectclass=*)” –IncludeDeletedObjects

clip_image010

 

Utiliser l’outil DSA.msc pour supprimer un objet, dans cet exemple on va supprimer le groupe “AZS” pour tenter de la récupérer :

Vérifier ensuite si le groupe AZS est désormais dans la corbeille avec la commande suivante :

get-ADObject –searchBase “CN=deleted objects,dc=huble,dc=com” –ldapfilter “(objectclass=*)” –IncludeDeletedObjects

clip_image012

 

On utilise ensuite cette commande pour voir les détails du groupe AZS, avec l’option FORMAT-LIST :

get-ADObject –searchBase “CN=deleted objects,dc=huble,dc=com” –ldapfilter “(objectclass=*)” –IncludeDeletedObjects | format-list

l’option –searchbase précise l’endroit où l’on va faire des recherches

l’option –IncludeDeletedObjects précise que la recherche comprend les objets supprimés, sinon la recherche ne va pas inclure les objets supprimés

Dans l’écran suivant, on voit que l’objet supprimé est dans “CN=Deleted Objects”

Le CN de l’objet AZS comprend la chaine de caractères 0ADEL signifiant que l’objet est virtuellement supprimé de l’AD.

clip_image014

 

Maintenant, on va restaurer l’objet AZS qu’on a supprimé avec PowerShell

restore-ADobject –identity GUID_of_Object

Vérifier que AZS est bien restauré avec la commande ci-dessous

clip_image016

by HuuDucLe | 0 Comments

Les nouveautés Kerberos dans Windows 2008 R2 et Windows 7

Bonjour, Windows 2008 R2 et Windows 7 sont sorties avec des nouveautés, notamment au niveau du fonctionnement du protocole Kerberos.

Parmi ces nouveautés, il y a la nouvelle GPO Kerberos “Use Forest Search Order”, cette GPO permet de définir une liste des forêts ayant les trusts avec celle-ci, elle permet au service KDC d’envoyer des requêtes dans l’ordre des forêts définies dans cette liste, afin de trouver le SPN en contactant les Global Catalog. Si la recherche est positive, alors un ticket Referral lui est retourné.

Si cette GPO n’est pas utilisée, alors le KDC ne va pas chercher les forêts listées pour résoudre le SPN, si la recherche du SPN échoue, alors NTLM sera utilisé.

Voici les captures d’écran des GPO Kerberos 2008 R2.

image

image

Quand la GPO est appliquée, les clefs de registre ForestSearchList et UseForestSearch sont créées.

image

image

Client Kerberos GPO.

image

En plus de cette GO, une nouvelle GPO Kerberos permet de faire le mappage de nom avec d’autres Realm kerberos.

image

La GPO ci-dessous permet d’utiliser l’algorithme d’encryption AES dès la requête AS (authentication service)

image

image

 

 

Restreindre l’utilisation du protocole NTLM.

 

A partir de 2008 R2 et Windows 7, vous avez la possibilité de restreindre l’utilsation du protocole NTLM, ceci peut se faire via des GPO qui sont décrites ci-dessous dans :

Computer Configuration --> Windows Settings --> Security Settings --> Local Policies --> Security Options

Network security: Restrict NTLM: Add remote server exceptions for NTLM authentication

Network security: Restrict NTLM: Add server exceptions in this domain

Network security: Restrict NTLM: Audit Incoming NTLM Traffic

Network security: Restrict NTLM: Audit NTLM authentication in this domain

Network security: Restrict NTLM: Incoming NTLM traffic

Network security: Restrict NTLM: NTLM authentication in this domain

Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers

image

 

Lê Huu Duc

by HuuDucLe | 0 Comments

Comment exporter les objets AD dans ADLDS se trouvant dans un DMZ.

Si pour des raisons de sécurité, vous ne voulez pas avoir de communication entre un AD et un ADLDS, mais vous voulez néanmoins exporter des objets de l’AD vers ADLDS, il existe un moyen qui est l’outil LDIFDE.

 

A partir de l’article technique suivant, vous pouvez faire cet export :

http://support.microsoft.com/kb/237677

 

Exemple:

Je veux exporter les OU de l'AD dans un fichier .LDF et les importer dans ADLDS.

Mon AD a l'architecture suivante :

clip_image002

Mon ADAM a l'architecture suivante :

clip_image004

. J'utilise la commande suivante pour exporter les OU de mon AD dans le fichier expAD.ldf

ldifde -f expAD.ldf -d "dc=lhorn,dc=com" -p subtree -r "(objectCategory=organizationalUnit)" -l "cn,objectclass,ou"

. Voici le fichier expAD.ldf

dn: OU=Domain Controllers,DC=lhorn,DC=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: Domain Controllers

dn: OU=OU1,DC=lhorn,DC=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: OU1

dn: OU=OU2,DC=lhorn,DC=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: OU2

dn: OU=OU21,OU=OU2,DC=lhorn,DC=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: OU21

. J'ouvre le fichier expAD.LDF et j'utilise l'option "replace all" pour remplacer  DC=lhorn,DC=com par O=milkyway,C=com

. Voici le résultat du remplacement, que je vais sauvegarder dans le fichier impADAM.ldf

dn: OU=Domain Controllers,o=milkyway,c=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: Domain Controllers

dn: OU=OU1,o=milkyway,c=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: OU1

dn: OU=OU2,o=milkyway,c=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: OU2

dn: OU=OU21,OU=OU2,o=milkyway,c=com

changetype: add

objectClass: top

objectClass: organizationalUnit

ou: OU21

. J'exécute la commande suivante pour importer dans ADLDS

ldifde -i -f impADAM.ldf -s localhost:50000

Connecting to "localhost:50000"

Logging in as current user using SSPI

Importing directory from file "impADAM.ldf"

Loading entries.....

4 entries modified successfully.

The command has completed successfully

. Voici le résultat de l'export dans ADAM

clip_image006

. Comme vous pouvez le voir, les OU "Domain Controllers", OU1, OU2 et OU21 ont bien été importés dans ADLDS.

by HuuDucLe | 1 Comments

Comment monitorer les fichiers repliques par DFSR provenant des partenaires

Bonjour,

 

A partir de 2008 R2, il existe un moyen de voir les fichiers répliqués par DFSR du point de vue du ‘receiver’. En effet, il est toujours intéressant de voir en temps réel les fichiers arrivés des partenaires de réplication.

 

Pour cela vous avez la commande suivante qui permet de faire le monitoring :

dfsrdiag replstate /a

 

Cette commande donne les informations suivantes :

 

Active inbound connection: 1

  Connection GUID: 981194B2-CF54-4749-A40B-8C58B49D7F28

Sending member: 2008R2

  Number of updates: 12

  Updates being processed:

      [1] Update name: edbres00002 - Copy.jrs          (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v116

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v116

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [2] Update name: edbres00002 (2).jrs             (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v113

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v113

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [3] Update name: edbres00002 (3) - Copy - Copy.jrs(Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v112

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v112

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [4] Update name: edbres00002.jrs                 (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v107

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v107

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [5] Update name: edbres00002 (5) - Copy.jrs      (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v108

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v108

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [6] Update name: edbres00002 (2) - Copy - Copy.jrs(Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v115

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v115

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [7] Update name: edbres00002 (2) - Copy.jrs      (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v114

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v114

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [8] Update name: edbres00002 (3) - Copy.jrs      (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v111

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v111

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [9] Update name: edbres00002 - Copy - Copy.jrs   (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v106

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v106

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [10] Update name: edbres00002 (4) - Copy.jrs      (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v109

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v109

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [11] Update name: edbres00002 (3).jrs             (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v110

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v110

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

      [12] Update name: edbres00002 - Copy (2).jrs      (Downloading)

        UID                 : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v117

        GVSN                : {596F2556-EAC8-4C8C-9BE8-7824298669FA}-v117

        Parent UID          : {833E852A-64F4-432C-A0D4-D70A7CFBB2EE}-v1

        Replicated folder   : 833E852A-64F4-432C-A0D4-D70A7CFBB2EE

  Total number of inbound updates being processed: 12

  Total number of inbound updates scheduled: 0

Summary

  Active inbound connections: 1

  Updates received: 12

  Active outbound connections: 0

  Updates sent out: 0

Operation Succeeded

 

Avec la commande ci-dessous, on peut convertir le GUID de ‘Replicated Folder’ pour obtenir le nom du répertoire :

dfsradmin rf list /rgname:replicationgroup1 /attr:rfname,rfguid

RfName                RfGuid

dfsrfolder          2f9d6caf-192a-4007-ba14-d26d8621dc22

folderdfsr2           833e852a-64f4-432c-a0d4-d70a7cfbb2ee

folderdfsr3         f577b71c-a773-4cb8-a42d-6d757250c941

 

Si on veut voir les fichiers restants à répliquer aux partenaires du point de vue du ‘sender’, alors c’est avec l’option BACKLOG :

 

dfsrdiag backlog /SendingMember:2008R2 /ReceivingMember:2008R2-1 /rgname:replicationGroup1 /rfname:dfsrfolder

clip_image002

by HuuDucLe | 0 Comments

DFS-R et les filtres

Bonjour,

 

Aujourd’hui, je vais vous parler des filtres qui sont prédéfinis dans DFS-R, ces filtres contiennent une liste de suffix de fichiers (ou extensions) qui empêche DFS-R de répliquer ces types de fichiers car très souvent ils ne sont pas utiles à être répliqués.

Les raisons pour lesquelles ces fichiers ne sont pas répliqués sont nombreuses :

- parce que ce sont des fichiers temporaires (comme les fichiers .tmp)

- parce que ce sont des fichiers créés par des applications qui ont pour but de faire des sauvegardes temporaires des travaux en cours (les fichiers commençant par ~ par exemple)

- parce que ce sont des fichiers d’une version précédente (.bak par exemple)

 

Afin d’optimiser la réplication faite par DFS-R, une liste a été faite et qui est utilisée par le filtre DFS-R afin de ne pas répliquer ces fichiers inutilement.

 

Néanmoins, il se trouve qu’il existe des applications qui créent des fichiers dont les extensions sont comprises dans la liste et qui ont besoin que ces fichiers soient répliqués afin de pouvoir fonctionner correctement.

 

Pour cela, vous avez 2 possibilités pour résoudre ce problème :

1) Modifier l’application en question afin que les fichiers créés par celle-ci n’aient pas une extension qui est comprise dans la liste des fichiers fitrés.

2) Ou bien, changer le filtre de DFS-R afin de permettre aux fichiers ayant cette extension de pouvoir être répliqués.

 

Pour changer le filtre par défaut proposé dans DFS-R, veuillez suivre les étapes décrites dans les articles suivantes :

- Aller dans ReplicationGroup.
- Cliquer sur votre groupe de  replication.
- Aller sur l’onglet Replicated Folder .
- Cliquer sur le répertoire répliqué et il y a une page sur les propriétés.

 

image

 

image

 

Dans le champ “File Filter”, vous pouvez changer les filtres par défaut.

Dans le champ “Subfolder filter”, vous pouvez filtrer les sous-répertoires pour qu’ils ne soient pas répliqués.

 

- File and subfolder filters

http://technet.microsoft.com/en-us/library/cc757726(WS.10).aspx

by HuuDucLe | 0 Comments

Des nouveautes dans DFSR de Windows Server 2008 R2

Bonjour,

 

Aujourd’hui, je vais vous parler des nouveautés de DFSR 2008 R2.

 

. La première nouveauté est le répertoire de réplication en mode lecture seule (read only) dans DFSR 2008 R2.

Pour faire cela, utilisez l'interface dfsmgmt.msc pour créer des répertoires à répliquer en lecture seule. Lorsqu’une création en lecture seule est créée et répliquée par DFSR, vous ne pouvez ni déposer ni modifier directement le contenu de ce répertoire.

 

Voici une procédure de création de ce type de répertoire :

Dans dfsmgmt.msc, choisissez le ‘primary member’

clip_image002  clip_image004

Ensuite choisissez un répertoire à répliquer, sinon créez en un.

clip_image006  clip_image008

Laissez les permissions NTFS par défaut.

Choisissez un membre qui va recevoir le répertoire à répliquer par DFSR en lecture seule, puis choisissez un répertoire existant, sinon créez un.

clip_image010   clip_image012

Choisissez l’option 'Make the selected replicated folder on this member read-only'.

 

clip_image014

 

Assurez-vous que dans 'Membership Status' vous avez le status 'Enabled (read-only)'.

clip_image016  clip_image018

Si tout est OK dans la fenêtre “review settings”, alors terminez la procédure de création.

Dans l’onglet Memberships , vérifiez si le répertoire en lecture seule est affiché correctement comme ci-dessous.

 

clip_image020

Maintenant pour tester le répertoire en lecture seule, allez dans le répertoire dfsrfolder3-2008R2-1 de 2008R2-1 et tentez de créer un fichier.

clip_image022  clip_image024

La création va échouer avec le message d’erreur ci-dessus.

 

Allez ensuite dans le répertoire FolderDfsr3 de la machine 2008R2, essayez de créer un fichier. La création se déroule bien et on voit le fichier créé se répliquer sur le serveur 2008R2-1

 

clip_image026

 

clip_image028

Dans dfsrxxxx.log se trouvant de la répertoire windows\debug, on peut voir les informations suivantes durant la création.

 

20090608 17:23:32.936 1668 LDBX 4104 Ldb::Insert Inserting contentSetRecord:

+ contentSetId: {F577B71C-A773-4CB8-A42D-6D757250C941}

+ memberId: {E630A3A4-CC13-4131-8B9A-3E9BBF479E94}

+ state: InitialBuilding

+ startVersion: 0xv14

+ authRebuilding: 0

+ stageVolumeSerialNumber: 0x0

+ stageFid: 0x0

+ birthUsn: 0x1006370

+ isTombstone: 0

+ readOnlySince: 20090608 15:23:32.936

+ beingDeleted: 0

+ dbLossRecover: 0

+

20090608 17:23:32.999 1668 STAG 2594 Staging::ScanStagingDirectory Staging space usage is: 0

20090608 17:23:32.999 1668 STAG 6300 StagingManager::RegisterContentSetsOnPath {F577B71C-A773-4CB8-A42D-6D757250C941} added to the replicated folder list.

20090608 17:23:33.014 1668 LDBX 4139 Ldb::Update Updating contentSetRecord:

+ contentSetId: {F577B71C-A773-4CB8-A42D-6D757250C941}

+ memberId: {E630A3A4-CC13-4131-8B9A-3E9BBF479E94}

+ state: InitialBuilding

+ startVersion: 0xv14

+ authRebuilding: 0

+ stageVolumeSerialNumber: 0x44bb8a13

+ stageFid: 0x9000000004C09

+ birthUsn: 0x1006370

+ isTombstone: 0

+ readOnlySince: 20090608 15:23:32.936

+ beingDeleted: 0

+ dbLossRecover: 0

+

20090608 17:23:33.030 1668 CSMG 6914 ContentSetManager::Initialize Walk replica set to initialize or fix up database. csId:{F577B71C-A773-4CB8-A42D-6D757250C941} csName:folderdfsr3

20090608 17:23:33.030 1668 DIRW 576 DirWalkerTask::QueueMoveinJob Queuing move-in. uid:{F577B71C-A773-4CB8-A42D-6D757250C941}-v1 fid:0x2E000000004B85 name:dfsrfolder3-2008R2-1

20090608 17:23:33.030 1672 DIRW 316 DirWalkerTask::Run Start walking directory.

20090608 17:23:33.030 1672 DIRW 1024 DirWalkerTask::MoveinStep Starting to process move-in job. uid:{F577B71C-A773-4CB8-A42D-6D757250C941}-v1

20090608 17:23:33.030 1672 DIRW 101 DirWalkerTask::Job::Finish MoveIn csId:{F577B71C-A773-4CB8-A42D-6D757250C941} uid:{F577B71C-A773-4CB8-A42D-6D757250C941}-v1

20090608 17:23:33.030 1672 DIRW 872 DirWalkerTask::RemoveJob Removing job type:1 uid:{F577B71C-A773-4CB8-A42D-6D757250C941}-v1

20090608 17:23:33.030 1672 LDBX 4472 Ldb::DeleteWalkerJob Deleting dirWalkerJob. uid:{F577B71C-A773-4CB8-A42D-6D757250C941}-v1

20090608 17:23:33.046 1672 EVNT 1185 EventLog::Report Logging eventId:4102 parameterCount:6

20090608 17:23:33.046 1672 EVNT 1205 EventLog::Report eventId:4102 parameter1:F577B71C-A773-4CB8-A42D-6D757250C941

20090608 17:23:33.046 1672 EVNT 1205 EventLog::Report eventId:4102 parameter2:C:\temp\dfsrfolder3-2008R2-1

20090608 17:23:33.046 1672 EVNT 1205 EventLog::Report eventId:4102 parameter3:folderdfsr3

20090608 17:23:33.046 1672 EVNT 1205 EventLog::Report eventId:4102 parameter4:ReplicationGroup1

20090608 17:23:33.046 1672 EVNT 1205 EventLog::Report eventId:4102 parameter5:0E67CE5C-935E-46DE-8356-1C09D55FB376

20090608 17:23:33.046 1672 EVNT 1205 EventLog::Report eventId:4102 parameter6:E630A3A4-CC13-4131-8B9A-3E9BBF479E94

20090608 17:23:33.046 1672 CSMG 4517 ContentSetManager::SetContentSetState Set content set state. csId:{F577B71C-A773-4CB8-A42D-6D757250C941} newState:InitialSync(Sync) (auth:0)

20090608 17:23:33.046 1672 LDBX 4139 Ldb::Update Updating contentSetRecord:

+ contentSetId: {F577B71C-A773-4CB8-A42D-6D757250C941}

+ memberId: {E630A3A4-CC13-4131-8B9A-3E9BBF479E94}

+ state: InitialSync(Sync)

+ startVersion: 0xv14

+ authRebuilding: 0

+ stageVolumeSerialNumber: 0x44bb8a13

+ stageFid: 0x9000000004C09

+ birthUsn: 0x1006370

+ isTombstone: 0

+ readOnlySince: 20090608 15:23:32.936

+ beingDeleted: 0

+ dbLossRecover: 0

+

L’événement 4102 décrit dans DFSRxxxx.log est aussi loggé dans le journal d’événements DFSR.

clip_image030

Après cela, vous avez l’événement 4104 prouvant que la configuration s’est bien déroulée.

clip_image032

 

. La deuxième nouveauté est que la commande DFSRDIAG possède une nouvelle option qui est ‘replicationState’

Pour plus d’information, tapez la commande :

dfsrdiag replicationState /?

 

Huu-Duc

by HuuDucLe | 0 Comments

Document de migration SYSVOL vers DFS-R

Bonjour,

 

Je vous informe que le docuement "Migrating SYSVOL to DFS Replication" est désormais disponible.

Vous pouvez le télécharger à partir de ce lien :

http://www.microsoft.com/downloads/details.aspx?FamilyID=DF8E5E84-C6C6-4CEF-9DAB-304C92299804&displaylang=en

 

Huu-Duc LÊ

by HuuDucLe | 0 Comments

Analyse des logs DFS-R de 2008R2.

Bonjour,

 

Aujourd'hui, je vais vous parler de DFS-R de 2008R2. Cet article consiste à faire une première analyse du contenu des logs DFSR se trouvant dans le répertoire %windir%\debug

Chaque fois que DFS-R démarre et fait de la synchronisation des répertoires, il met des informations dans les fichiers DFSRxxxx.log

 

Il y a deux outils qui sont utils pour diagnostiquer DFS-R : DRSDIAG et DFSRADMIN.

 

L'exemple ci-dessous montre un scénario de création d'un répertoire sur un partenaire DFS-R, et on veut savoir qui l'a créé et répliqué.

 

Dans DFSRxxxx.log, repérer la ligne de création du répertoire TestFolder, cette création provient de la réplication DFS-R et on veut savoir qui est à l'origine de la création du répertoire TestFolder.

 

clip_image002

Dans la ligne contenant "file:TestFolder", on peut voir le paramètre connID contenant un GUID, c'est le GUID de connexion avec un partenaire.

Mais auparavant, affichons les connexions DFS-R avec leur GUID associé avec la commande DFSADMIN.

 

dfsradmin conn list /rgname:replication_group_name / attr:sendmem,recvmem,connguid

Remplacer replication_group_name par le nom du group de réplication, ceci peut être vu dans la mmc DFSMGMT.msc

 

exemple :

clip_image002[5]

Comme on peut le voir ci-dessus, le GUID {9811 ...... 7F28} est vu dans le résultat de la commande dfsradmin, ce GUID correspond à la connexion entre les serveur 2008R2 (l'originateur) et 2008R2-1 (le destinataire).

On peut donc conclure que le répertoire TestFolder a été créé sur 2008R2 et est répliqué vers 2008R2-1 via DFS-R.

by HuuDucLe | 0 Comments

Les attributs confidentiels qu'on ne veut pas mettre sur les RODC (read only DC)

Les RODC sont les DC 2008 en mode lecture seule, ils sont destinés à déployer dans un site et ne nécessite pas forcément une administration quotidienne.

Il se peut que certains attributs de l'AD que l'on juge 'confidentiels' qu'on ne veut pas forcément qu'ils se trouvent sur les RODC. Pour cela, on peut les empêcher de se propager des RWDC vers les RODC en utilisant la notion de FAS (Filtered Attribute Set).

 

Un attribut marqué comme "confidentiel" ne peut pas être propagé des RWDC vers les RODC.

Pour cela, on met la valeur 0x080 (128) au 7 ème bit de l'attribut SearchFlag.

 

L'avantage de marquer les attributs en confidentiels est qu'en cas de perte ou de vol du RODC, ces attributs ne sont pas présents sur le RODC.

 

Les attributs suivants sont par défaut dans la liste des attributs FAS (filtered attribute set).

 

ms-PKI-DPAPIMasterKeys

ms-PkI-AccountCredentials

ms-PKI-RoamingTimeStamp

ms-FVE-KeyPackage

ms-FVE-RecoveryInformation

ms-FVE-RecoveryPassword

ms-FVE-VolumeGuid

ms-TPM-OwnerInformation

 

Voici un exemple de la valeur de l'attribut SearchFlags de ms-PKI-AccoundCredentials

 image

Ceci correspond à la valeur 640 (en décimal)

 image

 

Pour plus d'information, veuillez voir le lien suivant :

 

Adding Attributes to the RODC Filtered Attribute Set

http://technet.microsoft.com/en-us/library/cc754794.aspx

by HuuDucLe | 0 Comments

Comment creer des comptes et des groupes avec PowerShell

Bonjour,

 

Voici un script très simple qui vous permet de créer des comptes utilisateurs et des groupes avec PowerShell.

 

. Le scénario est le suivant :

Un fichier contenant les utilisateurs Names.txt

Un fichier contenant les groupes Groups.txt

Le script powershell CreateGroup.ps1 crée des groupes dans OU1

Le script powershell CreateUserFromList.ps1 crée des utilisateur dans OU1

Le script AddMemberInGroup.ps1 permet d'ajouter les users dans des groupes.

 

 

Dans names.txt

account1

Julia

John

Roxanna

Kim

Huu-Duc

 

Dans groups.txt

group1

group2

group3

group4

group5

 

Script CreateUserFromList.ps1

$InputUsers = Get-Content .\names.txt
$GroupsOU = [ADSI] 'LDAP://localhost:389/OU=OU1,DC=lhorn,DC=com'
Foreach ($Line in $InputUsers)
{
    $User = $GroupsOU.create('User','CN=' + $Line)
    $User.SetInfo()
    $User.Put('DisplayName', $Line)
    $User.SetInfo()
}

 

Script powershell CreateGroup.ps1

$InputGroups = Get-Content .\groups.txt

$GroupsOU = [ADSI] 'LDAP://localhost:389/OU=OU1,DC=lhorn,DC=com'

Foreach ($Line in $InputGroups)

{

$User = $GroupsOU.Create('Group','CN=' + $Line)

$User.SetInfo()

$User.Put('displayname', $Line)

$User.SetInfo()

}

 

Contenu de AddMemberInGroup.ps1

$InputUser = Get-Content .\names.txt

$objContainer = [ADSI] "LDAP//localhost:389/OU=OU1,DC=lhorn,DC=com"

Foreach ($Line in $InputUser)

{

$group = [ADSI]'LDAP://localhost:389/CN=group1,OU=OU1,DC=lhorn,DC=com'

$group.Member.Add('CN=' + $Line + ',OU=OU1,DC=lhorn,DC=com')

$group.SetInfo()

}

 

Exécution des scripts

PS C:\temp> .\createUserFromList.ps1

clip_image002

PS C:\temp> .\CreateGroup.ps1

clip_image004

PS C:\temp> .\AddMemberInGroup.ps1

0

1

2

3

4

5

 

On peut voir que dans Group1, on a des comptes utilisateurs en question.

clip_image006

by HuuDucLe | 0 Comments

Recommandations pour installer les RODC (Read Only DC)

Il n'est pas conseillé d'installer les RODC sur le même site que les DC normaux. En effet, si le RODC se trouve dans le même site que les RWDC (read write DC), et si le RODC est compromis alors les RWDC du même site risquent d'être compromis parce que le RODC utilise un compte krbtgt (qui est différent de celui d'un RWDC), qui est utilisé pour encrypter ou signer les TGT, si le RWDC se trouve dans le même site que le RODC, alors le krbtgt peut être utilisé pour encrypter de décrypter les TGT permettant d'accéder au RWDC du même site que lui.

Le fait d'avoir des RODC sur des site isolés, ceci fournit une méthode d'isolation de la cryptographie entre les KDC qui tournent sur les RODC des différents sites.

D'où la recommandation de mettre les RODC dans des sites où il n'y a pas de RWDC.

 

. Que ce passe t-il quand la liaison entre le site avec le RODC et le site contenant les RWDC est rompue ?

Si les credentials des utilisateurs ne sont pas mis en cache sur les RODC, alors les utilisateurs du même site que le RODC ne peuvent pas être authentifiés.

En effet, si les credentials ne sont pas dans le cache du RODC, à chaque requête d'authentification, le RODC transferre la requête au RWDC.

Même problème lors des demandes de changement de mot de passe ou de déverrouillage de compte, le RODC doit contacter le RWDC pour ces opérations.

by HuuDucLe | 0 Comments

Comment investiguer sur les problemes CLM ?

CLM (Certificate Lifecycle Management) est un module du produit ILM (Identity Lifecycle Management).

CLM a pour objectif de gérer les certificats d'une entreprise. Si vous rencontrez des problèmes d'installation ou de performance en utilisant CLM (exemple : problème de lenteur lors de l'affichage des informations d'un compte dans CLM), veuillez vous référer au lien suivant pour faire des opérations de troubleshooting de CLM :

 

Troubleshooting CLM 2007

http://technet.microsoft.com/en-us/library/cc720663.aspx

 

Sur ce lien, vous allez trouver des sections pour chaque type de problème dans CLM :

Introduction to Troubleshooting CLM 2007
A-Z List of Problem Topics for CLM 2007
Things to Check Before Troubleshooting CLM 2007
Quick Fixes for CLM 2007
Troubleshooting CLM 2007 Problems
Troubleshooting CLM 2007 Performance Problems
Troubleshooting CLM 2007 Security Problems
Troubleshooting CLM 2007 Using Advanced Techniques and Tools
Troubleshooting CLM 2007 Language and Localization Issues
Additional Resources

 

Dans ce lien, le fichier web.config est mentionné, il s'agit di fichier web.conf se trouvant dans le répertoire c:\Program Files\Microsoft Certificate Lifecycle Manager\web

 

clip_image002

 

Voici un aperçu du fichier web.config.

 

image

by HuuDucLe | 0 Comments

More Posts Next page »
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement  
Page view tracker