Rajouter des utilisateurs dans un groupe AD à partir d’un fichier .CSV

Hello, je partage ce petit script qui pourrait vous être utile si vous souhaitez rajouter des utilisateurs (100, 1000…) en bloc à un groupe AD.

Pour  utiliser ce script cela suppose que vous avez déjà la liste de vos utilisateurs et que ces derniers existent déjà dans votre organisation Active Directory. Il faudra donc constituer un fichier .csv et ensuite exécuter le script que je vous fournis dans ce post dans PowerShell sur un contrôleur de domaine.

Le contenu du fichier MesUsers.csv

Name
saturnin
marie
serge
kevin
joel
gedeon
salomon
daniel
philippe
josiane

Le script à utiliser est le suivant:

Import-Module ActiveDirectory #Nous chargeons le module Active Directory 

  $Group = "Nom du Groupe AD" #Group AD dans lequel vous souhaitez rajouter des users 
  $MesUsers = Import-Csv "C:\MesUsers.csv" #Chemin d'accès de votre fichier Csv contenant la liste de vos users 
  $members = Get-ADGroupMember -Identity $Group -Recursive | Select -ExpandProperty Name 

ForEach ($User in $MesUsers){ 

  #Vérifie si l'utilisateur existe déjà dans le groupe  
  If ($members -contains $User.Name){            
    Write-Host "$($User.Name.ToUpper()) exists in the Group" -ForegroundColor Yellow       

  #S'il n'existe pas on le rajoute      
  Elseif (Add-ADGroupMember -Identity $Group -Members $User.Name -ErrorAction SilentlyContinue){            
      Write-Host "$($User.Name.ToUpper()) a été rajouté au group" -ForegroundColor Green      
  }  

  #En cas de problème on ressort ici la liste des users qui n'ont pas pu être rajoutés      
  Else{          
     Write-Host "Unable to Add $($User.Name.ToUpper())" -ForegroundColor Red      
  } 
}

 

Pour visualiser le log des erreurs, histoire de vérifier que le scritp s’est exécuté correctement, il suffit d’afficher le contenu de la variable $error. C’est une variable système pré-définie dans PowerShell.

$error

Et voilà 🙂

Importer une VM Hyper-V dans Microsoft Azure

Dans le précédent article, nous avons vu comment installer Hyper-V sous Windows 10 et créer une VM. Intéressons-nous maintenant à son importation dans Microsoft Azure. Créer un compte de test Microsoft Azure si vous n’en avez pas encore.

Etape 1 : Préparation de la VM Hyper-V pour son importation dans Microsoft Azure

Nous allons syspreper la VM pour que son disque dur puisse nous servir de modèle à la création d’autres machines virtuelles une fois qu’elle est importée dans Azure.

Ouvrons donc une session sur notre VM, puis exécutons l’Outil de préparation sysème qui se trouve dans le répertoire “c:\Windows\System32\Sysprep\”. N’oubliez pas de cliquer sur Généraliser.

I1

Après quelques minutes la VM s’éteint.

I2

Maintenant que notre VM est éteinte, il faut convertir le disque du format VHDX dynamique au format VHD fixe. Ce dernier format est celui supporté par Azure.

Se rendre dans le répertoire où se trouve le disque de la VM et ouvrir une invite de commande PowerShell, et exécuter la commande ci-dessous :

Convert-VHD .\Win10.vhdx -DestinationPath .\Win10.vhd -VHDType Fixed

I3

Etape 2: Importation de la VM dans Azure

Se connecter au tenant Azure dans lequel on souhaite importer la VM à l’aide de la commande Azure PowerShell suivante.

Login-AzureRmAccount

A l’invite d’authentification, entrer le login et mot de passe de votre tenant Azure. Créer un compte de stockage Si vous n’en disposez pas déjà. Utiliser la commande suivante :

New-AzureRmStorageAccount -ResourceGroupName "NomGroupeDeRessource" -Name "NomCompteDeStockage" -Location "west europe" -SkuName "Standard_LRS" -Kind "Storage"

 

Une fois le compte de stockage créé, nous allons commencer par importer dans un premier temps le disque vhd de notre VM.

$rg = "rscgrp0508"
$Destination =https://strgaccnt0508.blob.core.windows.net/images/win10.vhd
$LocalFilePath = "C:\Users\jean-marie.agbo\Documents\LAB\Win10.vhd"
Add-AzureRmVhd -ResourceGroupName $rg -Destination $Destination -LocalFilePath $LocalFilePath

On peut observer la progression de l’importation du disque dur.

I4

Le processus d’importation peut nécessiter du temps, alors il faut être patient.

I5

Dans le portail Azure, on voit que le disque de la VM a été bien uploadé.

I6

L’importation de disque terminée, la création de la machine peut maintenant se faire.

#Network name
$vnetName = "az_demolab_network"
$ippubName = "ippub"
$rg = "rscgrp0508"
$ippubName = "ippub"

#Emplacement
$Location = "westeurope"
$vnetSubnetCfg = "int"

#Récupération du réseau lan auquel nous souhaitons le rattacher.
$virtualnetwork = Get-AzureRmVirtualNetwork -Name "az_demolab_network" -ResourceGroupName $rg
$subnetId = (Get-AzureRmVirtualNetworkSubnetConfig -Name $vnetSubnetCfg -VirtualNetwork $virtualnetwork).Id

#Mot de passe de l'administrateur local de votre VM
$credential = Get-Credential

#Création de la machine virtuelle dans Azure
$win10pubIp = New-AzureRmPublicIpAddress -Name $ippubName -ResourceGroupName $rg -Location $location -AllocationMethod Dynamic # -IdleTimeoutInMinutes 4

$NetworkInterface = "win10Nic"
$win10Nic = New-AzureRmNetworkInterface -Name $NetworkInterface -ResourceGroupName $rg -Location $Location -SubnetId $subnetId -PublicIpAddressId $win10pubIp.id

#Nom de stockage de la VM
$StrAccName = "strgaccnt0508"
$StorageAccountName = Get-AzureRmStorageAccount -AccountName $StrAccName -ResourceGroupName $rg

#Créer la configuration de la VM
$VMName = "Win10"
$VMSize = "Standard_A1"
$vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize

$vm = Set-AzureRmVMOperatingSystem -VM $vmConfig -Windows -ComputerName $VMName -Credential $credential -ProvisionVMAgent -EnableAutoUpdate
$vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $win10Nic.Id

#Création du disque système
$osDiskUri = ’{0}vhds/{1}-{2}.vhd’ -f $StorageAccountName.PrimaryEndpoints.Blob.ToString(), $VMName.ToLower(), "OS"
# https://strgaccnt0508.blob.core.windows.net/vhds/win10-OS.vhd

#StorageImageUKri
$SourceImageUri = "https://strgaccnt0508.blob.core.windows.net/images/win10.vhd"
$vm = Set-AzureRmVMOSDisk -VM $vm -Name "win10-SE" -VhdUri $osDiskUri -CreateOption fromImage -SourceImageUri $SourceImageUri -Windows

#Création de la machine virtuelle
New-AzureRmVM -ResourceGroupName $rg -Location $location -VM $vm -Verbose

Dans notre tenant Azure, nous pouvons voir notre VM créée.

I7

Nous avons terminé notre importation.

A très bientôt pour un prochain article. N’hésitez pas à me contacter si vous avez des sujets intéressants sur lesquels on pourrait travailler et faire une publication.

Installer Hyper-V sous Windows 10

Hello, dans cette publication, je vous montre comment activer la fonctionnalité  Hyper-V sur Windows 10. Dans un prochain article, nous verrons comment migrer une machine virtuelle Hyper-V dans Microsoft Azure.

Comme prérequis pour installer Hyper-V sur votre Windows 10, il faut que votre pc soit en architecture processeur 64 bits, supporte la virtualisation (et bien sûr Windows 10 déjà installé 😉 . Si ces prérequis sont remplis, vous pouvez vous lancer avec la procédure ci-dessous:

Connectez-vous à votre poste Windows 10 et ouvrez PowerShell en tant qu’Administrateur. Exécutez la commande ci-dessous.

Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All

01

 

Une fois l’installation d’Hyper-V terminée, ils vous sera nécessaire de redémarrer votre PC pour appliquer les modifications.

02

Dans cet exemple, j’ai saisi “No” parce que j’avais des fichiers ouverts sur mon PC, Si ce n’est pas le cas chez vous, vous pouvez saisir “Yes” et redémarrer automatiquement votre PC.

Après le reboot, rechercher Hyper-V

 

03

Dans le résultat de votre recherche cliquer sur Hyper-V Manager pour ouvrir le gestionnaire Hyper-V

04

Créons une VM à l’aide de la commande PowerShell suivante:

New-VMSwitch -Name internalSwitch -SwitchType Internal -Notes "Parent OS and internal VMs"

Vérifier que le switch a bien été créé dans la console de gestion Hyper-V

verif1

Le nom du switch est bien “internalSwitch” et de type “Internal”

verif2

Créons maintenant notre VM et rattachons la à notre switch précédemment créé. Utilisons la commande suivante :

New-VM -Name Win10 -MemoryStartupBytes 1024MB -NewVHDPath "C:\Hyper-V\VMs\Win10.vhdx" -NewVHDSizeBytes 20GB

Vérification graphique:

verif3

Et voilà, nous avons installé Hyper-V sur notre Windows 10 et créé une VM

Facile… 🙂

Installer des Machines Virtuelles à l’aide d’Azure PowerShell

Objectif du lab: Déployer des machines virtuelles à l’aide de PowerShell pour Azure. Nous essayerons de mettre en place l’architecture ci-dessus.

Etape 1 : Créer votre compte azure gratuitement

Je vous invite à utiliser ce tuto pour créer votre compte azure.

Etape 2 : Connectez-vous à votre tenant Azure à l’aide d’Azure PowerShell

Si vous n’avez pas encore installé Azure PowerShell, visiter ce lien sinon lancer PowerShell depuis votre poste de travail (je préfère utiliser PowerShell ISE)

ISE01

 

Saisir la commande suivante pour vous connecter

ISE02

Entrer les informations d’authentifications à votre compte

ISE03

Une fois la connexion réussie, les informations de votre tenant s’affichent en dessous

ISE04

Vous voilà maintenant prêt pour la mise en place du lab 🙂 !

Etape 3 : Définition des variables pour le déploiement des serveurs

#################### Définition des variables ################
#Les variables du script
$SubscriptionName = "moncompteazure" #Nom de votre tenant Azure
$StorageAccountName = "strgaccnt0508" #Nom de votre compte de stockage qui contiendra les composants Azure que nous allons déployer
$ResourceGroupName = "rscgrp0508" #Regroupe toutes les ressources/composants de notre lab (VMs, NICs, IPs...)
$Location = "West Europe" #Emplacement géographique de notre tenant Azure
$SkuName = "Standard_LRS"
$vms = @("WAP01azlab0408","WAP02azlab0408","ADFS01azlab0408","ADFS02azlab0408") #Les noms de nos VMs
$VMSize = "Standard_A1" #Taille de la VM
$PublisherName = "MicrosoftWindowsServer"
$Offer = "WindowsServer" #Type de VMs
$Skus = "2016-Datacenter" #Système d'exploitation
$Version = "latest"

$nicIndex = 1
$intNicId = -1

#Network name
$vnetName = "az_demolab_network"

#Subnets Names
$int = "INT"
$lan = "LAN"
$subnets = @("int","lan")

#Subnets Address Prefixes
$vnet_Addr_Prefix = "10.10.0.0/16"
$int_Addr_Prefix = "10.10.1.0/24"
$lan_Addr_Prefix = "10.10.2.0/24"

#Internet IP addresses
$wap_intIpName = @("","")

##WAP Network config
#NIC config
$nic_Lan_WAP01 = "nic_Lan_WAP01"
$nic_Lan_WAP02 = "nic_Lan_WAP02"
$nic_int_WAP01 = "nic_int_WAP01"
$nic_int_WAP02 = "nic_int_WAP02"

#lan 10.10.2.1x
$lan_ip_WAP01 = "10.10.2.11"
$lan_ip_WAP02 = "10.10.2.12"

##FS Network Config
#NICs
$nic_Lan_FS01 = "nic_Lan_FS01"
$nic_Lan_FS02 = "nic_Lan_FS02"

#lan 10.10.2.2x
$lan_ip_FS01 = "10.10.2.21"
$lan_ip_FS02 = "10.10.2.22"

#Network security groups
$networkSecurityGroupName = "az_demolab$(Get-Random)"
$NetworkSecurityRuleConfig_RDP = "az_demolab_NSRCfg_RDP"
$NetworkSecurityRuleConfig_HTTP = "az_demolab_NSRCfg_HTTP"
[int]$DestinationPortRange_RDP = 3389
[int]$DestinationPortRange_HTTP = 80

Etape 4 : Configuration des composants réseaux

############################# Network Config ###########################
#Creating Resource group
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $Location

#Creating Resource storage
New-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -Location $Location -SkuName $SkuName

#Create two virtual subnets INT and LAN
$subnet_int_Addr_Pr = New-AzureRmVirtualNetworkSubnetConfig -Name $int -AddressPrefix $int_Addr_Prefix
$subnet_lan_Addr_Pr = New-AzureRmVirtualNetworkSubnetConfig -Name $lan -AddressPrefix $lan_Addr_Prefix

#Create virtual Networks
$vnet = New-AzureRmVirtualNetwork -ResourceGroupName $ResourceGroupName -Name $vnetName -AddressPrefix $vnet_Addr_Prefix -Location $Location -Subnet $subnet_int_Addr_Pr,$subnet_lan_Addr_Pr

#Create virtual public ips for the WAP Servers
$i = 0 
Do { $wap_intIpName[$i] = New-AzureRmPublicIpAddress -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod Dynamic -IdleTimeoutInMinutes 4 -Name ("wap0" + ($i+1) + "_intIp")
 $i +=1
}
While ($i -lt 2)

Etape 5 : Création des groupes de sécurité

###################### Network Security Groups config ####################
# Create an inbound network security group rule for port 3389
$SecurityRulesRDP = New-AzureRmNetworkSecurityRuleConfig -Name $NetworkSecurityRuleConfig_RDP -Protocol Tcp -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange $DestinationPortRange_RDP -Access Allow

# Create an inbound network security group rule for port 80
$SecurityRulesHTTP = New-AzureRmNetworkSecurityRuleConfig -Name $NetworkSecurityRuleConfig_HTTP -Protocol Tcp -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange $DestinationPortRange_HTTP -Access Allow

# Create a network security group
$NetworkSecurityGroup = New-AzureRmNetworkSecurityGroup -ResourceGroupName $ResourceGroupName -Location $Location -Name $networkSecurityGroupName -SecurityRules $SecurityRulesRDP,$SecurityRulesHTTP

Etape 6: Création des Machines Virtuelles

#################### Creating NICs and VMs #########################
#Récupération des informations d'authentification du compte admin local des VMs
$cred = Get-Credential

ForEach ($vm in $vms) {
#Création des interfaces réseaux lan pour les WAP et les FS
 $lanNic = New-AzureRmNetworkInterface -Name ($vm + "_lanNic" + $nicIndex) -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $vnet.Subnets[1].Id -NetworkSecurityGroupId $NetworkSecurityGroup.Id

#Configuration des VMs WAP
 if ($vm -ilike "WAP*"){
 $intNicId += 1

 #Création des interfaces réseaux internet pour les WAP
 $intNic = New-AzureRmNetworkInterface -Name ($vm + "_intNic" + $nicIndex) -ResourceGroupName $ResourceGroupName -Location $Location -PublicIpAddressId $wap_intIpName[$intNicId].Id -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $NetworkSecurityGroup.Id 
 $vmConfig = New-AzureRmVMConfig -VMName $vm -VMSize $VMSize | Set-AzureRmVMOperatingSystem -Windows -ComputerName $vm -Credential $cred | Set-AzureRmVMSourceImage -PublisherName $PublisherName -Offer $Offer -Skus $Skus -Version $Version | Add-AzureRmVMNetworkInterface -Id $intNic.Id -Primary $vmconfig = $vmConfig | Add-AzureRmVMNetworkInterface -Id $lanNic.Id
}

#Configuration des VMs FS
 else {
  $vmConfig = New-AzureRmVMConfig -VMName $vm -VMSize $VMSize | Set-AzureRmVMOperatingSystem -Windows -ComputerName $vm -Credential $cred | Set-AzureRmVMSourceImage -PublisherName $PublisherName -Offer $Offer -Skus $Skus -Version $Version | Add-AzureRmVMNetworkInterface -Id $lanNic.Id
 }
 
 #Création de la Machine Virtuelle
 New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $vmConfig
}

…Ps: vous pouvez exécuter toutes ces étapes en une seule fois en collant les bouts de script les uns à la suite des autres 🙂

Etape 7 : Vérification du bon déploiement des serveurs et de leurs composants

#Le groupe de ressources

02

#Les Machines virtuelles créées

01

#Les composants réseaux

03

ISE05

Nous sommes à la fin de notre déploiement… 🙂

Installer le module PowerShell pour Azure

Hello 🙂 , retrouvez dans ce post comment installer le Module Azure For PowerShell afin de pouvoir gérer vos machines virtuelles Azure à distance à l’aide de cmdlets.

Tout d’abord, il est important de savoir qu’il y a deux types de machines virtuelles dans Azure:

  • Les Machines virtuelles classiques
  • Les Machines virtuelles gérées (Remote Managed VM)

Pour installer les modules de gestions de machines virtuelles, suivre la procédure ci-dessous. Votre ordinateur doit être connecté à l’internet pour que les téléchargements se fassent automatiquement.

Ouvrir une console PowerShell,

Install-Module AzureRM # Pour les Machines virtuelles gérées
Install-Module Azure # Pour les Machines virtuelles classiques

Si vous procédez à l’installation depuis PowerShell ISE, vous observerez la progression comme ci-dessous:

Azure2

L’installation terminée, utiliser la commande ci-dessous pour vérifier la présence du module Azure.

Get-Module -ListAvailable *Azure*

Azure3

Et voilà 🙂 … Vous êtes presque prêt pour gérer vos machines virtuelles.

Dans le prochain post, je vous montrerai comment vous connecter à Azure et Créer un environnement de test.

Débuter avec PowerShell pour Office 365

Je vous présente par le biais de cet article un site très intéressant dédié à la gestion d’Office 365 à l’aide de PowerShell.

Déjà… Qu’est-ce qu’Office 365 ?

Avant d’aller plus loin, vous trouverez sur ce lien qui décrit de façon briève les différents Plans d’Office 365 : https://products.office.com/fr-fr/business/compare-more-office-365-for-business-plans. Il liste l’ensemble des produits qui composent Office 365 avec les coûts des licences.

Pour administrer Office 365, nous avons le choix d’utiliser soit la console graphique ou la ligne de commande.

Interface graphique

PSO365_1

Tout en gardant à l’esprit que la ligne de commande est mieux indiquée pour des tâches en bloc comme la migration d’un grand lot de Boîtes Aux Lettres (BALs) vers Office 365.

Ligne de commande avec PowerShell for Office 365

Je vous invite à visiter ce site http://powershell.office.com/ Il est structuré en cinq grandes rubriques utiles pour acquérir des connaissances sur PowerShell for Office 365. Je vous présente rapidement ces rubriques :

 

Home

La page d’accueil nous explique l’intérêt d’utiliser PowerShell pour l’administration de votre tenant Office 365. http://powershell.office.com/

PSO365_2

 

Get Started 

Cette partie vous explique comment installer les outils dont vous avez besoin pour le PowerShell. Voici un exemple pour l’installation du module Microsoft Online Services Sing-in Assitant pour se connecter à Office 365 et l’installation du module Azure Active Directory (AzureAD).

 

Installation des Outils indispensables

  1. Microsoft Online Services Sign-In Assistant for IT Professionals RTW (https://www.microsoft.com/en-US/download/details.aspx?id=41950)

 

  1. Installez la version 64 bits du Module Windows Azure Active Directory pour Windows PowerShell en suivant les étapes suivantes (http://connect.microsoft.com/site1164/Downloads/DownloadDetails.aspx?DownloadID=59185)

 

Scenarios

Cette rubrique nous montre comment nous connecter aux services en ligne d’Office 365. http://powershell.office.com/scenarios

PSO365_3

 

Exemple de connexion à Azure Active Directory

PSO365_4

Affichons par exemple les licences disponibles dans notre tenant Office 365 à l’aide de ligne de commande PowerShell

PSO365_5

 

Script Samples

Vous trouverez dans cette rubrique, des exemples de scripts pour accomplir certaines tâches comme par exemple « Assigner une licence dans Office 365 à l’aide de PowerShell » http://powershell.office.com/script-samples

 

PSO365_6

Community

Dans cette dernière rubrique, vous pouvez partager votre point de vue sur les différents sujets traités ? http://powershell.office.com/community

PSO365_7

 

Et voilà 🙂

Générer un fichier .CSR à l’aide d’une MMC et faire une demande de certificat.

Dans cet article, je partage avec vous une méthode toute simple pour générer un fichier de demande de certificat (.CSR) à l’aide d’une MMC.

>>  Ouvrir une MMC sur votre serveur de certificat.

01

 

>> Fichier >> Ajouter/Supprimer un composant enfichable…

2

Certificats >> Ajouter

3

Cocher >> Un compte d’ordinateur (car on veut demander un certificat pour l’ordinateur)

4

>>  L’ordinateur local >> Terminer

5

>> OK

6

>> Cliquer-droit sur Certificats >> Toutes les tâches >> Opérations avancées >> Créer une demande personnalisée…

7

>> Suivant

8

>> Suivant

9

>> Suivant

10

>> Suivant

11

>> Cliquer sur Détails >> Propriétés

12

>> Dans l’onglet Général, entrer le nom convivial de votre certificat

Dans la fenêtre suivante, faire:

>> Objet >> Dans Nom du sujet > > Type : Nom commun >> Valeur : tosca.sibille.lan puis cliquer sur Ajouter

13

Répéter cette action pour Nom du sujet

Type Valeur
Nom commun mon.domaine.lan
Pays FR
Ville PARIS
Organisation Mon organisation
Unité d’organisation DSI
Etat IDF

Répéter cette action pour l’onglet Autre nom (seulement, si vous souhaitez que le certificat comporte des noms alternatifs pour vos serveurs)

Type Valeur
DNS
  • appli1.domaine.lan
  • serveur2.domaine.lan
  • fqdn03.domaine.lan
  • appli04.domaine.lan
  • appli05.domaine.lan

 

>> Appliquer >> OK

 

14

>> Suivant et en registrer le fichier CSR

15

Aller dans l’emplacement où est enregistrer le fichier CSR et l’ouvrir, puis copier son contenu.

16

Se connecter à l’URL de demande de certificats de votre autorité de délivrance de certificat. exemple: https://monserveur/certsrv

17

>> Coller le contenu du fichier copié précédemment dans “Demande enregistrée” puis sélectionner votre modèle de certificat dans “Modèle de certificat”.

>> Envoyer

18

>> Télécharger le certificat

Vous devrez observer ici le nom du sujet renseigné précédemment dans CN, on peut voir également les informations de validité du certificat. Je rappelle que cette information dépend du modèle de certificat que vous aurez auparavant choisi.

19

>> Détails

20

Et voilà, nous avons généré un fichier de demande de certificat, puis effectué la demande de certificat auprès de notre autorité de certificat. Je rappelle que le fichier CSR peut aussi servir à faire une demande auprès d’une autorité publique.

Dans ce billet, nous avons supposé qu’une autorité de certification était déjà en place dans votre organisation. Vous pouvez toutefois consulter l’une de mes publications précédentes qui montre comment mettre en place une autorité de certification si vous en avez pas : Déployer une PKI 3-tiers en entreprise.

A bientôt dans un prochain article 🙂 !

 

Lister les serveurs de votre domaine

Dans ce billet, je vous expose deux méthodes simples de recherches de vos serveurs dans l’AD. La première se fait à base de commande PowerShell, il vous sera nécessaire de la réexécuter toutes les fois que vous aurez besoin de rechercher des infos. La seconde à l’aide de Requêtes engregistrées est relativement longue à créer mais vous n’aurez pas besoin de la réexécuter puisqu’elle s’actualise toute seule.

Méthode 1 : A l’aide PowerShell

Ouvrir Windows PowerShell sur votre contôleur de domaine et importer le module Active Directory :

Import-Moduel ActiveDirectory

Utiliser la commande suivante pour lister vos serveur 2012

Get-ADComputer -Filter * -properties * | where {$_.OperatingSystem -ilike “Windows Server 2012 *”} | Select Name, OperatingSystem

ListServer2

Si vous voulez savoir juste le nombre de serveur, c’est simple:

>(Get-ADComputer -Filter * -properties * | where {$_.OperatingSystem -ilike “Windows Server 2012 *”}).count

ListServer3

Méthode 2 : A l’aide Requêtes enregistrées

Ouvrer la console “Utilisateurs et Ordinateurs Active Directory”, dans l’arborescence de gauche, cliquer-droit sur “Requêtes enregistrées” >> Nouveau >> Requête

RE1

Dans la fenêtre qui s’ouvre, donner un nom significatif à votre requête, dans notre cas “All Windows Server 2012”

RE2

Dans la fenêtre suivante, nous mettons ” * ” parce que nous voulons rechercher plusieurs ordinateurs, le rôle installé sur l’ordinateur nous importe peu. Mais on aurait pu choisir “Contrôleur de domaine si on cherchait tous les DCs 2012 de notre domaine” par exemple.

RE3

Dans l’option champ, nous déroulons la liste pour sélectionner “système d’exploitation” puis utilisons les paramètres suivants “Condition: Commencer par”, “Valeur : Windows Server 2012”

RE4

Cliquer sur “Ajouter” puis OK

RE5

Dans la fenêtre suivante, nous avons un résumé du paramétrage effectué avec la “Chaîne de recherche” correspondante. Cliquer sur OK pour valider.

RE6b

Et nous pouvons constater que les serveurs Windows 2012 de notre domaine sont listés dans la console “Utilisateurs et Ordinateurs Active Directory”.

RE7

Et voilà 🙂

Déployer une PKI 3-tiers en entreprise

Définition

Dans cette rubrique, nous vous proposons de mettre en place une PKI 3-tiers, c’est-à-dire constituée par une chaîne de trois serveurs. Pour cela il nous faut :

  • Un serveur Root CA qui la plupart du temps restera hors tension pour des besoins de sécurité. Cela permet de protéger la clé privée de cette autorité qui est garant de l’intégrité de toute la PKI.
  • Un serveur Intermediate CA qui est subordonné au Root CA, il sera chargé de distribuer des certificats aux serveurs Issuing CA.
  • Un serveur Issuing CA, subordonné à l’Intermediate CA, il s’occupe de délivrer des certificats aux points terminaux et aux utilisateurs.

Pré requis matériels et logiciels

Pour la mise en oeuvre, nous allons utiliser 3 machines virtuelles Windows Server 2012 R2.

CA-ROOT-01 Autorité racine 4 GB RAM, DD 40GB, Windows Server 2012 R2
CA-INT-01 Autorité intermédiare 4 GB RAM, DD 40GB, Windows Server 2012 R2
CA-ISS-01 Autorité de délivrance de certificats aux points terminaux 4 GB RAM, DD 40GB, Windows Server 2012 R2

Installation de l’autorité racine CA-ROOT-01

Sur notre autorité racine, nous allons installer le rôle “Services de certificats Active Directory”

Root1

Dans la fenêtre suivante, accepter l’ajout des rôles et fonctionnalités requises pour le bon fonctionnement de la PKI

Root2

Veillez à ce que les trois services de rôle ci-dessous soient bien cochés

Root4

Dans la prochaine fenêtre, cliquer sur “Suivant”

Root6

Confirmer les modifications et cliquer sur “Suivant” pour installer le rôle.

Une fois l’installation terminée, nous pouvons maintenant configurer les services de certificats Active Directory en cliquant sur le lien dans la fenêtre ci-desssus.

Root8

Root9

Root10

Dans la fenêtre suivante, cocher la case “Autorité de certification autonome” car nous voulons que notre Root CA ne soit pas membre du domaine et soit hors ligne la majeur partie du temps à l’abri des cybercriminels. Cette configuration permet de le maintenir hors de danger.

Root11

Cocher la case “Autorité de certification racine” car nous installons ici notre premier serveur de notre PKI.

Root12

Root13

Choisir l’algorithme de hachage SHA256

Root14

Dans la fenêtre suivante, vous pouvez modifier les informations ou conserver celles qui y figurent par défaut.

Root15

Nous spécifions ici une période de validité de 10 ans pour le certificat généré par notre autorité racine.

Root16

Root17

Root18

Vérifier que la période de validité a bien été enregistrée dans le registre. La valeur est inscrite en Hexadécimal, donc vous devrez y voir “16”

Ordinateur\HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\NomDeVotreCA

Root19

La configuration de notre Root CA est terminée, passons maintenant à l’autorité intermédiaire. La procédure est la même sauf qu’ici nous allons requêter un certificat auprès de notre Root CA pour configurer notre autorité intermédiaire.

Installation de l’autorité intermadiaire CA-INT-01

Sur notre serveur CA-INT-01, nous allons installer dans un premier temps le rôle “Services de certificats Active Directory”

Int1

Int2

Une fois l’installation terminée, cliquer sur “Configurer les services de certificats Active Directory sur le serveur de destination”.

Int3

Dans la fenêtre suivante, choisir “Autorité de certification autonome”

Int5

Il s’agit de l’autorité intermédiaire de notre PKI, donc nous choisissons “Autorité de certification secondaire” dans la fenêtre suivante.

Int6

Int7

Il est conseillé d’utiliser le SHA256 comme algorithme de hachage

Int8

Int9

Int10

Dans la fenêtre suivante, veuillez à bien noter l’emplacement de votre fichier de requête de certificat, dans notre cas, nous il sera à la racine du disque système “C:\CA-INT-01.NomDuDomain.req

Int12

Copier le contenu du fichier “C:\CA-INT-01.NomDuDomain.req, se connecter à http://CA-ROOT-01/certsrv pour requêter un certificat auprès du root pour notre autorité intermédiaire.

Int13

Int14

Int15

Int16

Cliquer sur Envoyer

Int17

Noter l’identificateur de la requête, puis se connecter à la console de gestion de l’Autorité de certificat CA-ROOT-01 et délivrer le certificat généré précédemment. Aller dans l’onglet Demandes en attente, identifier le certificat selon l’ID n°3 puis Délivrer le certificat comme ci-dessous:

Int19

Retourner ensuite dans sur http://CA-ROOT-01/certsrv

Int20

Cliquer sur “Afficher le statut d’une requête de certificat en attente” et télécharger le certificat selon le format qui vous convient.

Int21

Se connecter ensuite à la console de gestion de l’autorité CA-INT-01 et démarrer le service de certificat.

Int22

Int23

Cliquer sur Oui puis sur OK dans la fenêtre suivante pour terminer votre installation.

Int24

Pour vérifier la durée de validité du certificat de l’autorité intermédiaire, vous pouvez regarder la clé de Registre ci-dessous. Ici, nous avons choisi 5 ans, vous pouvez toujours l’augmenter cette valeur si vous le souhaitez mais attention, elle ne peut excéder celle de l’autorité racine CA-ROOT-01.

Int25

Installation de l’autorité émettrice de certificats aux terminaux

Se connecter au serveur CA-ISS-01 puis ajouter le rôle Autorité de certification ainsi que les paramètres ci-dessous:

Iss1

Iss2

Une fois l’installation du rôle terminée, nous passons à la configuration.

Iss3

Nous choisissons dans la fenêtre suivante “Autorité de certification d’entreprise” comme type d’installation étant donné que notre serveur ici sera membre du domaine.

Iss4

Notre serveur CA-ISS-01 est subordonné au serveur intermédiaire CA-INT-01, pour cela, nous choisissons “Autorité de certification secondaire”.

Iss5

Veuillez à sélectionner le SHA256 ou plus pour l’algorithme de hachage

Iss6

Cliquer deux fois sur “Suivant”. Dans la fenêtre suivante, noter l’emplacement du fichier de requête C:\CA-INT-01.NomDuDomaine.req et copier son contenu.

Iss9

Cliquer sur “Fermer” pour terminer l’installation. Se connecter ensuite à http://CA-INT-01/certsrv.

Iss11

Utiliser le contenu du fichier de requête généré un peu plus haut pour demander le certificat du serveur CA-ISS-01.

Iss12

Cliquer sur “Envoyer” et suivre la même procédure que celle de l’autorité intermédiaire

Iss13

 

Iss14

 

Iss15

 

Iss16

Notre infrastructure de certificat est maintenant en place, nous allons nous intéresser à la configuration de l’inscription automatique pour les postes de travail, serveur ou comptes utilisateurs.

L’inscription automatique est une option sur les modèles de certificats, qui couplée aux GPOs, permet aux comptes d’ordinateurs/utilisateurs de récupérer et de renouveler automatiquement leurs certificats auprès d’une autorité de certification sous les plateformes Windows.