[toc]
# Installation de Windows Server Core/GUI
## Étapes d'Installation Initiales
1. **Sélection de la Clé d'Installation**

*Remarque: Si vous souhaitez l'expérience bureau, sélectionnez cette option*
2. **Choix de la Version du Serveur**

*Standard Core sélectionné dans cet exemple*
3. **Acceptation des Conditions d'Utilisation**

*Cliquez sur "J'accepte les conditions de licence" et continuez*
4. **Sélection du Type d'Installation**

*Choisissez "Personnalisé: Installer uniquement Windows (avancé)"*
5. **Sélection du Disque d'Installation**

*Sélectionnez votre partition principale*
6. **Attente de la Fin de l'Installation**

*La progression de l'installation sera affichée*
## Configuration du Mot de Passe Administrateur (Version GUI)
7. **Définition du Mot de Passe Administrateur**

*Entrez et confirmez un mot de passe fort pour le compte administrateur*
# Configuration Réseau
## Configuration de la Carte Réseau (Windows GUI)
1. **Accès au Panneau de Configuration**

*Ouvrez le Panneau de configuration depuis le menu Démarrer*
2. **Ouverture des Paramètres Réseau**

*Sélectionnez "Centre Réseau et partage"*
3. **Sélection de l'Interface Réseau**

*Cliquez sur votre connexion réseau active*
4. **Accès aux Propriétés Réseau**

*Cliquez sur le bouton "Propriétés"*
5. **Configuration des Paramètres IPv4**

*Sélectionnez "Protocole Internet version 4 (TCP/IPv4)" et cliquez sur "Propriétés"*
6. **Saisie de la Configuration Réseau**

*Entrez l'adresse IP, le masque de sous-réseau, la passerelle par défaut et les détails du serveur DNS*
## Renommage de l'Ordinateur (Windows GUI)
1. **Ouverture des Paramètres Système**

*Accédez aux paramètres de nom du PC*
2. **Accès à l'Option de Renommage**

*Cliquez sur le bouton "Renommer ce PC"*
3. **Saisie du Nouveau Nom d'Ordinateur**

*Tapez le nouveau nom et cliquez sur "Suivant"*
4. **Redémarrage du Serveur**

*Cliquez sur "Redémarrer maintenant" pour appliquer les changements*
## Configuration de la Carte Réseau (Windows Core)
1. **Accès à l'Utilitaire SConfig**

*Sélectionnez l'option 8 pour les paramètres réseau*
2. **Sélection de l'Adaptateur Réseau**

*Entrez le numéro d'index de votre adaptateur réseau*
3. **Configuration de l'Adresse IP**

*Sélectionnez l'option 1 pour définir l'adresse IP*
4. **Choix de la Méthode d'Attribution IP**

*Sélectionnez "S" pour IP statique (recommandé pour les serveurs)*
5. **Saisie de l'Adresse IP**

*Tapez l'adresse IP de votre serveur*
6. **Saisie du Masque de Sous-réseau**

*Entrez le masque de sous-réseau (généralement 255.255.255.0)*
7. **Configuration de la Passerelle par Défaut**

*Entrez l'adresse de la passerelle par défaut de votre réseau*
8. **Configuration des Paramètres DNS**

*Sélectionnez l'option 2 pour définir les serveurs DNS*
9. **Configuration du DNS Primaire**

*Entrez l'adresse du serveur DNS primaire (souvent local)*
10. **Configuration du DNS Secondaire**

*Entrez l'adresse du serveur DNS secondaire (souvent un autre serveur AD)*
## Renommage de l'Ordinateur (Windows Core)
1. **Accès aux Paramètres de Nom d'Ordinateur**

*Sélectionnez l'option 2 dans le menu principal SConfig*
2. **Saisie du Nouveau Nom d'Ordinateur**

*Tapez le nouveau nom du serveur et appuyez sur Entrée*
3. **Redémarrage du Serveur**

*Redémarrez le serveur pour appliquer le changement de nom*
---
# Configuration des contrôleurs de domaine Active Directory sur Windows Core
## Aperçu général
Cette documentation vous guide à travers le processus de configuration de deux contrôleurs de domaine Active Directory à l'aide de Windows Server Core. La configuration est automatisée à l'aide de scripts PowerShell qui configurent tous les composants nécessaires.
## Prérequis
- Installations de Windows Server Core
- Accès administratif
- Connectivité réseau entre les serveurs
## Configuration du contrôleur de domaine principal
### Étape 1 : Quitter SConfig pour accéder à PowerShell
D'abord, quittez l'interface de configuration du serveur (SConfig) en sélectionnant l'option 15 pour accéder à la ligne de commande PowerShell.

### Étape 2 : Créer le script d'installation
1. Lancez le Bloc-notes pour créer un nouveau script PowerShell :
```powershell
notepad AD-Install.PS1
```

2. Une boîte de dialogue apparaîtra vous demandant si vous souhaitez créer un nouveau fichier. Cliquez sur **Oui**.

3. Collez le script d'installation AD dans le Bloc-notes et enregistrez le fichier.
```powershell!
#--------------------------------------------------------------------------
#- Created by: David Rodriguez -
#- Blog: www.sysadmintutorials.com -
#- Modified by: Maximilian Neu -
#--------------------------------------------------------------------------
#-------------
#- Variables - -
#-------------
# Network Variables
$ethipaddress = '172.16.10.20' # static IP Address of the server
$ethprefixlength = '24' # subnet mask - 24 = 255.255.255.0
$ethdefaultgw = '172.16.10.254' # default gateway
$ethdns = '127.0.0.1,172.16.10.21' # for multiple DNS you can append DNS entries with comma's
$globalsubnet = '172.16.10.0/24' # Global Subnet will be used in DNS Reverse Record and AD Sites and Services Subnet
$subnetlocation = 'Colmar'
$sitename = 'Colmar-Site' # Renames Default-First-Site within AD Sites and Services
# Active Directory Variables
$domainname = 'haut-rhin.gouv' # enter in your active directory domain
# Remote Desktop Variable
$enablerdp = 'yes' # to enable RDP, set this variable to yes. to disable RDP, set this variable to no
# Hostname Variables
$computername = 'VAD68COL01' # enter in your server name
# NTP Variables
$ntpserver1 = '0.fr.pool.ntp.org'
$ntpserver2 = '1.fr.pool.ntp.org'
# Timestamp
Function Timestamp {
$Global:timestamp = Get-Date -Format "dd-MM-yyy_hh:mm:ss"
}
# Log File Location
$logfile = "C:\AD-Install\Windows-2022-AD-Deployment-log.txt"
# Create Log File
Write-Host "-= Get timestamp =-" -ForegroundColor Green
Timestamp
IF (Test-Path $logfile) {
Write-Host "-= Logfile Exists =-" -ForegroundColor Yellow
}
ELSE {
Write-Host "-= Creating Logfile =-" -ForegroundColor Green
Try {
New-Item -Path 'C:\AD-Install' -ItemType Directory | Out-Null
New-Item -ItemType File -Path $logfile -ErrorAction Stop | Out-Null
Write-Host "-= The file $($logfile) has been created =-" -ForegroundColor Green
}
Catch {
Write-Warning -Message $("Could not create logfile. Error: " + $_.Exception.Message)
Break;
}
}
# Check Script Progress via Logfile
$firstcheck = Select-String -Path $logfile -Pattern "1-Basic-Server-Config-Complete"
IF (!$firstcheck) {
# Add starting date and time
Write-Host "-= 1-Basic-Server-Config-Complete, does not exist =-" -ForegroundColor Yellow
Timestamp
Add-Content $logfile "$($Timestamp) - Starting Active Directory Script"
## 1-Basic-Server-Config ##
#------------
#- Settings -
#------------
# Set Network
Timestamp
Try {
# Get current IP configuration for the first enabled adapter (support French localization)
$adapterStatusNames = @("Up", "Activé", "Connecté")
$adapter = $null
foreach ($statusName in $adapterStatusNames) {
$adapter = Get-NetAdapter | Where-Object { $_.Status -eq $statusName } | Select-Object -First 1
if ($adapter) {
break
}
}
if (-not $adapter) {
throw "No active network adapter found"
}
$currentIP = Get-NetIPAddress -InterfaceIndex $adapter.ifIndex -AddressFamily IPv4
Write-Host "-= Using network adapter: $($adapter.Name) =-" -ForegroundColor Yellow
Add-Content $logfile "$($Timestamp) - Using network adapter: $($adapter.Name)"
# Check if settings are already configured
if ($currentIP.IPAddress -eq $ethipaddress -and
$currentIP.PrefixLength -eq $ethprefixlength) {
Write-Host "-= Network settings already configured, skipping =-" -ForegroundColor Yellow
Add-Content $logfile "$($Timestamp) - Network settings already configured, no changes needed"
}
else {
New-NetIPAddress -IPAddress $ethipaddress -PrefixLength $ethprefixlength -DefaultGateway $ethdefaultgw -InterfaceIndex $adapter.ifIndex -ErrorAction Stop | Out-Null
Set-DNSClientServerAddress -ServerAddresses $ethdns.Split(',') -InterfaceIndex $adapter.ifIndex -ErrorAction Stop
Write-Host "-= IP Address successfully set to $($ethipaddress), subnet $($ethprefixlength), default gateway $($ethdefaultgw) and DNS Server $($ethdns) =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - IP Address successfully set to $($ethipaddress), subnet $($ethprefixlength), default gateway $($ethdefaultgw) and DNS Server $($ethdns)"
}
}
Catch {
Write-Warning -Message $("Failed to verify/apply network settings. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error in network configuration: $($_.Exception.Message)"
Break;
}
# Set RDP
Timestamp
Try {
IF ($enablerdp -eq "yes") {
# Activer RDP dans le registre
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0 -ErrorAction Stop
# Rechercher le groupe de règles de pare-feu correspondant à "Remote Desktop" ou "Bureau à distance"
$rdpDisplayGroupNames = @("Remote Desktop", "Bureau à distance", "Connexion Bureau à distance")
$foundGroup = $null
foreach ($groupName in $rdpDisplayGroupNames) {
$groupExists = Get-NetFirewallRule | Where-Object { $_.DisplayGroup -eq $groupName }
if ($groupExists) {
$foundGroup = $groupName
break
}
}
if ($foundGroup) {
Enable-NetFirewallRule -DisplayGroup $foundGroup -ErrorAction Stop
Write-Host "-= RDP Successfully enabled (firewall group: '$foundGroup') =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - RDP Successfully enabled (firewall group: '$foundGroup')"
} else {
Write-Warning "Failed to enable RDP. No matching firewall rule group found for RDP."
Add-Content $logfile "$($Timestamp) - Warning: No RDP firewall group found in available languages."
}
}
}
Catch {
Write-Warning -Message $("Failed to enable RDP. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error while enabling RDP: $($_.Exception.Message)"
Break;
}
# Set Hostname
Timestamp
Try {
# Check if computer name already matches desired name
if ($env:computername -eq $computername) {
Write-Host "-= Computer name already set to $($computername), skipping rename =-" -ForegroundColor Yellow
Add-Content $logfile "$($Timestamp) - Computer name already set to $($computername), no change needed"
}
else {
Rename-Computer -ComputerName $env:computername -NewName $computername -ErrorAction Stop | Out-Null
Write-Host "-= Computer name set to $($computername) =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Computer name set to $($computername)"
}
}
Catch {
Write-Warning -Message $("Failed to set new computer name. Error: " + $_.Exception.Message)
Break;
}
# Add first script complete to logfile
Timestamp
Add-Content $logfile "$($Timestamp) - 1-Basic-Server-Config-Complete, starting script 2 =-"
# Ask user before rebooting
Timestamp
$rebootChoice = Read-Host "The server needs to restart to apply changes. Do you want to restart now? (Y/N)"
if ($rebootChoice -eq "Y" -or $rebootChoice -eq "y") {
Write-Host "-= Save your work, computer will restart in 30 seconds =-" -ForegroundColor White -BackgroundColor Red
Sleep 30
Try {
Restart-Computer -ComputerName $env:computername -ErrorAction Stop
Write-Host "-= Rebooting now!! =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Rebooting now"
Break;
}
Catch {
Write-Warning -Message $("Failed to restart computer $($env:computername). Error: " + $_.Exception.Message)
Break;
}
}
else {
Write-Warning "Restart postponed. Changes won't be applied until the server restarts."
Add-Content $logfile "$($Timestamp) - Restart postponed by user"
}
} # Close 'IF (!$firstcheck)'
# Check Script Progress via Logfile
$secondcheck1 = Get-Content $logfile | Where-Object { $_.Contains("1-Basic-Server-Config-Complete") }
IF ($secondcheck1) {
$secondcheck2 = Get-Content $logfile | Where-Object { $_.Contains("2-Build-Active-Directory-Complete") }
IF (!$secondcheck2) {
## 2-Build-Active-Directory ##
Timestamp
#-------------
#- Variables - -
#-------------
# Active Directory Variables
$dsrmpassword = Read-Host "Enter Directory Services Restore Password" -AsSecureString
#------------
#- Settings -
#------------
# Install Active Directory Services
Timestamp
Try {
Write-Host "-= Active Directory Domain Services installing =-" -ForegroundColor Yellow
# Support for localized Windows feature names
$adFeatureNames = @("AD-Domain-Services", "Services-de-domaine-Active-Directory")
$featureInstalled = $false
foreach ($featureName in $adFeatureNames) {
try {
$feature = Get-WindowsFeature -Name $featureName -ErrorAction SilentlyContinue
if ($feature) {
Install-WindowsFeature -Name $featureName -IncludeManagementTools
$featureInstalled = $true
Add-Content $logfile "$($Timestamp) - AD Feature installed using name: $featureName"
break
}
}
catch {
continue
}
}
if (-not $featureInstalled) {
# Fallback: try to install using the standard name
Install-WindowsFeature -name AD-Domain-Services -IncludeManagementTools
}
Write-Host "-= Active Directory Domain Services installed successfully =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Active Directory Domain Services installed successfully"
}
Catch {
Write-Warning -Message $("Failed to install Active Directory Domain Services. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error installing AD DS: $($_.Exception.Message)"
Break;
}
# Configure Active Directory
Timestamp
Try {
Write-Host "-= Configuring Active Directory Domain Services =-" -ForegroundColor Yellow
Install-ADDSForest -DomainName $domainname -InstallDNS -ErrorAction Stop -NoRebootOnCompletion -SafeModeAdministratorPassword $dsrmpassword -Confirm:$false | Out-Null
Write-Host "-= Active Directory Domain Services configured successfully =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Active Directory Domain Services configured successfully"
}
Catch {
Write-Warning -Message $("Failed to configure Active Directory Domain Services. Error: " + $_.Exception.Message)
Break;
}
# Add second script complete to logfile
Timestamp
Add-Content $logfile "$($Timestamp) - 2-Build-Active-Directory-Complete, starting script 3 =-"
# Reboot Computer to apply settings
Write-Host "-= Save all your work, computer rebooting in 30 seconds =-" -ForegroundColor White -BackgroundColor Red
Sleep 30
Try {
Restart-Computer -ComputerName $env:computername -ErrorAction Stop
Write-Host "Rebooting Now!!" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Rebooting Now!!"
Break;
}
Catch {
Write-Warning -Message $("Failed to restart computer $($env:computername). Error: " + $_.Exception.Message)
Break;
}
} # Close 'IF ($secondcheck2)'
}# Close 'IF ($secondcheck1)'
# Add second script complete to logfile
# Check Script Progress via Logfile
$thirdcheck = Get-Content $logfile | Where-Object { $_.Contains("2-Build-Active-Directory-Complete") }
## 3-Build-Active-Directory ##
#------------
#- Settings -
#------------
# Add DNS Reverse Record
Timestamp
Try {
Add-DnsServerPrimaryZone -NetworkId $globalsubnet -DynamicUpdate Secure -ReplicationScope Domain -ErrorAction Stop
Write-Host "-= Successfully added in $($globalsubnet) as a reverse lookup within DNS =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Successfully added $($globalsubnet) as a reverse lookup within DNS"
}
Catch {
Write-Warning -Message $("Failed to create reverse DNS lookups zone for network $($globalsubnet). Error: " + $_.Exception.Message)
Break;
}
# Add DNS Scavenging
Write-Host "-= Set DNS Scavenging =-" -ForegroundColor Yellow
Timestamp
Try {
Set-DnsServerScavenging -ScavengingState $true -ScavengingInterval 7.00:00:00 -Verbose -ErrorAction Stop
Set-DnsServerZoneAging $domainname -Aging $true -RefreshInterval 7.00:00:00 -NoRefreshInterval 7.00:00:00 -Verbose -ErrorAction Stop
Add-Content $logfile "$($Timestamp) - DNS Scavenging Complete"
}
Catch {
Write-Warning -Message $("Failed to DNS Scavenging. Error: " + $_.Exception.Message)
Break;
}
Get-DnsServerScavenging
Write-Host "-= DNS Scavenging Complete =-" -ForegroundColor Green
# Create Active Directory Sites and Services
Timestamp
Try {
New-ADReplicationSubnet -Name $globalsubnet -Site "Default-First-Site-Name" -Location $subnetlocation -ErrorAction Stop
Write-Host "-= Successfully added Subnet $($globalsubnet) with location $($subnetlocation) in AD Sites and Services =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Successfully added Subnet $($globalsubnet) with location $($subnetlocation) in AD Sites and Services"
}
Catch {
Write-Warning -Message $("Failed to create Subnet $($globalsubnet) in AD Sites and Services. Error: " + $_.Exception.Message)
Break;
}
# Rename Active Directory Site
Timestamp
Try {
Get-ADReplicationSite Default-First-Site-Name | Rename-ADObject -NewName $sitename -ErrorAction Stop
Write-Host "-= Successfully renamed Default-First-Site-Nameto $sitename in AD Sites and Services =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Successfully renamed Default-First-Site-Nameto $sitename in AD Sites and Services"
}
Catch {
Write-Warning -Message $("Failed to rename site in AD Sites and Services. Error: " + $_.Exception.Message)
Break;
}
# Add NTP settings to PDC
Timestamp
$serverpdc = Get-AdDomainController -Filter * | Where { $_.OperationMasterRoles -contains "PDCEmulator" }
IF ($serverpdc) {
Try {
Start-Process -FilePath "C:\Windows\System32\w32tm.exe" -ArgumentList "/config /manualpeerlist:$($ntpserver1),$($ntpserver2) /syncfromflags:MANUAL /reliable:yes /update" -ErrorAction Stop
Stop-Service w32time -ErrorAction Stop
sleep 2
Start-Service w32time -ErrorAction Stop
Write-Host "-= Successfully set NTP Servers: $($ntpserver1) and $($ntpserver2) =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Successfully set NTP Servers: $($ntpserver1) and $($ntpserver2)"
}
Catch {
Write-Warning -Message $("Failed to set NTP Servers. Error: " + $_.Exception.Message)
Break;
}
}
# Script Finished
Timestamp
Write-Host "-= 3-Finalize-AD-Config Complete =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - 3-Finalize-AD-Config Complete"
Write-Host "-= Active Directory Script Complete =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Active Directory Script Complete"
```

### Étape 3 : Exécuter le script d'installation
Exécutez le script PowerShell pour installer et configurer Active Directory :
```powershell
.\AD-Install.ps1
```

Le script effectuera plusieurs actions :
- Installation du rôle Services de domaine Active Directory
- Configuration du serveur en tant que contrôleur de domaine
- Configuration des services DNS
- Création de la structure de forêt et de domaine
- Configuration des paramètres nécessaires

## Configuration du contrôleur de domaine secondaire
### Étape 1 : Créer le script du DC secondaire
Créez un autre script PowerShell sur le second serveur en suivant le même processus, mais en utilisant le script pour le DC secondaire.
```powershell!
#--------------------------------------------------------------------------
#- Created by: David Rodriguez -
#- Blog: www.sysadmintutorials.com -
#- Modified by: Maximilian Neu -
#- Modified for: Secondary Domain Controller Setup -
#--------------------------------------------------------------------------
#-------------
#- Variables - -
#-------------
# Network Variables
$ethipaddress = '172.16.10.21' # static IP Address of the secondary DC
$ethprefixlength = '24' # subnet mask - 24 = 255.255.255.0
$ethdefaultgw = '172.16.10.254' # default gateway
$ethdns = '172.16.10.20,127.0.0.1' # Primary DC first, then localhost
$globalsubnet = '172.16.10.0/24' # Global Subnet will be used in DNS Reverse Record and AD Sites and Services Subnet
$subnetlocation = 'Colmar'
$sitename = 'Colmar-Site'
# Active Directory Variables
$domainname = 'haut-rhin.gouv' # enter in your active directory domain
$primaryDC = 'VAD68COL01' # name of the primary DC
# Remote Desktop Variable
$enablerdp = 'yes' # to enable RDP, set this variable to yes. to disable RDP, set this variable to no
# Hostname Variables
$computername = 'VAD68COL02' # secondary DC name
# Timestamp
Function Timestamp {
$Global:timestamp = Get-Date -Format "dd-MM-yyy_hh:mm:ss"
}
# Log File Location
$logfile = "C:\AD-Install\Windows-2022-AD-Secondary-DC-Deployment-log.txt"
# Create Log File
Write-Host "-= Get timestamp =-" -ForegroundColor Green
Timestamp
IF (Test-Path $logfile) {
Write-Host "-= Logfile Exists =-" -ForegroundColor Yellow
}
ELSE {
Write-Host "-= Creating Logfile =-" -ForegroundColor Green
Try {
New-Item -Path 'C:\AD-Install' -ItemType Directory | Out-Null
New-Item -ItemType File -Path $logfile -ErrorAction Stop | Out-Null
Write-Host "-= The file $($logfile) has been created =-" -ForegroundColor Green
}
Catch {
Write-Warning -Message $("Could not create logfile. Error: " + $_.Exception.Message)
Break;
}
}
# Check Script Progress via Logfile
$firstcheck = Select-String -Path $logfile -Pattern "1-Basic-Server-Config-Complete"
IF (!$firstcheck) {
# Add starting date and time
Write-Host "-= 1-Basic-Server-Config-Complete, does not exist =-" -ForegroundColor Yellow
Timestamp
Add-Content $logfile "$($Timestamp) - Starting Secondary DC Configuration Script"
## 1-Basic-Server-Config ##
# # Set Network
# Timestamp
# Try {
# # Get current IP configuration for the first enabled adapter (support French localization)
# $adapterStatusNames = @("Up", "Activé", "Connecté")
# $adapter = $null
# foreach ($statusName in $adapterStatusNames) {
# $adapter = Get-NetAdapter | Where-Object { $_.Status -eq $statusName } | Select-Object -First 1
# if ($adapter) {
# break
# }
# }
# if (-not $adapter) {
# throw "No active network adapter found"
# }
# $currentIP = Get-NetIPAddress -InterfaceIndex $adapter.ifIndex -AddressFamily IPv4
# Write-Host "-= Using network adapter: $($adapter.Name) =-" -ForegroundColor Yellow
# Add-Content $logfile "$($Timestamp) - Using network adapter: $($adapter.Name)"
# if ($currentIP.IPAddress -eq $ethipaddress -and
# $currentIP.PrefixLength -eq $ethprefixlength) {
# Write-Host "-= Network settings already configured, skipping =-" -ForegroundColor Yellow
# Add-Content $logfile "$($Timestamp) - Network settings already configured, no changes needed"
# }
# else {
# New-NetIPAddress -IPAddress $ethipaddress -PrefixLength $ethprefixlength -DefaultGateway $ethdefaultgw -InterfaceIndex $adapter.ifIndex -ErrorAction Stop | Out-Null
# Set-DNSClientServerAddress -ServerAddresses $ethdns.Split(',') -InterfaceIndex $adapter.ifIndex -ErrorAction Stop
# Write-Host "-= IP Address successfully set to $($ethipaddress), subnet $($ethprefixlength), default gateway $($ethdefaultgw) and DNS Server $($ethdns) =-" -ForegroundColor Green
# Add-Content $logfile "$($Timestamp) - IP Address successfully set"
# }
# }
# Catch {
# Write-Warning -Message $("Failed to verify/apply network settings. Error: " + $_.Exception.Message)
# Add-Content $logfile "$($Timestamp) - Error in network configuration: $($_.Exception.Message)"
# Break;
# }
# Set RDP
Timestamp
Try {
IF ($enablerdp -eq "yes") {
# Activer RDP dans le registre
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0 -ErrorAction Stop
# Rechercher le groupe de règles de pare-feu correspondant à "Remote Desktop" ou "Bureau à distance"
$rdpDisplayGroupNames = @("Remote Desktop", "Bureau à distance", "Connexion Bureau à distance")
$foundGroup = $null
foreach ($groupName in $rdpDisplayGroupNames) {
$groupExists = Get-NetFirewallRule | Where-Object { $_.DisplayGroup -eq $groupName }
if ($groupExists) {
$foundGroup = $groupName
break
}
}
if ($foundGroup) {
Enable-NetFirewallRule -DisplayGroup $foundGroup -ErrorAction Stop
Write-Host "-= RDP Successfully enabled (firewall group: '$foundGroup') =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - RDP Successfully enabled (firewall group: '$foundGroup')"
} else {
Write-Warning "Failed to enable RDP. No matching firewall rule group found for RDP."
Add-Content $logfile "$($Timestamp) - Warning: No RDP firewall group found in available languages."
}
}
}
Catch {
Write-Warning -Message $("Failed to enable RDP. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error while enabling RDP: $($_.Exception.Message)"
Break;
}
# Set Hostname
Timestamp
Try {
if ($env:computername -eq $computername) {
Write-Host "-= Computer name already set to $($computername), skipping rename =-" -ForegroundColor Yellow
Add-Content $logfile "$($Timestamp) - Computer name already set to $($computername), no change needed"
}
else {
Rename-Computer -ComputerName $env:computername -NewName $computername -ErrorAction Stop | Out-Null
Write-Host "-= Computer name set to $($computername) =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Computer name set to $($computername)"
}
}
Catch {
Write-Warning -Message $("Failed to set new computer name. Error: " + $_.Exception.Message)
Break;
}
# Add first script complete to logfile
Timestamp
Add-Content $logfile "$($Timestamp) - 1-Basic-Server-Config-Complete"
# Ask user before rebooting
Timestamp
$rebootChoice = Read-Host "The server needs to restart to apply changes. Do you want to restart now? (Y/N)"
if ($rebootChoice -eq "Y" -or $rebootChoice -eq "y") {
Write-Host "-= Save your work, computer will restart in 30 seconds =-" -ForegroundColor White -BackgroundColor Red
Sleep 30
Try {
Restart-Computer -ComputerName $env:computername -ErrorAction Stop
Write-Host "-= Rebooting now!! =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Rebooting now"
Break;
}
Catch {
Write-Warning -Message $("Failed to restart computer. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error restarting computer: $($_.Exception.Message)"
Break;
}
}
else {
Write-Warning "Restart postponed. Changes won't be applied until the server restarts."
Add-Content $logfile "$($Timestamp) - Restart postponed by user"
}
}
# Check Script Progress via Logfile
$secondcheck1 = Get-Content $logfile | Where-Object { $_.Contains("1-Basic-Server-Config-Complete") }
IF ($secondcheck1) {
$secondcheck2 = Get-Content $logfile | Where-Object { $_.Contains("2-Join-Domain-Complete") }
IF (!$secondcheck2) {
## 2-Join-Domain ##
Timestamp
# Install Active Directory Services
Try {
Write-Host "-= Active Directory Domain Services installing =-" -ForegroundColor Yellow
# Support for localized Windows feature names
$adFeatureNames = @("AD-Domain-Services", "Services-de-domaine-Active-Directory")
$featureInstalled = $false
foreach ($featureName in $adFeatureNames) {
try {
$feature = Get-WindowsFeature -Name $featureName -ErrorAction SilentlyContinue
if ($feature) {
Install-WindowsFeature -Name $featureName -IncludeManagementTools
$featureInstalled = $true
Add-Content $logfile "$($Timestamp) - AD Feature installed using name: $featureName"
break
}
}
catch {
continue
}
}
if (-not $featureInstalled) {
# Fallback: try to install using the standard name
Install-WindowsFeature -name AD-Domain-Services -IncludeManagementTools
}
Write-Host "-= Active Directory Domain Services installed successfully =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Active Directory Domain Services installed successfully"
}
Catch {
Write-Warning -Message $("Failed to install Active Directory Domain Services. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error installing AD DS: $($_.Exception.Message)"
Break;
}
# Join Domain
Timestamp
Try {
$domainCred = Get-Credential -Message "Entrez les identifiants d'administrateur de domaine / Enter Domain Admin credentials"
Write-Host "-= Joining domain $($domainname) =-" -ForegroundColor Yellow
Add-Computer -DomainName $domainname -Credential $domainCred -ErrorAction Stop
Write-Host "-= Successfully joined domain $($domainname) =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Successfully joined domain $($domainname)"
}
Catch {
Write-Warning -Message $("Failed to join domain. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error joining domain: $($_.Exception.Message)"
Break;
}
# Promote to DC
Timestamp
Try {
$domainCred = Get-Credential -Message "Entrez les identifiants d'administrateur de domaine / Enter Domain Admin credentials"
$dsrmpassword = Read-Host "Entrez le mot de passe de restauration des services d'annuaire / Enter Directory Services Restore Password" -AsSecureString
Write-Host "-= Installing Active Directory Domain Services and promoting to Domain Controller =-" -ForegroundColor Yellow
Install-ADDSDomainController -DomainName $domainname -InstallDNS -Credential $domainCred -SafeModeAdministratorPassword $dsrmpassword -NoRebootOnCompletion -NoGlobalCatalog:$false -CreateDnsDelegation:$false -CriticalReplicationOnly:$false
Write-Host "-= Successfully promoted to Domain Controller =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Successfully promoted to Domain Controller"
}
Catch {
Write-Warning -Message $("Failed to promote to Domain Controller. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error promoting to DC: $($_.Exception.Message)"
Break;
}
# Add second script complete to logfile
Timestamp
Add-Content $logfile "$($Timestamp) - 2-Join-Domain-Complete"
# Reboot Computer to apply settings
Write-Host "-= Save all your work, computer rebooting in 30 seconds =-" -ForegroundColor White -BackgroundColor Red
Sleep 30
Try {
Restart-Computer -ComputerName $env:computername -ErrorAction Stop
Write-Host "Rebooting Now!!" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Rebooting Now!!"
Break;
}
Catch {
Write-Warning -Message $("Failed to restart computer. Error: " + $_.Exception.Message)
Add-Content $logfile "$($Timestamp) - Error restarting computer: $($_.Exception.Message)"
Break;
}
}
}
# Script Finished
Timestamp
Write-Host "-= Active Directory Secondary DC Setup Complete =-" -ForegroundColor Green
Add-Content $logfile "$($Timestamp) - Active Directory Secondary DC Setup Complete"
```
### Étape 2 : Exécuter le script du DC secondaire
Exécutez le script sur le second serveur pour :
- Installer les Services de domaine Active Directory
- Joindre le domaine existant
- Promouvoir le serveur en contrôleur de domaine
- Configurer la réplication DNS

## Après l'installation
Une fois que les deux scripts sont terminés avec succès :
- Vérifiez la fonctionnalité du domaine
- Testez la réplication entre les contrôleurs de domaine
- Vérifiez les services DNS
- Configurez tous les rôles ou fonctionnalités supplémentaires
# Procédure pour rejoindre un PC Windows à un domaine
### Étape 1 : Accéder aux paramètres système
Ouvrez les paramètres Windows et naviguez vers la section "À propos" dans les paramètres système.

### Étape 2 : Accéder aux options avancées du système
Cliquez sur "Renommer ce PC (options avancées)" pour ouvrir les propriétés système.

### Étape 3 : Modifier l'appartenance au domaine
Dans la fenêtre Propriétés système, cliquez sur le bouton "Modifier" pour changer l'appartenance au domaine.

### Étape 4 : Spécifier le domaine
Dans la nouvelle fenêtre, sélectionnez l'option "Domaine" et entrez le nom du domaine auquel vous souhaitez joindre l'ordinateur, puis cliquez sur "OK".

### Étape 5 : S'authentifier
Entrez les informations d'identification d'un compte ayant les droits de joindre des ordinateurs au domaine (généralement un compte administrateur de domaine).

### Étape 6 : Finalisation
Une fois l'authentification réussie, vous verrez un message de bienvenue confirmant que l'ordinateur a bien été ajouté au domaine. Un redémarrage sera nécessaire pour appliquer les changements.

# Gestion des serveurs Core depuis l'interface graphique
## Utilisation du Gestionnaire de serveur pour administrer des serveurs Windows Core
### Étape 1 : Lancer le Gestionnaire de serveur
Sur un serveur ou poste de travail Windows avec interface graphique, ouvrez le Gestionnaire de serveur depuis le menu Démarrer ou la barre des tâches.

### Étape 2 : Ajouter des serveurs à gérer
Dans le Gestionnaire de serveur, faites un clic droit sur "Tous les serveurs" dans le panneau de gauche, puis sélectionnez "Ajouter des serveurs".

### Étape 3 : Rechercher et ajouter les serveurs Core
Dans la fenêtre "Ajouter des serveurs" :
1. Utilisez l'onglet "Recherche Active Directory" pour trouver vos serveurs Core
2. Sélectionnez les serveurs Core que vous souhaitez gérer
3. Cliquez sur la flèche pour les déplacer vers la liste des serveurs sélectionnés
4. Cliquez sur "OK" pour ajouter ces serveurs à votre Gestionnaire de serveur

## Avantages de la gestion centralisée
- **Administration simplifiée** : Gestion de plusieurs serveurs Core depuis une seule interface
- **Efficacité opérationnelle** : Réduction du besoin de se connecter individuellement à chaque serveur
- **Surveillance unifiée** : Vue d'ensemble de l'état de tous les serveurs
## Fonctionnalités disponibles
- Installation et configuration de rôles et fonctionnalités
- Surveillance des performances et des événements
- Gestion des services
- Exécution de tâches administratives à distance
# Installation de DHCP sur les Serveurs Core via Interface Graphique
## Installation du rôle DHCP
### Étape 1 : Ouvrir le Gestionnaire de serveur
Lancez le Gestionnaire de serveur depuis un poste Windows avec interface graphique.

### Étape 2 : Localiser les serveurs à configurer
Dans le Gestionnaire de serveur, identifiez les serveurs Core sur lesquels vous souhaitez installer le service DHCP.

### Étape 3 : Ajouter des rôles
Faites un clic droit sur le premier serveur et sélectionnez **Ajouter des rôles et des fonctionnalités**.

### Étape 4 : Sélectionner le type d'installation
Conservez l'option par défaut **Installation basée sur un rôle** et cliquez sur **Suivant**.

### Étape 5 : Sélectionner le serveur cible
Choisissez le serveur sur lequel vous souhaitez ajouter le rôle DHCP.

### Étape 6 : Sélectionner le rôle DHCP
Cochez la case **Serveur DHCP** dans la liste des rôles disponibles.

### Étape 7 : Fonctionnalités supplémentaires
Aucune fonctionnalité supplémentaire n'est nécessaire, cliquez sur **Suivant**.

### Étape 8 : Informations sur DHCP
Lisez les informations concernant le rôle DHCP et cliquez sur **Suivant**.

### Étape 9 : Confirmation et installation
Vérifiez les sélections et cliquez sur **Installer**.

### Étape 10 : Configuration post-installation
Une fois l'installation terminée, cliquez sur **Terminer la configuration du DHCP**.

### Étape 11 : Assistant de configuration DHCP
Cliquez sur **Suivant** après avoir lu la description.

### Étape 12 : Autorisation du serveur
Utilisez un compte d'administrateur de domaine pour autoriser les serveurs DHCP dans Active Directory.

### Étape 13 : Finalisation
Fermez l'assistant une fois la configuration terminée.

Répétez ces étapes sur les autres serveurs que vous souhaitez configurer comme serveurs DHCP.
## Configuration du DHCP et de la haute disponibilité
### Étape 1 : Ouvrir le gestionnaire DHCP
Depuis le Gestionnaire de serveur, ouvrez le gestionnaire DHCP sur le serveur DHCP principal.

### Étape 2 : Ajouter les autres serveurs
Cliquez pour ajouter les autres serveurs DHCP au gestionnaire.

### Étape 3 : Sélection des serveurs
Ajoutez les autres serveurs DHCP à gérer.

### Étape 4 : Création d'une étendue
Cliquez pour créer une nouvelle étendue DHCP.

### Étape 5 : Assistant d'étendue
Cliquez sur **Suivant** pour démarrer l'assistant d'étendue.

### Étape 6 : Nommer l'étendue
Donnez un nom à l'étendue puis cliquez sur **Suivant**.

### Étape 7 : Configuration du sous-réseau
Définissez le sous-réseau et le masque pour l'étendue DHCP.

### Étape 8 : Exclusions d'adresses
Aucune exclusion n'est nécessaire, cliquez sur **Suivant**.

### Étape 9 : Durée du bail
Configurez la durée du bail (2 jours est généralement approprié).

### Étape 10 : Options DHCP
Configurez les options DHCP en cliquant sur **Suivant**.

### Étape 11 : Configuration de la passerelle
Ajoutez les adresses des routeurs pour le VLAN.

### Étape 12 : Configuration DNS
Conservez les contrôleurs de domaine comme serveurs DNS.

### Étape 13 : WINS (ignorer)
N'activez pas WINS car il est obsolète et non sécurisé.

### Étape 14 : Activation de l'étendue
Activez l'étendue que vous venez de créer.

### Étape 15 : Finalisation de l'étendue
Terminez l'assistant d'étendue.

### Étape 16 : Configuration du basculement
Faites un clic droit sur le serveur principal et sélectionnez **Configurer le basculement**.

### Étape 17 : Sélection des étendues
Sélectionnez toutes les étendues pour le basculement.

### Étape 18 : Serveur partenaire
Choisissez le serveur partenaire pour le basculement.

### Étape 19 : Confirmation du partenaire
Cliquez sur **Suivant** après avoir choisi le serveur partenaire.

### Étape 20 : Configuration de la relation
Configurez les paramètres de la relation de basculement.

### Étape 21 : Finalisation du basculement
Terminez l'assistant de configuration du basculement.

### Étape 22 : Confirmation
Fermez la fenêtre une fois la configuration réussie.

# Prérequis et Configuration pour l'installation de MECM
Ce document fournit un guide détaillé pour l'installation complète de Microsoft Endpoint Configuration Manager (MECM) avec captures d'écran.
## Installation de SQL Server 2019
Pour commencer l'installation de MECM, nous devons d'abord installer SQL Server qui servira de base de données pour notre environnement.
1. **Insertion du support d'installation**
- Insérez le disque ISO de SQL Server dans le lecteur
- Accédez au contenu du disque pour lancer l'installation

2. **Lancement de l'installation**
- Localisez et exécutez le fichier Setup.exe pour démarrer l'assistant d'installation
- Attendez le chargement de l'assistant

3. **Sélection du type d'installation**
- Sélectionnez l'option **"Nouvelle installation autonome de SQL Server ou ajout de fonctionnalités à une installation existante"**
- Cette option permet d'installer une nouvelle instance complète

4. **Saisie de la clé produit**
- Entrez votre clé de produit SQL Server dans le champ prévu
- La clé détermine l'édition de SQL Server qui sera installée

5. **Acceptation des conditions de licence**
- Lisez attentivement les termes du contrat de licence
- Cochez la case pour accepter les conditions

6. **Configuration des mises à jour**
- **Important** : Désactivez la vérification des mises à jour Microsoft
- Cette configuration est recommandée pour éviter des problèmes pendant l'installation

7. **Sélection des fonctionnalités**
- Assurez-vous que **"Services de moteur de base de données"** est sélectionné
- C'est le composant essentiel requis pour MECM

8. **Configuration de l'instance**
- Définissez un **ID d'instance** approprié
- Vous pouvez utiliser l'instance par défaut (MSSQLSERVER) ou spécifier un nom personnalisé

9. **Configuration des comptes de service**
- **Action importante** : Créez deux comptes de service dédiés dans Active Directory
* Un pour le service SQL Server Agent
* Un pour le moteur de base de données SQL Server
- Ces comptes séparés améliorent la sécurité et facilitent la maintenance

10. **Ajout des comptes de service**
- Entrez les informations des comptes de service créés
- Spécifiez les mots de passe correspondants

11. **Vérification du classement**
- Vérifiez que le classement est bien configuré pour votre région et vos besoins linguistiques
- Le classement par défaut convient généralement pour la plupart des installations occidentales

12. **Configuration des administrateurs**
- Ajoutez les comptes utilisateurs qui auront des droits d'administrateur sur la base de données
- Cliquez ensuite sur l'onglet Mémoire pour continuer

13. **Configuration de la mémoire**
- Définissez la mémoire minimale pour SQL Server
- Cette configuration est importante pour les performances optimales de la base de données

14. **Confirmation et installation**
- Vérifiez tous les paramètres dans le récapitulatif
- Cliquez sur **Installer** pour démarrer l'installation

15. **Finalisation**
- Une fois l'installation terminée, cliquez sur **Fermer**
- L'installation de base de SQL Server est maintenant terminée

### Configuration supplémentaire : Désactivation des ports TCP dynamiques
Pour garantir une connexion stable et cohérente entre MECM et SQL Server :
1. **Ouverture du gestionnaire de configuration**
- Ouvrez le **Gestionnaire de configuration SQL Server 2019** depuis le menu Démarrer
- Accédez à la section configuration du réseau

2. **Configuration des ports**
- **Action critique** : Assurez-vous qu'un port TCP statique est configuré
- Désactivez les ports dynamiques pour améliorer la stabilité et la sécurité

### Installation de la mise à jour cumulative de SQL Server
Pour maintenir SQL Server à jour et corriger les problèmes connus :
1. **Lancement de l'installation de la mise à jour**
- Exécutez le fichier d'installation de la dernière mise à jour cumulative
- Attendez le chargement de l'assistant

2. **Vérification des prérequis**
- L'assistant vérifie les conditions préalables
- Cliquez sur **Suivant** pour continuer

3. **Acceptation des conditions de licence**
- Lisez et acceptez les termes du contrat de licence
- Cochez la case correspondante

4. **Sélection des fonctionnalités**
- Vérifiez que toutes les fonctionnalités installées sont sélectionnées
- Cliquez sur **Suivant** pour continuer

5. **Gestion des fichiers en cours d'utilisation**
- Si des fichiers sont en cours d'utilisation, l'assistant vous en informera
- Cliquez sur **Suivant** pour continuer

6. **Lancement de la mise à jour**
- Cliquez sur le bouton pour démarrer l'installation de la mise à jour
- Attendez que le processus se termine

7. **Finalisation**
- Une fois la mise à jour terminée, cliquez sur **Terminer**
- SQL Server est maintenant à jour

### Installation de SQL Server Management Studio (SSMS)
SSMS est l'outil d'administration principal pour SQL Server :
1. **Lancement de l'installation**
- Exécutez le programme d'installation de SSMS
- L'assistant d'installation se lance

2. **Installation**
- Cliquez sur **Installer** pour démarrer l'installation de SSMS
- Attendez que le processus d'installation se termine

3. **Finalisation**
- Une fois l'installation terminée, cliquez sur **Fermer**
- SSMS est maintenant disponible pour gérer SQL Server

### Installation de Reporting Services
Reporting Services est nécessaire pour les rapports MECM :
1. **Lancement de l'installation**
- Exécutez le programme d'installation de SQL Server Reporting Services
- Attendez le chargement de l'assistant

2. **Démarrage de l'installation**
- Cliquez sur **Installer Reporting Services** pour commencer
- Cette étape lance l'installation des composants principaux

3. **Sélection de l'édition**
- **Important** : Choisissez l'édition qui correspond à votre édition de SQL Server
- La correspondance des éditions est cruciale pour la compatibilité

4. **Acceptation des conditions**
- Lisez et acceptez les conditions de licence
- Cochez la case correspondante

5. **Installation du moteur**
- L'assistant installe le moteur de base de données nécessaire
- Attendez que cette étape se termine

6. **Définition de l'emplacement**
- Spécifiez l'emplacement d'installation souhaité
- Vous pouvez conserver l'emplacement par défaut ou le personnaliser

7. **Configuration du serveur de rapports**
- Lancez l'outil de configuration du serveur de rapports
- Cette étape est nécessaire pour finaliser l'installation

8. **Connexion au serveur de rapports**
- Établissez la connexion au serveur de rapports
- Vérifiez que la connexion fonctionne correctement

### Installation du pilote ODBC pour SQL
Le pilote ODBC permet aux applications de communiquer avec SQL Server :
1. **Lancement de l'installation**
- Exécutez le programme d'installation du pilote ODBC
- L'assistant d'installation se lance

2. **Écran d'accueil**
- Cliquez sur **Suivant** sur l'écran de bienvenue
- Cela vous mène aux étapes suivantes de l'installation

3. **Acceptation des conditions de licence**
- Lisez et acceptez les conditions de licence
- Cochez la case puis cliquez sur **Suivant**

4. **Sélection des fonctionnalités**
- **Important** : Sélectionnez les deux fonctionnalités proposées
- Les deux composants sont nécessaires pour une compatibilité complète

5. **Finalisation**
- Une fois l'installation terminée, cliquez sur **Terminer**
- Le pilote ODBC est maintenant installé et prêt à être utilisé

### Installation de Windows ADK
Windows ADK (Assessment and Deployment Kit) est nécessaire pour les fonctionnalités de déploiement de MECM :
1. **Lancement de l'installation**
- Exécutez le fichier adkSetup.exe pour démarrer l'installation
- Attendez le chargement de l'assistant

2. **Définition de l'emplacement**
- Spécifiez l'emplacement d'installation souhaité
- Vous pouvez conserver l'emplacement par défaut ou le personnaliser

3. **Configuration de la télémétrie**
- **Recommandé** : Désactivez la télémétrie pour des raisons de confidentialité
- Sélectionnez l'option correspondante

4. **Acceptation de la licence**
- Lisez et acceptez les conditions de licence
- Cochez la case correspondante

5. **Sélection des composants**
- Sélectionnez les outils suivants :
* Outils de déploiement
* ICD (Imaging and Configuration Designer)
* Concepteur de configuration
* USMT (User State Migration Tool)

### Installation du complément WinPE
WinPE (Windows Preinstallation Environment) est nécessaire pour les fonctionnalités de déploiement avancées :
1. **Lancement de l'installation**
- Exécutez le fichier adkwinpesetup.exe
- Attendez le chargement de l'assistant

2. **Définition de l'emplacement**
- Utilisez l'emplacement d'installation par défaut
- Cliquez sur **Suivant** pour continuer

3. **Configuration de la télémétrie**
- Désactivez la collecte de données de télémétrie
- Sélectionnez l'option correspondante

4. **Acceptation des conditions**
- Lisez et acceptez les conditions de licence
- Cochez la case puis cliquez sur **Suivant**

5. **Confirmation des fonctionnalités**
- Vérifiez que les bonnes fonctionnalités sont sélectionnées
- Cliquez sur **Installer** pour continuer

6. **Finalisation**
- Une fois l'installation terminée, cliquez sur **Fermer**
- Le complément WinPE est maintenant installé

### Extension du schéma AD
Pour que MECM fonctionne correctement avec Active Directory, le schéma doit être étendu :
1. **Configuration des permissions**
- **Action critique** : Ajoutez les administrateurs au groupe "Schema Admins"
- Cette appartenance est nécessaire pour modifier le schéma AD

2. **Exécution de l'extension de schéma**
- Accédez au dossier `(Support d'installation):\SMSSETUP\BIN\X64`
- **Important** : Exécutez la commande `.\extadsch.exe` dans l'invite de commande

3. **Vérification de l'installation**
- Assurez-vous que l'extension a été appliquée avec succès
- Recherchez le message de confirmation

### Création du conteneur System Management
Un conteneur spécial dans AD est nécessaire pour MECM :
1. **Ouverture de l'éditeur ADSO**
- Ouvrez l'éditeur ADSO pour modifier la structure d'Active Directory
- Cet outil permet de créer des objets dans AD

2. **Connexion à AD**
- Établissez la connexion à votre serveur Active Directory
- Entrez les informations d'identification si nécessaire

3. **Configuration du contexte de nommage**
- Définissez le contexte de nommage par défaut pour votre domaine
- Cette étape est cruciale pour naviguer dans la structure AD

4. **Ajout d'un objet dans System**
- Naviguez jusqu'à CN=System dans votre domaine
- Préparez-vous à ajouter un nouvel objet conteneur

5. **Création du conteneur**
- Créez un nouveau conteneur dans le dossier System
- Cette étape prépare le conteneur principal

6. **Nommage du conteneur**
- **Important** : Nommez le conteneur "System Management"
- Le nom exact est crucial pour la compatibilité avec MECM

7. **Finalisation**
- Cliquez sur **Terminer** pour créer le conteneur
- Le conteneur System Management est maintenant créé

### Configuration des autorisations du conteneur
Pour que le serveur MECM puisse accéder au conteneur System Management :
1. **Accès aux propriétés**
- Ouvrez les propriétés du conteneur System Management
- Utilisez l'outil Utilisateurs et ordinateurs Active Directory

2. **Ajout de l'ordinateur**
- Ajoutez l'ordinateur qui hébergera MECM aux propriétés de sécurité
- Cliquez sur le bouton Ajouter

3. **Configuration des permissions**
- **Crucial** : Accordez le contrôle total à l'ordinateur MECM
- Appliquez les modifications pour enregistrer les autorisations

### Installation des rôles et fonctionnalités Windows Server
Plusieurs rôles et fonctionnalités Windows Server sont requis pour MECM :
1. **Ouverture du gestionnaire de serveur**
- Lancez le Gestionnaire de serveur
- Cliquez sur **Ajouter des rôles et des fonctionnalités**

2. **Sélection du type d'installation**
- Choisissez l'installation basée sur un rôle ou une fonctionnalité
- Cliquez sur **Suivant** pour continuer

3. **Sélection du serveur**
- Sélectionnez le serveur qui hébergera MECM
- Généralement, il s'agit du serveur local

4. **Sélection des rôles**
- Ajoutez les rôles suivants :
* **IIS** (Internet Information Services)
* **WDS** (Windows Deployment Services)
* **WSUS** (Windows Server Update Services)

5. **Sélection des fonctionnalités**
- Ajoutez les fonctionnalités suivantes :
* **.NET Framework 3.5**
* **BITS** (Background Intelligent Transfer Service)
* **Compression différentielle distante**

6. **Configuration de WDS**
- Dans la section WDS générale, cliquez sur **Suivant**
- Cette étape utilise les paramètres par défaut

7. **Configuration des rôles WDS**
- Acceptez les rôles par défaut pour WDS
- Cliquez sur **Suivant** pour continuer

8. **Configuration de WSUS**
- Dans la section WSUS générale, cliquez sur **Suivant**
- Cette étape utilise les paramètres par défaut

9. **Configuration des rôles WSUS**
- **Important** : Ajoutez SQL comme base de données pour WSUS
- Cliquez sur **Suivant** pour continuer

10. **Définition de l'emplacement WSUS**
- Acceptez l'emplacement par défaut ou spécifiez un nouvel emplacement
- Cliquez sur **Suivant** pour continuer

11. **Connexion à la base de données**
- Configurez la connexion à la base de données SQL Server
- Entrez les informations de connexion requises

12. **Confirmation**
- Vérifiez le récapitulatif des sélections
- Cliquez sur **Installer** pour démarrer l'installation

13. **Finalisation**
- Une fois l'installation terminée, cliquez sur **Terminer**
- Les rôles et fonctionnalités nécessaires sont maintenant installés

# Installation du site autonome principal MECM
Maintenant que tous les prérequis sont en place, nous pouvons installer MECM :
1. **Préparation du support**
- Insérez le disque ISO MECM dans le lecteur
- Accédez au contenu du disque

2. **Lancement de l'installation**
- Exécutez l'utilitaire Splash.hta pour démarrer l'installation
- Attendez le chargement de l'assistant

3. **Démarrage de l'installation**
- Cliquez sur le bouton **Installer** pour commencer
- Cette étape lance l'assistant d'installation principal

4. **Vérification des prérequis**
- L'assistant vérifie que tous les prérequis sont installés
- Acceptez la vérification pour continuer

5. **Sélection du type de site**
- Sélectionnez **Site principal** comme type de site
- Cette option crée un nouveau site MECM autonome

6. **Saisie de la clé produit**
- Entrez votre clé de produit MECM
- La clé détermine la licence et les fonctionnalités disponibles

7. **Acceptation de la licence**
- Lisez et acceptez les conditions de licence
- Cochez la case correspondante

8. **Configuration du dépôt de téléchargement**
- Spécifiez l'emplacement où les fichiers téléchargés seront stockés
- Assurez-vous qu'il y a suffisamment d'espace disque

9. **Sélection des langues du serveur**
- Ajoutez les langues qui seront prises en charge par le serveur MECM
- Sélectionnez au moins votre langue principale

10. **Sélection des langues du client**
- Ajoutez les langues qui seront prises en charge par les clients MECM
- Sélectionnez toutes les langues nécessaires pour votre environnement

11. **Configuration du site**
- **Important** : Définissez le code et le nom du site
- Le code de site doit être unique (3 caractères alphanumériques)
- Le nom du site doit être descriptif

12. **Type d'installation**
- Sélectionnez l'installation comme **site autonome**
- Cette option crée un nouveau site principal indépendant

13. **Confirmation du mode d'installation**
- Un message s'affiche pour confirmer l'installation en tant que site autonome
- Cliquez sur **Oui** pour continuer

14. **Configuration de la base de données**
- Renseignez les informations de configuration pour la base de données SQL
- Assurez-vous que les paramètres correspondent à votre environnement

15. **Chemin d'accès à la base de données SQL**
- Spécifiez l'emplacement des fichiers de la base de données SQL
- Vérifiez que l'espace disque est suffisant à l'emplacement indiqué

16. **Configuration du fournisseur SMS**
- Configurez le fournisseur SMS qui gère les interactions avec la base de données
- Généralement, vous pouvez conserver les paramètres par défaut

17. **Configuration HTTP/HTTPS**
- Définissez les paramètres de communication HTTP/HTTPS
- Ces paramètres sont essentiels pour la sécurité des communications

18. **Installation des rôles de serveur**
- Sélectionnez d'installer le point de gestion et le point de distribution
- Ces rôles sont nécessaires pour la gestion des clients

19. **Collecte de données**
- Acceptez ou refusez la collecte de données pour Microsoft
- Cette étape est facultative mais aide à améliorer le produit

20. **Point de connexion de service**
- Configurez le point de connexion de service
- Ce composant permet la communication avec les services cloud

21. **Résumé de l'installation**
- Vérifiez le résumé des paramètres d'installation
- Assurez-vous que tous les paramètres sont corrects avant de continuer

22. **Vérification finale des prérequis**
- L'assistant effectue une dernière vérification des prérequis
- Cliquez sur **Commencer l'installation** pour lancer le processus

23. **Finalisation de l'installation**
- Une fois l'installation terminée, vous verrez l'écran de confirmation
- Cliquez sur **Fermer** pour terminer l'assistant

Félicitations ! Vous avez maintenant installé avec succès un site principal autonome MECM. Vous pouvez commencer à configurer votre environnement et à déployer des clients sur votre réseau.
# MECM : Configuration de la découverte Active Directory (AD)
---
### 1. **Accéder à la console Configuration Manager**

---
### 2. **Naviguer vers l’administration**
- Sélectionner `Administration`

- Cliquer sur **Discovery Methods**

---
### 3. **Découverte de la forêt Active Directory**
- Clic droit sur `Active Directory Forest Discovery` → **Properties**

- Cocher **Enable Active Directory Forest Discovery**

---
### 4. **Découverte des groupes AD**
- Clic droit sur `Active Directory Group Discovery` → **Properties**

- Nommer et sélectionner un groupe AD cible

- Appliquer et activer la découverte

---
### 5. **Découverte des systèmes AD**
- Clic droit sur `Active Directory System Discovery` → **Properties**

- Appliquer

- Activer la découverte

---
### 6. **Découverte des utilisateurs AD**
- Clic droit sur `Active Directory User Discovery` → **Properties**

- Appliquer

---
## MECM : Configuration du point de mise à jour logicielle & reporting
### 1. **Accéder à la configuration du site**
- Naviguer vers `Site Configuration > Sites`

- Clic droit > **Add Site System Roles**

---
### 2. **Configuration des rôles**
- **Général** : Suivant

- **Proxy** : Suivant

- Sélectionner :
- **Software Update Point**
- **Reporting Services Point**

---
### 3. **Paramètres WSUS et synchronisation**
- Spécifier les ports et autoriser les connexions

- Ignorer proxy et compte

- Activer la synchro Microsoft & logs

- Planifier la synchro (ex : toutes les 2 semaines)

---
### 4. **Affinage des mises à jour**
- Ignorer les mises à jour remplacées

- Supprimer les MAJ non utilisées

- Configurer la durée max de déploiement

- Choisir uniquement les MAJ complètes

- Sélectionner les catégories, produits, langues :
- **Catégories :**

- **Produits :**

- **Langues :**

---
## MECM : Création de média de séquence de tâches
### 1. **Créer un média de séquence de tâches**

- Choisir **Capture Media**

- Définir le type de média et l'emplacement :
