Blog de Augusto Simoes (MVP)

Sharepoint, OCS, Windows Server ...

Augusto Simoes

Consultant Infrastructure & Trainer

Ma mission est de concevoir les architectures de messageries unifiés et collaboratives afin d'accompagner nos clients vers ces nouvelles technologies.

  • Microsoft Certified Trainer
  • Microsoft Certified Systems Engineer
  • Microsoft Certified Technology Specialist :SharePoint, WSS, OCS 2007, Vista, Windows 2008
  • Microsoft Certified Database Administrator SQL 2000, 2005


MVP Logo


MyTag

Mon Profile Chez Microsoft



 

 

RecentComments

Comment RSS

[PowerShell] Active Directory 2008 R2 et PowerShell V2 – Activation de la fonctionnalité de Corbeille

L’intégration de la version 2 de PowerShell dans Windows 2008 Server R2, qui grâce aux cmdlets PowerShell permet l’accès à l’annuaire de Windows 2008 R2, vous allez pouvoir manipuler les objets. La version 2 apporte également une version GUI de PowerShell, ISE (Integrated Scripting Environment), qui vous permet lancer du débug, de mettre des points d’arrêt sur vos scripts PowerShell, les sauvegarder….

PowerShell Integrated Scripting Environment ISE

Certes vous pourriez utiliser des outils plus conventionnel, comme les outils en ligne de commande (dsadd, dsmod, dsrm, etc.), csvde, ldifde ou bien encore un environnement du type WSH (Windows Scripting Host), mais personnellement je trouve que PowerShell apporte un côté bien plus FUN à la chose.

Par exemple, quel administrateur ne s’est jamais morfondu d’ avoir à restaurer un objet qui aurait été supprimé par inadvertance…

Aie Aie!!!! Comment restaurer un objet AD ??? C’est toujours la question piège. smile_sad fingerscrossed smile_sad

Alors, là, il faut soit utiliser des outils tiers permettant de faire l’opération le plus simplement possible, du genre:

Thumbnail via WebSnapr: http://www.questsoftware.fr/landing/?id=1471&gclid=CLLWkL2wmpkCFYKB3godaQSUCw

Soit utiliser un SNAPSHOT, comme je l’avais écris dans un précédent POST, pour visualiser le contenu à un instant T, cela implique d’avoir une sauvegarde sous la main, soit utiliser la méthode Microsoft avec NTDSUTIL

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

Tout en sachant que lorsque vous supprimez un objet de type utilisateur, par exemple, vous perdez des informations comme l’appartenance aux groupes ( smile_secret) et plusieurs autres attributs.

Il est possible de spécifier des attributs complémentaires à conserver lors de la suppression d’un objet via ADSIEDIT et l’attribut ‘SearchFlags’ de l’attribut Active Directory que vous souhaitez conserver.

Exemple pour l’attribut ‘DRINK’:

SearchFlags

 

Dans Windows 2008 R2, Microsoft met à disposition de nouvelle fonctionnalité lié à active directory et notamment la fonctionnalité de corbeille (Recycle Bin). Cette fonctionnalité vous permettra de minimiser les temps d’arrêt de vos système pour devoir restaurer un objet supprimé par erreur.

En fait, lorsque cette fonctionnalité est activé, les liens (Link-Valued) sont conservé avec l’objet et peuvent ainsi être restauré dans le même état de cohérence qu’au moment de sa suppression. Cette fonctionnalité est disponible pour ADDS (Active Directory Domain Services)  et ADLDS (Active Directory Lightweight Directory Services).

Par défaut celle-ci n’est pas active, il faudra donc penser à l’activer après l’installation de ADDS ou ADLDS. Cette fonctionnalité requière le niveau fonctionnel de foret ‘Windows 2008 R2’ et tous les DC de la foret fonctionnent sous Windows 2008 R2.

  • Activation de la fonctionnalité de Recycle Bin

Il existe deux possibilités pour l’activation de cette fonctionnalité:

  •  
    • PowerShell
    • Ldp.exe

J’utiliserai PowerShell dans ce post. Vous pouvez visualisez la feature via LDP.

LDP

lancer la console PowerShell Active Directory

Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, DC=MyDomainR2,DC=loc’ –Scope Forest –Target ‘MyDomainR2.loc’

PowerShell Activate Feature recycle Bin AD

Notez le message d’avertissement!!! L’activation de cette fonctionnalité est irréversible….

Pour tester la fonctionnalité, créez une structure de test avec une OU (Organizational Unit), un compte Utilisateur de test et un groupe de sécurité de test dont l’utilisateur sera membre.

Arborescence Test

 

/// Creation de l'ou OU_TEST

 

New-ADOrganizationalUnit -Name 'OU_TEST'

 

-Path 'dc=MydomainR2,dc=loc'

 

 

/// Creation de l'OU OU_USERS

 

New-ADOrganizationalUnit -Name 'OU_USERS'

 

-Path 'ou=OU_TEST,dc=MyDomainR2,dc=loc'

 

 

/// Creation de l'OU OU_Groupe

 

New-ADOrganizationalUnit -Name 'OU_Groupe'

 

-Path 'ou=OU_TEST,dc=MyDomainR2,dc=loc'

 

 

/// Creation de l'objet Utilisateur U_TEST dans l'OU OU_USERS

 

New-ADUser -samaccountname U_Test -Name "User Test"

 

-Path 'OU=OU_Users,OU=OU_TEST,dc=MyDomainR2,dc=loc'

 

 

/// Creation du groupe G_TEST dans l'OU OU_Groupe

 

New-ADGroup -samaccountname 'G_TEST' -DisplayName "G_TEST"

 

-Path 'OU=OU_Groupe,OU=OU_TEST,dc=MyDomainR2,dc=loc'-GroupScope Global

 

 

/// Ajout de l'objet Utilisateur dans le groupe

 

Add-ADGroupmember -Identity G_TEST -Members U_TEST

Voici le résultat:

OU

Supprimez l’objet Utilisateur que vous avez créé précédemment. Aie!! Maintenant il va falloir récupérer l’objet…. En plus, pour restaurer l’objet faut-il encore arriver à le retrouver… Ou la ça se complique mon bon monsieur…

Pour retrouver lister le contenu du container ‘Deleted Objects’ de votre domaine via l’outil LDP ou encore utiliser PowerShell.

Get-ADObject -Searchbase "cn=Deleted Objects,dc=MyDomainR2,dc=loc" -Filter 'ObjectClass -eq "User"' -IncludeDeletedObjects

Get-adobject

Cerise sur le gâteau!!!! le nouveau cmdlet Out-GridView qui permet de lancer la sortie de votre ligne de commande dans une table interactive dans laquelle vous allez pouvoir faire des recherches, des filtres…. Pour l’utiliser faite un pipe sur la commande précédente avec Out-GridView (alias ogv) - (Merci Christopher…). Voici le résultat :

Out-GridView

Maintenant que nous avons retrouvé l’objet, récupérons le et vérifions que l’appartenance aux groupes est bien conservé.

Restore-AdObject -Identity <ObjectGUID de votre User>

Memberof

L’appartenance aux groupes a bien été récupéré grâce à la fonctionnalité de corbeille de Windows 2008 R2.

Comments

david said:

est-ce normal qu'il ne soit pas sur MSDN? je ne vois que la beta 2 avec mon abonnement BizSpark ?

# March 11 2009, 15:44

Augusto said:

C'est normal, la version final n'est pas encore disponible, c'est la version beta 2 pour le moment. Je t'invite à suivre le roadmap des produits directement chez Microsoft:
www.microsoft.com/.../roadmap.aspx

Mea Culpa, c'est une erreur de ma part j'aurais pu préciser cette information dans mon post.

Merci David de m'obliger à fournir cette information essentielle.
Cordialement.

# March 11 2009, 18:10

Add comment




biuquote
  • Comment
  • Preview
Loading

captcha

*