Archives de la catégorie ‘Active Directory’

 

Dans le cadre d’un audit Active Directory, vous pouvez être amené à lister les comptes Utilisateurs et/ou Ordinateurs AD inactifs, le terme « Inactif » ici, faire référence à l’absence d’activité du compte User ou Computer : pas d’authentification sur le réseau depuis XXX temps.

En dehors des audits AD, lister régulièrement les objets AD (User & Computer) inactifs est une opération (Monthly Operation) que je recommande à tous mes clients, une Task importante à ajouter dans la ToDolist des Admins /Ings Systèmes MS.

Le but étant d’optimiser votre annuaire AD en faisant un CleanUp AD de manière régulière : suppression des objets AD inactifs correspondant à des personnes (salariés, stagiaires, prestataires externes …) ne faisant plus parti de l’entreprise.

Les consoles et outils graphiques intégrés dans Windows Server ne permettent pas d’effectuer ce genre d’opération, en revanche certains outils en ligne de commande le permettent.

Quels Outils utilisés ?

La liste complète des objets « User & Computer » inactifs peut être obtenue via l’utilisation des deux principaux outils suivants :

 DSQuery : outil en ligne de commande (natif)
 Module PowerShell « ActiveDirectory » fourni avec le rôle ADDS ou les outils RSAT ADDS

Note 

Dans les exemples ci-après, un compte utilisateur ou ordinateur est considéré comme étant « inactif » si ce dernier n’a pas présenté d’activité pendant les 30 derniers jours.

#Méthode N°1 : via DSQuery.exe 

Liste des comptes Utilisateurs inactifs (e.i : 4 => 4 semaines => 1 mois)
DSQuery user -inactive 4

Liste des comptes Ordinateurs inactifs
DSQuery Computer -inactive 4

Si vous souhaitez connaître le nombre de comptes Utilisateurs et/ou Ordinateurs inactifs, il suffit de rajouter les paramètres | find /c /i « CN= » après la commande DSQuery :

Nombre de comptes Utilisateurs inactifs
DSQuery User -inactive 4 | find /c /i « CN= »

Nombre de comptes Ordinateurs inactifs
DSQuery Computer -inactive 4 | find /c /i « CN= »

 

#Méthode N°2 : via Windows PowerShell

Note importante : avant d’exécuter le script PS ci-dessous, la valeur de la variable $Domaine doit être changée /remplacée par le Nom DNS de votre domaine AD

 

Liste des comptes Utilisateurs inactifs
Import-Module ActiveDirectory
$Domaine = « hkroot.lan »
$JourInactivite = 30
$Date = (Get-Date).Adddays(-($JourInactivite))
$ListeOrdinateur = Get-ADUser -Filter {LastLogonTimeStamp -lt $Date -and enabled -eq $true} -Properties LastLogonTimeStamp

Liste des comptes Ordinateurs inactifs
Import-Module ActiveDirectory
$Domaine = « hkroot.lan »
$JourInactivite = 30
$Date = (Get-Date).Adddays(-($JourInactivite))
$ListeOrdinateur = Get-ADComputer -Filter {LastLogonTimeStamp -lt $Date -and enabled -eq $true} -Properties LastLogonTimeStamp

 Nombre de comptes Utilisateurs inactifs
Import-Module ActiveDirectory
$Domaine = « hkroot.lan »
$JourInactivite = 30
$Date = (Get-Date).Adddays(-($JourInactivite))
$ListeOrdinateur = Get-ADUser -Filter {LastLogonTimeStamp -lt $Date -and enabled -eq $true} -Properties LastLogonTimeStamp
$ListeOrdinateur.Count

Nombre de comptes Ordinateurs inactifs
Import-Module ActiveDirectory
$Domaine = « hkroot.lan »
$JourInactivite = 30
$Date = (Get-Date).Adddays(-($JourInactivite))
$ListeOrdinateur = Get-ADComputer -Filter {LastLogonTimeStamp -lt $Date -and enabled -eq $true} -Properties LastLogonTimeStamp
$ListeOrdinateur.Count

Le résultat peut être exporté vers un fichier CSV, celui-ci pourra être intégré par la suite dans un  document d’audit format Word ou communiqué séparément.
L’export vers le fichier CSV peut se fair en rajoutant les deux lignes suivantes

Select-object Name,@{Name= »Stamp »; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} | export-csv C:\ListeUtilisateursOUOrdinateursInactifs.csv -notypeinformatio

Publicités

Microsoft vient de publier les Modèles d’Administrations/Administratives Templates (ADMX, ADML) AD pour Windows 10 {1709} Creator Updates. Téléchargez-les dès maintenant en cliquant sur le lien ci-dessous

Le fichier téléchargé (MSI file) inclut les modèles d’administration publiés pour Windows 10 (Fall Creators Update « 1709 »), dans les langues suivantes :

  • cs-CZ Czech – Czech Republic
  • da-DK Danish – Denmark
  • de-DE German – Germany
  • el-GR Greek – Greece
  • en-US English – United States
  • es-ES Spanish – Spain
  • fi-FL Finnish – Finland
  • fr-FR French – France
  • hu-HU Hungarian – Hungary
  • it-IT Italian – Italy
  • ja-JP Japanese – Japan
  • ko-KR Korean – Korea
  • nb-NO Norwegian (Bokmål) – Norway
  • nl-NL Dutch – The Netherlands
  • pl-PL Polish – Poland
  • pt-BR Portuguese – Brazil
  • pt-PT Portuguese – Portugal
  • ru-RU Russian – Russia
  • sv-SE Swedish – Sweden
  • zh-CN Chinese – China
  • zh-TW Chinese – Taiwan

 

Enfin, notez les prérequis (OS Requirement) suivants :

  • Windows 10
  • Windows 8.1
  • Windows 7
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2

 

Dans le cadre d’un audit AD pour un de mes clients, j’ai été amené à lister tous les groupes AD « Vides » de plusieurs forêts Active Directory. Pour ce faire, j’ai créé quelques « Simples » scripts PS (basés sur le module PS ActiveDirectory) permettant de réaliser cette opération, et j’ai donc décidé de les partager avec vous :).

How it Works ?
# Lister tous les groupes AD « Vides » !

Import-Module ActiveDirectory

Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | select Name

# Nombre de groupe AD « Vides » !

Import-Module ActiveDirectory

$GroupesAD_Vides = Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | select Name

$GroupesAD_Vides.Count

# Exporter tous les groupes AD « Vides » !

Import-Module ActiveDirectory

$GroupesAD_Vides = Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | select Name | Export-Csv D:\Liste_Groupes_AD.csv –NoTypeInformation

 

Astuce !

Si vous souhaitez lister tous les groupes AD « Vides » d’une OU (Organizational Unit) spécifique, il suffit de rajouter le paramètre -SearchBase suivi du DN (DistinguishedName de l’OU), dans l’exemple suivant, la recherche se fera au niveau de la sous-OU « Production » situé au niveau de hklab.lan/France/Paris/Servers/

Import-Module activedirectory

Get-ADGroup -Filter * -Properties Members -SearchBase “OU=Production,OU=Servers,OU=Paris,OU=France,DC=hklab,DC=lan » | where {-not $_.members} | select Name

 

 

Hello tout le monde,

Si vous souhaitez récupérer (exporter) toute la structure de vos OUs, présentes sur un environnement AD spécifique et la migrer vers un nouvel environnement avec un nouveau domaine AD, cet article est fait pour vous :).

Un de mes clients a simplement souhaité récupérer la structure complètes des OUs et leur sous-OU ainsi que les groupes et m’a fait part de ce besoin récemment.

J’ai donc décidé de partager la technique permettant de réaliser cette opération avec vous :).

Alors comment ça marche ?!

D’abord, quels outils utilisés o__O ?

The best of the Best pour ce type d’opération reste le Wonderful CLI : LDIFDE.exe

Cet outil en ligne de commande est natif dans les OS Windows Server 2012 /2012 R2 et ultérieur.

HowTo ?
La structure d’OUs « Source »

Mon environnement /domaine AD source (hkvlab.lan) présente la structure d’OUs suivante :

 

Pour exporter toute la structure /arborescence d’OUs, la commande suivante est exécutée depuis une invite de commande (CMD.exe), lancée en tant qu’Administrateur :

ldifde -f c:\All_OUs.ldf -r “(objectClass=organizationalUnit)” -l objectClass,description

Note important : avant d’importer le fichier ldf « All_OUs.ldf », vous devez d’abord l’éditer et remplacer l’ancien DN du domaine par le nouveau.

To Do : Notez que dans le fichier All_OUs.ldf exporté, une entrée pour l’OU par défaut « Domain Controllers » existe. Celle-ci doit être supprimée du fichier car l’OU « Domain Controllers » existe déjà sur votre domaine de destination. Si vous ne supprimez pas le bloc de texte illustré dans l’image ci-dessous, la procédure d’import échouera !

Dans l’exemple suivant, le D(istinguished) N(ame) de mon ancien domaine est le suivant : DC=hkvlab,dc=lan

Le DN du nouveau domaine est : DC=hknewvlab,dc=lan

Une fois modifié, mon fichier ldf ressemble à l’image ci-après :

Enfin, ouvrez une Session sur un DC du nouveau Domaine (Domain de destination) ou une machine d’administration ayant les outils RSAT AD DS installés, copiez /collez le fichier ldf précédemment modifié avec le DN du nouveau domaine, et saisissez la commande suivante pour importer correctement votre structure d’OUs :

ldifde -i -f c:\All_OUs.ldf

Comme vous pouvez le constater, 27 entrées ont été modifiées suite à l’import via le fichier All_OUs.ldf, il s’agit des 27 OUs et sous-OUs importées.

Vous pouvez le vérifier en lancant la console DSA.msc depuis votre DC appartenant au nouveau domaine AD et visualiser la structure d’OUs :

N’hésitez pas à vous abonner pour être informé pour toute nouvelle publication sur mon Blog.

HK o____O

Microsoft a publié (le 10/08/2017) la version 1.1 de l’outil gratuit « Active Directory Replication Status Tool »

Pour rappel, AD Replication Status Tool est un outil gratuit qui vous permet d’analyser l’état de réplication de vos DCs (Domain Controllers) dans un domaine ou une forêt Active Directory.

Les principales fonctionnalités offertes par AD Replication Status Tool sont :

  • Exposer les problèmes de réplications parvenus au niveau d’un domaine ou une forêt Active Directory
  • Prioriser les erreurs de réplication devant être résolues pour éviter toute création de « Lingering Objects » au niveau d’une forêt Active Directory
  • Aide les IT Admins  à résoudre les problèmes et erreurs de réplication AD en les liant au contenu /Base TechNet (Contenu AD Replication TroubleShooting) qui regroupe plusieurs centaines de « Problèmes connus » qui peuvent les aider à identifier et résoudre rapidement des problèmes /erreurs de réplication AD
  • permet l’export des données de réplication collectées pour une analyse « Offline » ultérieur

 

What Next ?

Télécharger l’outil Active Directory Replication Status Tool, V1.1

Hello everyone,

Si vous êtes amenés à créer des tâches planifiées pour exécuter des scripts PowerShell (script de check, d’audit, lancement d’opérations spécifiques…), eh bien notez que vous devez d’abord prendre connaissance de certaines informations pour que vos scripts se déclenchent correctement à l’heure schedulée.

Mon besoin

J’ai besoin de surveiller les changements apportés à un groupe AD à « Haut privilèges » tel que le groupe « Admins du domaine ». L’audit de ce groupe se fera via l’utilisation d’un script PowerShell (basé sur les Cmd-Lets du Module PS ActiveDirectory) et l’envoi de notification par mail se fera simplement via l’utilisation d’un serveur SMTP disponible sur le réseau (Cmd-Let Send-MailMessage).

Pour éviter d’investir du $$ dans une solution tierce de monitoring /alerte, j’utiliserais simplement une tâche planifiée qui exécute mon script d’audit AD chaque heure et qui m’envoi des notifications par mail pour rester informé de toute modification ayant eu lieu sur le groupe Domain Admins.

Comment ça marche ?

Dans l’exemple suivant, une tâche planifiée nommée « DA_Check » (Domain Admins_Check) sera créée, celle-ci sera configurée pour déclencher /exécuter de manière quotidienne le script D:\MyScripts\DA_Checker.ps1

Vous lancez le planificateur de tâches et vous créez votre tâche de manière classique

Arrivée à l’étape illustrée dans l’image ci-après, vous sélectionnez « Démarrer un programme »

Remplissez le champ « Programme/script » en respectant la syntaxe suivante : PowerShell -File « Emplacement_de_votre_script_PS »

Dans notre exemple, le script devant être exécuté par la tâche planifiée est placé dans D:\MyScripts\DA_Checker.ps1, la ligne de code à spécifier est donc :

Eh voilà, le tour est joué :).

A bientôt

HK

Restauration de l’état du système

Vous pouvez effectuer une restauration autoritaire de SYSVOL lors de la restauration de l’état du système, soit en ligne de commande avec « WBAdmin » en ajoutant « –authsysvol », soit avec l’interface graphique en mode restauration d’annuaire en cochant la case :

Par contre si vous faites une restauration complète depuis le support d’installation, vous devez utiliser les procédures présentées au prochain paragraphe.

Restauration autoritaire avec NTFRS

Vous pouvez configurer la restauration autoritaire de SYSVOL après la restauration du premier DC de chaque domaine en modifiant la valeur « BurFlags » du registre sur « D4 » :

« HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NtFrs\Parameters\Backup/Restore\Process at Startup » 

  • D4 : restauration faisant autorité sur les autres DCs
  • D2 : restauration non autoritaire uniquement pour ce DC

Après la modification du registre, vous devez redémarrer le serveur ou le service NTFRS :

Net stop NTFRS

Net Start NTFRS

Ou plus simplement :

Net Stop NTFRS && Net Start NTFRS

Restauration autoritaire avec DFS-R

Vous pouvez effectuer une restauration autoritaire de « SYSVOL » lors de la restauration du premier DC en utilisant la méthode suivante.

Ouvrez la console « Utilisateurs et Ordinateurs Active Directory ». Dans affichage, sélectionnez les options « Utilisateurs, contact,… en tant que conteneur » et « Fonctionnalités avancées » :

Dans le menu de gauche, allez sous « Domain Controllers », ouvrez le détail de votre contrôleur de domaine, puis allez sous « DFS-LocalSettings », « DomainSystem Volume »

Dans le panneau central faites un clic droit sur « Domain System Volume » et sélectionnez propriétés. Dans « éditeur d’attributs », recherchez « msDFSR-Options » et définissez la valeur à «»

Si vous souhaitez effectuer une restauration autoritaire de « SYSVOL » en dehors d’une procédure de restauration d’une forêt, je vous conseille de lire l’article suivant :

https://support.microsoft.com/en-us/help/2218556/how-to-force-an-authoritative-and-non-authoritative-synchronization-for-dfsr-replicated-sysvol-like-d4-d2-for-frs

====================================================================

Cet article est un extrait de l’eBook « Active Directory 2012 et 2021 R2 – Sauvegarde et Restauration« , disponible sur BecomeITExpert.com