Téléverser les fichiers vers "/"
This commit is contained in:
37
backup_users.ps1
Normal file
37
backup_users.ps1
Normal file
@@ -0,0 +1,37 @@
|
||||
# Nom du script : backup_users.ps1
|
||||
Import-Module ActiveDirectory
|
||||
|
||||
$dateStr = Get-Date -Format "yyyy-MM-dd"
|
||||
# 1. Correction : Il faut des guillemets autour du chemin
|
||||
$backupDir = "C:\backups\"
|
||||
$csvFile = "${backupDir}${dateStr}_users.csv"
|
||||
$zipFile = "${backupDir}${dateStr}_users.zip"
|
||||
|
||||
# Cr<43>ation du dossier si n<>cessaire
|
||||
if (-not (Test-Path $backupDir)) {
|
||||
New-Item -Path $backupDir -ItemType Directory | Out-Null
|
||||
}
|
||||
|
||||
Write-Host "--- Sauvegarde AD ---" -ForegroundColor Cyan
|
||||
|
||||
# 2. Correction : Ajout de l'<27>toile '*' pour le filtre et le pipe '|' pour le Where-Object
|
||||
# Le filtre '*' signifie "tout le monde".
|
||||
$users = Get-ADUser -Filter * -Properties Department, Title | Where-Object { $_.DistinguishedName -like "*OU=*" }
|
||||
|
||||
if ($users) {
|
||||
# 3. Correction : Ajout des pipes '|' pour encha<68>ner les commandes
|
||||
$users | Select-Object Name, SamAccountName, Department, Title | Export-Csv -Path $csvFile -NoTypeInformation -Encoding UTF8 -Delimiter ";"
|
||||
|
||||
# Compression (Ecrase si existe d<>j<EFBFBD>)
|
||||
if (Test-Path $zipFile) { Remove-Item $zipFile }
|
||||
|
||||
# Note : Compress-Archive est natif sur Windows 10/Server 2016+
|
||||
Compress-Archive -Path $csvFile -DestinationPath $zipFile
|
||||
|
||||
# Nettoyage du CSV temporaire
|
||||
Remove-Item $csvFile
|
||||
|
||||
Write-Host "[OK] Sauvegarde termin<69>e : $zipFile" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "Rien <20> sauvegarder." -ForegroundColor Yellow
|
||||
}
|
||||
Reference in New Issue
Block a user