{"id":2792,"date":"2024-03-23T10:11:50","date_gmt":"2024-03-23T09:11:50","guid":{"rendered":"https:\/\/hinakuu.xyz\/?p=2792"},"modified":"2024-03-24T07:55:00","modified_gmt":"2024-03-24T06:55:00","slug":"active-directory-recuperer-des-informations-sur-les-utilisateurs-avec-powershell","status":"publish","type":"post","link":"https:\/\/hinakuu.xyz\/?p=2792","title":{"rendered":"Active Directory : R\u00e9cup\u00e9rer des informations sur les utilisateurs avec PowerShell"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Installer le module Active Directory sur Windows 10 et Windows Server :<\/mark><\/h3>\n\n\n\n<p>\u00c0 partir de Windows Server 2012 R2, le module Active Directory de PowerShell est installable depuis le Gestionnaire de serveur en suivant l\u2019assistant d\u2019ajout d\u2019un r\u00f4le\/d\u2019une fonctionnalit\u00e9.<\/p>\n\n\n\n<p>Source : <a href=\"https:\/\/www.it-connect.fr\/modules\/gerer-les-utilisateurs-active-directory-avec-powershell\/\" target=\"_blank\" rel=\"noreferrer noopener\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">https:\/\/www.it-connect.fr\/modules\/gerer-les-utilisateurs-active-directory-avec-powershell\/<\/mark><\/a><\/p>\n\n\n\n<p>N\u00e9anmoins, puisque l\u2019on est l\u00e0 pour faire du PowerShell, nous allons r\u00e9aliser l\u2019installation directement via la console. Sur un serveur o\u00f9 le module n\u2019est pas install\u00e9, si j\u2019essaie de l\u2019importer, j\u2019obtiens bien une erreur&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Import-Module ActiveDirectory<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"226\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-01-800x226-1.png\" alt=\"\" class=\"wp-image-2794\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-01-800x226-1.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-01-800x226-1-300x85.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-01-800x226-1-768x217.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Pour installer le module sous Windows Server, il suffit d\u2019utiliser la commande \u00ab&nbsp;<em>Add-WindowsFeature&nbsp;<\/em>\u00bb et de sp\u00e9cifier la fonctionnalit\u00e9 correspondante&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Add-WindowsFeature -Name \"RSAT-AD-PowerShell\" \u2013IncludeAllSubFeature<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"93\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-02.png\" alt=\"\" class=\"wp-image-2795\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-02.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-02-300x35.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-02-768x89.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Il ne reste plus qu\u2019\u00e0 importer le module et \u00e0 l\u2019utiliser&nbsp;! Passons maintenant au cas Windows 10.<\/p>\n\n\n\n<p>Sur Windows 10, l\u2019installation d\u00e9pend de la version de votre syst\u00e8me. Bien que la tendance soit plut\u00f4t d\u2019\u00eatre sur les derni\u00e8res versions de cet OS si l\u2019on suit les upgrades au fur et \u00e0 mesure, je vais vous indiquer les deux m\u00e9thodes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Pour Windows 10 jusqu\u2019\u00e0 la version 1803<\/mark><\/strong><\/h3>\n\n\n\n<p>Note&nbsp;: cette m\u00e9thode s\u2019applique aussi \u00e0 Windows 7 et Windows 8.1<\/p>\n\n\n\n<p>Les outils d\u2019administration \u00e0 distance \u00ab&nbsp;RSAT&nbsp;\u00bb doivent \u00eatre t\u00e9l\u00e9charg\u00e9s et install\u00e9s sur le poste avant de pouvoir ajouter le module.<\/p>\n\n\n\n<p>Pour Windows 10, les outils RSAT sont t\u00e9l\u00e9chargeables \u00e0 cette adresse :&nbsp;<a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=45520\" target=\"_blank\" rel=\"noreferrer noopener\">RSAT Windows 10<\/a><\/p>\n\n\n\n<p>Une fois les outils RSAT t\u00e9l\u00e9charg\u00e9s et install\u00e9s sur l\u2019h\u00f4te, il devient possible d\u2019activer la fonctionnalit\u00e9 \u00ab&nbsp;<em>Module Active Directory pour PowerShell<\/em>&nbsp;\u00bb avec l\u2019assistant qui permet d\u2019activer et d\u00e9sactiver des fonctionnalit\u00e9s Windows.<\/p>\n\n\n\n<p>Sinon, et c\u2019est ce que nous allons faire, apr\u00e8s avoir install\u00e9 les outils RSAT, l\u2019installation du module PowerShell est r\u00e9alisable via PowerShell avec cette commande&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Pour Windows 10 \u00e0 partir de la version 1809<\/mark><\/strong><\/h3>\n\n\n\n<p>Depuis cette version, les outils RSAT sont devenus une fonctionnalit\u00e9 \u00e0 la demande de Windows 10, ce qui change la donne quant \u00e0 l\u2019installation du module. L\u2019installation s\u2019effectue via la section \u00ab&nbsp;<strong>Fonctionnalit\u00e9s facultatives<\/strong>&nbsp;\u00bb des param\u00e8tres de Windows, ou alors en PowerShell&nbsp;: bonne nouvelle&nbsp;!<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"261\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-03.jpg\" alt=\"\" class=\"wp-image-2799\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-03.jpg 600w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-03-300x131.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p>La commande est l\u00e9g\u00e8rement diff\u00e9rente, car cette fois-ci c\u2019est le cmdlet \u00ab&nbsp;<em>Add-WindowsCapability<\/em>&nbsp;\u00bb que nous allons utiliser. Voici la commande \u00e0 ex\u00e9cuter en tant qu\u2019administrateur sur votre PC&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Add-WindowsCapability \u2013Online \u2013Name \"Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0\"<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"94\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-04.png\" alt=\"\" class=\"wp-image-2801\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-04.png 754w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/A03-install-powershell-module-active-directory-04-300x37.png 300w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/figure>\n\n\n\n<p>Suite \u00e0 l\u2019installation du module PowerShell, vous pouvez l\u2019importer. Bien entendu, la commande reste la m\u00eame que sous Windows Server&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Import-Module ActiveDirectory<\/mark><\/pre>\n\n\n\n<p>Enfin, vous pouvez lister les commandes du module ActiveDirectory de PowerShell gr\u00e2ce \u00e0 cette commande&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-Command -Module ActiveDirectory<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">R\u00e9cup\u00e9rer des informations sur les utilisateurs avec PowerShell :<\/mark><\/h3>\n\n\n\n<p>Suite \u00e0 l\u2019installation du module PowerShell \u00ab&nbsp;Active Directory&nbsp;\u00bb que l\u2019on a vu dans le chapitre pr\u00e9c\u00e9dent, nous allons maintenant rentrer dans le vif du sujet et manipuler l\u2019annuaire Active Directory.<\/p>\n\n\n\n<p>Pour commencer, nous allons jouer avec les utilisateurs et dans ce chapitre nous allons voir<strong>&nbsp;comment r\u00e9cup\u00e9rer des informations sur les utilisateurs.<\/strong><\/p>\n\n\n\n<p>Le cmdlet<strong>&nbsp;Get-ADUser<\/strong>&nbsp;est disponible depuis PowerShell 2.0 dans le module Active Directory et il sera notre principal alli\u00e9 pour r\u00e9cup\u00e9rer des informations sur les utilisateurs de l\u2019annuaire. Autrement dit, ce cmdlet est disponible depuis Windows Server 2008 R2. Il offre une excellente alternative aux autres outils que l\u2019on pouvait utiliser jusqu\u2019ici, notamment des scripts VBS ou&nbsp;<em>dsquery<\/em>.<\/p>\n\n\n\n<p>Nous pouvons r\u00e9cup\u00e9rer diff\u00e9rentes informations gr\u00e2ce \u00e0 la lecture des attributs&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u2019identifiant d\u2019un utilisateur, son nom, son pr\u00e9nom<\/li>\n\n\n\n<li>L\u2019adresse e-mail associ\u00e9e au compte utilisateur<\/li>\n\n\n\n<li>La date de derni\u00e8re connexion au domaine Active Directory<\/li>\n\n\n\n<li>La date de derni\u00e8re modification d\u2019un compte utilisateur<\/li>\n\n\n\n<li>La date de cr\u00e9ation de l\u2019objet<\/li>\n\n\n\n<li>Etc.<\/li>\n<\/ul>\n\n\n\n<p>Tout d\u00e9pend aussi des donn\u00e9es renseign\u00e9es dans les comptes de vos utilisateurs.<\/p>\n\n\n\n<p>Avant de commencer, si besoin vous pourrez retrouver l\u2019aide de Get-ADUser&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dans la console PowerShell avec :&nbsp;<em>Get-Help Get-ADUser<\/em><\/li>\n\n\n\n<li>Dans la documentation officielle de Microsoft :&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/addsadministration\/get-aduser?view=win10-ps\" target=\"_blank\" rel=\"noreferrer noopener\">Aide &#8211; Get-ADUser<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Syntaxe de Get-ADUser :<\/mark><\/h3>\n\n\n\n<p>Il est \u00e0 noter que la commande\u00a0<strong>Get-ADUser<\/strong>\u00a0utilise un param\u00e8tre\u00a0<em>-Filter<\/em>\u00a0pour cr\u00e9er une requ\u00eate et rechercher nos utilisateurs. Nous verrons qu&rsquo;il y a deux fa\u00e7ons de filtrer. Pour ne pas filtrer et donc r\u00e9cup\u00e9rer la liste de tous les utilisateurs du domaine, il suffit d\u2019ex\u00e9cuter cette commande :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter *<\/mark><\/pre>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>Attention\u00a0<\/strong>: cette commande peut s\u2019av\u00e9rer tr\u00e8s gourmande et durer un certain temps si votre annuaire Active Directory est peupl\u00e9 de nombreux comptes. M\u00e9fiance donc avant de l\u2019ex\u00e9cuter\u00a0!<\/mark><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"336\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/01-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2807\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/01-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/01-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x126.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/01-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x323.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Pour la suite, si vous voulez tester au fur et \u00e0 mesure, voici la syntaxe pour filtrer sur un seul utilisateur en se basant sur son login (attribut&nbsp;<em>saMAccountName<\/em>). Exemple avec le compte \u00ab&nbsp;Administrateur&nbsp;\u00bb&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter \"SamAccountName -eq 'Administrateur'\"<\/mark><\/pre>\n\n\n\n<p><strong>Une alternative serait d\u2019utiliser le param\u00e8tre -Identity pour r\u00e9aliser le filtre<\/strong>, en lui sp\u00e9cifiant le login de l\u2019utilisateur&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Identity Administrateur<\/mark><\/pre>\n\n\n\n<p>Enfin, il y a une autre alternative, tout simplement :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser Administrateur<\/mark><\/pre>\n\n\n\n<p>Pour ma part, je pr\u00e9f\u00e8re<strong>&nbsp;pr\u00e9ciser un contr\u00f4leur de domaine sp\u00e9cifique lorsque je requ\u00eate l\u2019annuaire Active Directory<\/strong>. Au moins, je sais o\u00f9 part ma requ\u00eate. Pour sp\u00e9cifier un serveur, nous utiliserons cette syntaxe (nom du serveur \u00e0 adapter)&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter \"SamAccountName -eq 'Administrateur'\" -Server SRV-ADDS-01.it-connect.local<\/mark><\/pre>\n\n\n\n<p>Ce param\u00e8tre existe sur l\u2019ensemble des commandes li\u00e9es \u00e0 l\u2019AD donc je vous recommande de prendre l\u2019habitude de l\u2019utiliser. En d\u00e9clarant une variable $DC au d\u00e9but de votre script par exemple, et il suffit ensuite de l\u2019appeler dans chaque commande ce qui facilite le changement de DC si n\u00e9cessaire.<\/p>\n\n\n\n<p>Comme nous avons pu le voir sur la premi\u00e8re copie d\u2019\u00e9cran,&nbsp;<strong>par d\u00e9faut il y a 10 propri\u00e9t\u00e9s basiques retourn\u00e9es dans la console, mais tout n\u2019est pas l\u00e0&nbsp;: il y en a plus de 100 pour un objet utilisateur.<\/strong><\/p>\n\n\n\n<p>Vous allez me dire, ce filtre par d\u00e9faut est plut\u00f4t int\u00e9ressant pour \u00e9viter de charger des donn\u00e9es inutilement\u2026 N\u00e9anmoins, nous pouvons ajouter un ou plusieurs attributs suppl\u00e9mentaires \u00e0 afficher.<\/p>\n\n\n\n<p><strong>Le param\u00e8tre&nbsp;<em>-Properties<\/em>&nbsp;doit \u00eatre ajout\u00e9 \u00e0 la commande. Si l\u2019on indique \u00ab&nbsp;*&nbsp;\u00bb on peut charger toutes les propri\u00e9t\u00e9s<\/strong>, alors si en plus on utilise \u00ab * \u00bb pour le filtre, je vous laisse imaginer la lourdeur de la requ\u00eate.<\/p>\n\n\n\n<p>Pour sp\u00e9cifier un attribut suppl\u00e9mentaire \u00e0 charger, il suffit d\u2019indiquer son nom. Voici un exemple pour afficher l\u2019attribut \u00ab&nbsp;mail&nbsp;\u00bb&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter \"SamAccountName -eq 'Administrateur'\" -Server SRV-ADDS-01.it-connect.local -Properties mail<\/mark><\/pre>\n\n\n\n<p>S\u2019il y a plusieurs attributs \u00e0 ajouter, il suffit de s\u00e9parer les noms par une virgule. Par exemple&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter \"SamAccountName -eq 'Administrateur'\" -Server SRV-ADDS-01.it-connect.local -Properties mail,lastLogon<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"200\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/02-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2812\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/02-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/02-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x75.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/02-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x192.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Apr\u00e8s avoir vu ces premiers param\u00e8tres, indispensables \u00e0 l\u2019utilisation de la commande Get-ADUser, je vous propose de voir d\u2019autres exemples.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Rechercher des utilisateurs dans une OU avec -SearchBase :<\/mark><\/h3>\n\n\n\n<p>Pour r\u00e9aliser une action sur un lot d\u2019utilisateurs, il peut s\u2019av\u00e9rer tr\u00e8s utile d\u2019utiliser un filtre bas\u00e9 sur une unit\u00e9 d\u2019organisation (OU).<\/p>\n\n\n\n<p>Le cmdlet Get-ADUser int\u00e8gre un param\u00e8tre nomm\u00e9<em>&nbsp;-SearchBase<\/em>&nbsp;qui va permettre de r\u00e9pondre \u00e0 ce besoin. Ce qui donne&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter * -SearchBase \"CN=Users,DC=IT-CONNECT,DC=LOCAL\" -Server SRV-ADDS-01.it-connect.local<\/mark><\/pre>\n\n\n\n<p>Pour l\u2019unit\u00e9 d\u2019organisation, vous devez pr\u00e9ciser son \u00ab&nbsp;chemin&nbsp;\u00bb correspondant \u00e0 son DN (<em>DistinguishedName<\/em>). Vous pouvez le retrouver dans les propri\u00e9t\u00e9s de l\u2019OU via l\u2019onglet \u00ab&nbsp;<em>Editeur d\u2019attributs<\/em>&nbsp;\u00bb ou en PowerShell gr\u00e2ce \u00e0 la commande&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADOrganizationalUnit -Filter * | Format-Table DistinguishedName<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"144\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/03-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2815\" style=\"width:800px;height:auto\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/03-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/03-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x54.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/03-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x138.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Il suffit de copier la valeur correspondante \u00e0 votre unit\u00e9 d\u2019organisation cible et de l\u2019utilisation dans la commande Get-ADUser.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Obtenir la liste des adresses e-mails des utilisateurs : <\/mark><\/h3>\n\n\n\n<p>Si l\u2019attribut \u00ab&nbsp;mail&nbsp;\u00bb est renseign\u00e9 dans vos comptes utilisateurs alors vous pouvez r\u00e9cup\u00e9rer facilement une liste des adresses e-mails. Nous allons utiliser la propri\u00e9t\u00e9 \u201c<em>EmailAddress<\/em>\u201d ou \u201c<em>mail<\/em>\u201d : les deux fonctionnent pour r\u00e9cup\u00e9rer l\u2019adresse e-mail.<\/p>\n\n\n\n<p>Enfin, pour que ce soit plus lisible, nous allons sortir le r\u00e9sultat dans un tableau avec seulement deux colonnes via la commande&nbsp;<em>Format-Table<\/em>&nbsp;(que l\u2019on peut raccourcir en&nbsp;<em>ft<\/em>).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter * -SearchBase \"CN=Users,DC=IT-CONNECT,DC=LOCAL\" -Properties EmailAddress | Format-Table Name,EmailAddress<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"787\" height=\"170\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/04-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2816\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/04-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 787w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/04-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x65.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/04-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x166.png 768w\" sizes=\"auto, (max-width: 787px) 100vw, 787px\" \/><\/figure>\n\n\n\n<p>Pour que ce soit plus pertinent, nous pouvons&nbsp;<strong>ajouter un filtre pour r\u00e9cup\u00e9rer seulement les utilisateurs actifs et o\u00f9 l\u2019attribut EmailAddress n\u2019est pas vide (<em>null<\/em>)<\/strong>. Ce qui donne&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter {(EmailAddress -ne \"null\") -and (Enabled -eq \"true\")} -SearchBase \"CN=Users,DC=IT-CONNECT,DC=LOCAL\" -Properties EmailAddress | Format-Table Name,EmailAddress<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Afficher la date de cr\u00e9ation des comptes :<\/mark><\/h3>\n\n\n\n<p>Pour r\u00e9cup\u00e9rer la date de cr\u00e9ation d\u2019un ou plusieurs comptes Active Directory, il faut lire la valeur de l\u2019attribut \u00ab&nbsp;<em>whenCreated&nbsp;<\/em>\u00bb car il contient la date de cr\u00e9ation de l\u2019objet dans l\u2019Active Directory.<\/p>\n\n\n\n<p>Ainsi, il suffit de l\u2019appeler via le param\u00e8tre<em>&nbsp;-Properties<\/em>&nbsp;pour l\u2019afficher. J\u2019aime bien utiliser<em>&nbsp;Select-Object<\/em>&nbsp;en compl\u00e9ment pour affiner le r\u00e9sultat qui s\u2019affiche dans la console.<\/p>\n\n\n\n<p>Voici la commande, avec le filtre \u00e0 adapter \u00e0 vos besoins comme \u00e0 chaque fois&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter * -Properties WhenCreated | Select-Object Name, whenCreated<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"730\" height=\"220\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/05-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2817\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/05-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 730w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/05-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x90.png 300w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Quels sont les groupes dont l\u2019utilisateur est membre ?<\/mark><\/h3>\n\n\n\n<p>Une autre chose qui est utile, c\u2019est de<strong>&nbsp;r\u00e9cup\u00e9rer la liste des groupes dont un utilisateur est membre<\/strong>. L\u00e0 encore, on va pouvoir s\u2019appuyer sur un attribut&nbsp;:&nbsp;<em>memberof<\/em>. Pour afficher la liste des groupes dont un utilisateur sp\u00e9cifique est membre, voici la commande \u00e0 utiliser&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Identity Administrateur -Properties memberof | Select-Object memberof -ExpandProperty memberof<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"147\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/06-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2820\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/06-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 789w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/06-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x56.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/06-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x143.png 768w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/figure>\n\n\n\n<p>Nous pouvons v\u00e9rifier ensuite si l\u2019utilisateur est membre du groupe \u00ab&nbsp;Admins du domaine&nbsp;\u00bb (ou un autre groupe) et si c\u2019est le cas, r\u00e9aliser un ensemble d\u2019actions sur ce compte. Voici un exemple&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">$MemberOf = Get-ADUser -Identity Administrateur -Properties memberof | Select-Object SamAccountName,memberof\n\nif($MemberOf.memberof -match \"Admins du domaine\"){\n    Write-Host \"attention il s'agit d'un compte Administrateur !\"\n}<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Coupler l\u2019utilisation du Filter et du Like :<\/mark><\/h3>\n\n\n\n<p>Comme vu pr\u00e9c\u00e9demment, le&nbsp;<strong>param\u00e8tre -Filter sert \u00e0 appliquer un filtre sur la requ\u00eate ex\u00e9cut\u00e9e par la commande Get-ADUser afin d\u2019affiner la recherche sur un ou plusieurs attributs.<\/strong>&nbsp;Cela est int\u00e9ressant pour rechercher un compte pr\u00e9cis notamment, m\u00eame si l\u2019on peut pr\u00e9f\u00e9rer l\u2019utilisation du param\u00e8tre -Identity.<\/p>\n\n\n\n<p>Si l\u2019on associe le param\u00e8tre&nbsp;<strong>-Filter \u00e0 l\u2019utilisation de l\u2019op\u00e9rateur Like nous pouvons appliquer un filtre plus large<\/strong>. Par exemple, r\u00e9cup\u00e9rer la liste de tous les utilisateurs qui ont un pr\u00e9nom ou un nom sp\u00e9cifique, ou un caract\u00e8re sp\u00e9cifique dans le nom, etc.<\/p>\n\n\n\n<p>Pour rechercher les utilisateurs qui ont la cha\u00eene de caract\u00e8res \u201cconnect\u201d dans l\u2019attribut Name, on utilisera :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter \"Name -Like '*connect*'\" -Properties Name,SamAccountName | Select Name,SamAccountName<\/mark><\/pre>\n\n\n\n<p>\u00c0 noter l\u2019importance des ast\u00e9risques avant et apr\u00e8s le terme \u00e0 rechercher pour signifier qu\u2019il peut y avoir X caract\u00e8res avant et X caract\u00e8res apr\u00e8s. Nous n\u2019avons pas utilis\u00e9 l\u2019op\u00e9rateur -match car il n\u2019est pas compatible avec le param\u00e8tre&nbsp;<em>-Filter<\/em>, donc avec l\u2019op\u00e9rateur&nbsp;<em>-like<\/em>&nbsp;cela permet de contourner cette contrainte.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"89\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/07-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2823\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/07-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/07-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x33.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/07-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x85.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Lorsque l\u2019on d\u00e9finit un filtre, il est tout \u00e0 fait possible de se baser sur plusieurs conditions, s\u00e9par\u00e9es par un op\u00e9rateur comme&nbsp;<strong>-and<\/strong>&nbsp;(et) ou&nbsp;<strong>-or<\/strong>&nbsp;(ou) afin d\u2019affiner la requ\u00eate.<\/p>\n\n\n\n<p>Si l\u2019on veut rechercher la cha\u00eene \u201c<em>itconnect<\/em>\u201d \u00e0 la fois dans l\u2019attribut Name et dans l\u2019attribut&nbsp;<em>saMAccountName<\/em>, cela donnera la commande suivante :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter \"(Name -Like '*connect*') -or (SamAccountName -Like '*connect*')\" -Properties * | Select Name,SamAccountName<\/mark>\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">R\u00e9cup\u00e9rer la liste des comptes utilisateurs d\u00e9sactiv\u00e9s :<\/mark><\/h3>\n\n\n\n<p>Lorsque vous souhaitez faire un \u00e9tat des lieux de votre Active Directory, vous pouvez vous poser la question suivante&nbsp;: combien ai-je de comptes utilisateurs d\u00e9sactiv\u00e9s au sein de mon annuaire&nbsp;? L\u00e0 encore, PowerShell et le cmdlet Get-ADUser sont l\u00e0 pour nous permettre de r\u00e9pondre \u00e0 cette question.<\/p>\n\n\n\n<p>L\u2019attribut \u00ab&nbsp;<em>Enabled&nbsp;<\/em>\u00bb est un bool\u00e9en pr\u00e9sent au sein de la fiche de chaque utilisateur, donc si sa valeur est \u00e9gale \u00e0 \u00ab&nbsp;<em>false&nbsp;<\/em>\u00bb cela signifie que le compte est d\u00e9sactiv\u00e9&nbsp;: il ne reste plus qu\u2019\u00e0 filtrer en ce sens.<\/p>\n\n\n\n<p>Ce qui donne&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter { Enabled -eq $False } | Format-Table SamAccountName , Name<\/mark><\/pre>\n\n\n\n<p>Dans cet exemple, nous allons retourner un tableau avec deux attributs.<\/p>\n\n\n\n<p>Dans cet exemple, nous allons retourner un tableau avec deux attributs. Sur l\u2019image ci-dessous, on peut voir que cela fonctionne aussi avec \u00ab\u00a0False\u00a0\u00bb plut\u00f4t que $False, mais il vaut mieux pr\u00e9f\u00e9rer l\u2019\u00e9criture $False qui est plus correcte (valeur bool\u00e9enne).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"121\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/08-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-800x121-1.png\" alt=\"\" class=\"wp-image-2826\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/08-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-800x121-1.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/08-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-800x121-1-300x45.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/08-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-800x121-1-768x116.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">R\u00e9cup\u00e9rer la liste des comptes o\u00f9 le mot de passe est expir\u00e9 :<\/mark><\/h3>\n\n\n\n<p>En termes de reporting sur l\u2019\u00e9tat de vos comptes et en compl\u00e9ment de la liste des comptes d\u00e9sactiv\u00e9s, il est int\u00e9ressant d\u2019<strong>obtenir la liste des comptes o\u00f9 le mot de passe est expir\u00e9<\/strong>. Uniquement pour les comptes actifs pour que ce soit plus pertinent.<\/p>\n\n\n\n<p>Nous devons charger la propri\u00e9t\u00e9 \u00ab&nbsp;<em>PasswordExpired&nbsp;<\/em>\u00bb et r\u00e9aliser un filtre sur cette propri\u00e9t\u00e9. J\u2019en profite pour vous indiquer que pour faire un filtre, il y a \u00e0 chaque fois la possibilit\u00e9 d\u2019inclure la condition dans&nbsp;<em>-Filter<\/em>&nbsp;ou alors de r\u00e9aliser un filtre via un Where (<em>Where-Object<\/em>), voire m\u00eame de mixer les deux\u2026<\/p>\n\n\n\n<p>Voici la commande associ\u00e9e \u00e0 la requ\u00eate que l\u2019on recherche&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter { Enabled -eq \"True\" } -Properties PasswordExpired | Where {$_.PasswordExpired -eq $true }<\/mark><\/pre>\n\n\n\n<p><strong>Note<\/strong>&nbsp;: le caract\u00e8re $_ permet d\u2019utiliser une variable automatique qui reprend l\u2019occurrence courante renvoy\u00e9e par la commande avant le \u00ab&nbsp;|&nbsp;\u00bb, c\u2019est-\u00e0-dire Get-ADUser.<\/p>\n\n\n\n<p>Pour finir ce chapitre, nous allons r\u00e9aliser deux requ\u00eates d\u2019un style diff\u00e9rent. Je vous laisse lire la suite sans plus attendre.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Compter le nombre d\u2019utilisateurs dans l\u2019Active Directory :<\/mark><\/h3>\n\n\n\n<p>Avoir la liste des comptes d\u00e9sactiv\u00e9s, des comptes o\u00f9 le mot de passe est expir\u00e9, etc\u2026 C\u2019est bien, mais il peut \u00eatre int\u00e9ressant de tout simplement savoir combien il y en a. Pour obtenir cette information, nous pouvons faire appel \u00e0 la propri\u00e9t\u00e9 \u00ab&nbsp;count&nbsp;\u00bb qui va simplement nous retourner le nombre de r\u00e9sultats, sans nous les afficher.<\/p>\n\n\n\n<p>Imaginons que nous prenons cette requ\u00eate toute simple pour afficher les comptes actifs dans l\u2019AD&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter { Enabled -eq $True }<\/mark><\/pre>\n\n\n\n<p>Si l\u2019on souhaite savoir combien il y a de comptes actifs dans l\u2019AD, il suffit d\u2019ex\u00e9cuter cette commande&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">(Get-ADUser -Filter { Enabled -eq $True }).Count<\/mark><\/pre>\n\n\n\n<p><strong>Note&nbsp;<\/strong>: comme je le disais pr\u00e9c\u00e9demment, lorsque l\u2019on filtre sur un attribut bool\u00e9en comme&nbsp;<em>Enabled<\/em>, on peut soit indiquer \u00ab&nbsp;<em>false&nbsp;<\/em>\u00bb ou \u00ab&nbsp;<em>true&nbsp;<\/em>\u00bb entre guillemets, soit indiquer<em>&nbsp;$false<\/em>&nbsp;ou&nbsp;<em>$true<\/em>.<\/p>\n\n\n\n<p>Si l\u2019on veut r\u00e9cup\u00e9rer la liste des utilisateurs, et ensuite dans un second temps, compter le nombre d\u2019objets retourn\u00e9s par la commande sans multiplier les requ\u00eates dans l\u2019annuaire, il faut passer par une variable \u00ab&nbsp;interm\u00e9diaire&nbsp;\u00bb. Ce qui donne&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">$ADUsersEnabled = Get-ADUser -Filter { Enabled -eq $True }\n($ADUsersEnabled).Count<\/mark><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"170\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/09-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png\" alt=\"\" class=\"wp-image-2830\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/09-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/09-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x64.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/09-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x163.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Exporter les utilisateurs dans un fichier CSV :<\/mark><\/h3>\n\n\n\n<p>Pour finir ce chapitre, nous allons voir&nbsp;<strong>comment exporter dans un fichier CSV les r\u00e9sultats d\u2019une requ\u00eate Get-ADUser.<\/strong>&nbsp;Pour cela, le r\u00e9sultat de la commande sera envoy\u00e9 via le pipeline dans une commande Select-Object pour s\u00e9lectionner les propri\u00e9t\u00e9s \u00e0 inclure au fichier CSV puis gr\u00e2ce \u00e0 un second pipeline, nous allons r\u00e9aliser l\u2019export gr\u00e2ce au cmdlet Export-Csv.<\/p>\n\n\n\n<p>Ce cmdlet sera accompagn\u00e9 de trois param\u00e8tres&nbsp;:&nbsp;<strong>-Path<\/strong>&nbsp;pour indiquer le nom du fichier CSV et le dossier dans lequel le cr\u00e9er&nbsp;;&nbsp;<strong>-Encoding<\/strong>&nbsp;pour le type d\u2019encodage des donn\u00e9es (utile pour les accents)&nbsp;;&nbsp;<strong>-NoTypeInformation<\/strong>&nbsp;pour ne pas inclure une ligne sur la provenance des donn\u00e9es int\u00e9gr\u00e9es&nbsp;: cela est pr\u00e9f\u00e9rable pour avoir une premi\u00e8re qui correspond \u00e0 nos en-t\u00eates de colonnes du fichier CSV. Si nous n\u2019indiquons pas le param\u00e8tre&nbsp;<strong>-NoTypeInformation<\/strong>&nbsp;la premi\u00e8re ligne du CSV serait&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser<\/mark><\/pre>\n\n\n\n<p>Le param\u00e8tre&nbsp;<strong>-Delimiter<\/strong>&nbsp;peut \u00eatre ajout\u00e9 si l\u2019on d\u00e9sire modifier le type de d\u00e9limiteur&nbsp;: celui par d\u00e9faut est la virgule.<\/p>\n\n\n\n<p>Voici un exemple pour exporter dans un fichier CSV \u00ab&nbsp;<em>Users_Disabled.csv<\/em>&nbsp;\u00bb les comptes d\u00e9sactiv\u00e9s en int\u00e9grant trois propri\u00e9t\u00e9s&nbsp;:&nbsp;<strong>SamAccountName, Name, EmailAddress.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter {Enabled -eq $False} -Properties EmailAddress | `\n           Select-Object SamAccountName, Name, EmailAddress | `\n           Export-Csv -Path \"C:\\Temp\\Users_Disabled.csv\" -Encoding Default `\n           -NoTypeInformation<\/mark><\/pre>\n\n\n\n<p>Suite \u00e0 l\u2019ex\u00e9cution de cette commande, nous obtenons le fichier suivant&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"428\" src=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/10-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.jpg\" alt=\"\" class=\"wp-image-2833\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/10-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell.jpg 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/10-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-300x161.jpg 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2024\/03\/10-Recuperer-des-informations-sur-les-utilisateurs-avec-PowerShell-768x411.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Enfin, sachez que<strong>&nbsp;les donn\u00e9es dans le fichier CSV peuvent \u00eatre tri\u00e9es sur la base d\u2019un attribut<\/strong>, pour cela il faut ins\u00e9rer une commande suppl\u00e9mentaire&nbsp;: Sort-Object, suivie de l\u2019attribut \u00e0 utiliser pour r\u00e9aliser le tri alphab\u00e9tique. Voici un exemple&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">Get-ADUser -Filter {Enabled -eq $False} -Properties EmailAddress | `\n           Select-Object SamAccountName, Name, EmailAddress | `\n           <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">Sort-Object Name | `<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">\n           Export-Csv -Path \"C:\\Temp\\Users_Disabled.csv\" -Encoding Default `\n           -NoTypeInformation<\/mark><\/pre>\n\n\n\n<p><strong>Gr\u00e2ce aux diff\u00e9rents exemples d\u2019utilisation de la commande Get-ADUser, vous \u00eates d\u00e9sormais en mesure de r\u00e9aliser des requ\u00eates dans l\u2019Active Directory pour r\u00e9cup\u00e9rer des informations sur vos users.<\/strong><\/p>\n\n\n\n<p>La notion de filtre via le param\u00e8tre&nbsp;<em>-Filter<\/em>&nbsp;est tr\u00e8s importante et c\u2019est gr\u00e2ce \u00e0 ce filtrage que l\u2019on va pouvoir r\u00e9cup\u00e9rer ceux que l\u2019on souhaite. Ensuite, l\u2019utilisation de Select-Object ou Format-Table sert \u00e0 affiner la sortie et avoir un r\u00e9sultat plus synth\u00e9tique.<\/p>\n\n\n\n<p>Enfin, pensez \u00e0 utiliser le param\u00e8tre<em>&nbsp;-Server<\/em>&nbsp;pour pr\u00e9ciser le contr\u00f4leur de domaine que vous souhaitez interroger, je consid\u00e8re cela comme \u00e9tant une bonne pratique.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installer le module Active Directory sur Windows 10 et Windows Server : \u00c0 partir de Windows Server 2012<\/p>\n","protected":false},"author":1,"featured_media":2793,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"[]"},"categories":[1],"tags":[],"class_list":["post-2792","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/2792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2792"}],"version-history":[{"count":24,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/2792\/revisions"}],"predecessor-version":[{"id":2845,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/2792\/revisions\/2845"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/media\/2793"}],"wp:attachment":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}