User Tools

Site Tools


script:powershell:ad

Gestion de l'Active Directory avec PowerShell

Introduction

Avec le module

Interfaces de service Active Directory

Objectif

Les interfaces ADSI (Active Directory Service Interfaces) sont un ensemble d’interfaces COM utilisées pour accéder aux fonctionnalités des services d’annuaire à partir de différents fournisseurs de réseau. ADSI est utilisé dans un environnement informatique distribué pour présenter un ensemble unique d’interfaces de service d’annuaire pour la gestion des ressources réseau. Les administrateurs et les développeurs peuvent utiliser les services ADSI pour énumérer et gérer les ressources dans un service d’annuaire, quel que soit l’environnement réseau qui contient la ressource.

ADSI permet des tâches d’administration courantes, telles que l’ajout de nouveaux utilisateurs, la gestion des imprimantes et la localisation des ressources dans un environnement informatique distribué.

Les avantages et les inconvénients

Avantages

  • Natif à la condition que les modules frameworks soient à jour
  • Beaucoup plus de paramètre
  • Résultat plus rapide

Inconvénients

  • Pas de “Whatif”
  • Plus dur à mettre en place
  • Script plus long et donc une source possible d'erreur

ADSI vs Module

Module

Installer le module Active Directory

Windows 10

Get-WindowsCapability -Name *RSAT* -Online | Where-Object Name -Match ActiveDirectory | Add-WindowsCapability -Online
Windows Server
Get-WindowsCapability -Name *ServerManager* -Online | Where-Object State -ne Installed | Add-WindowsCapability -Online
Get-WindowsCapability -Name *ActiveDirectory* -Online | Where-Object State -ne Installed | Add-WindowsCapability -Online
import-module activedirectory

Gestion des groupes

$KLADMIN = Get-ADGroup -Filter {name -like "*kladmin*"} | ForEach-Object {
(Get-ADGroupMember -Identity $_.name -Recursive) | ForEach-Object {
$ADUserName = $_.name
Get-ADUser -Filter {name -eq $ADUserName} -Properties GivenName,Name,mail
}
}
$KLADMIN | Where-Object Enabled -eq $true | Select-Object GivenName,Name,mail,@{n='Login'; e={$_.UserPrincipalName}} | Export-Csv -Path C:\IT\Kladmin.csv -Force -Encoding UTF8 -Delimiter ',' -NoTypeInformation

script/powershell/ad.txt · Last modified: 2021/08/27 18:20 by admin