420-1C5 : Copier/coller

27 septembre 2023

1 – Créer des utilisateurs et des groupes avec un fichier script:

Dans le fichier creerUser.cmd
-------------------------------------
@echo off
powershell.exe -ExecutionPolicy Bypass -File "creer.ps1"

-------------------------------------
Dans le fichier creer.ps1
-------------------------------------
# Création des groupes
New-LocalGroup -Name "Compagnie DEF" -Description "Groupe pour les employés de la Compagnie DEF"
New-LocalGroup -Name "DEF Promo" -Description "Groupe pour les employés de DEF Promo"
New-LocalGroup -Name "DEF TI" -Description "Groupe pour les employés de DEF TI"

# Création des utilisateurs avec le mot de passe "DEF"
$Password = ConvertTo-SecureString "DEF" -AsPlainText -Force
New-LocalUser -Name "DEF-User01" -Password $Password
New-LocalUser -Name "DEF-User02" -Password $Password
New-LocalUser -Name "DEF-Admin" -Password $Password

# Ajout des utilisateurs aux groupes
Add-LocalGroupMember -Group "Compagnie DEF" -Member "DEF-User01", "DEF-User02", "DEF-Admin"
Add-LocalGroupMember -Group "Administrateurs" -Member "DEF-Admin"
Add-LocalGroupMember -Group "DEF Promo" -Member "DEF-User02"
# Une version plus concise du script précédent:

# Définir le mot de passe une seule fois
$Password = ConvertTo-SecureString "DEF" -AsPlainText -Force

# Liste des noms d'utilisateurs à créer
$UsersToCreate = @("DEF-User01", "DEF-User02", "DEF-Admin")

# Créer les utilisateurs
foreach ($UserName in $UsersToCreate) {
    # Vérifier si l'utilisateur existe avant de le créer
    if (-not (Get-LocalUser -Name $UserName -ErrorAction SilentlyContinue)) {
        New-LocalUser -Name $UserName -Password $Password
    }
}

# ===================================================
# Liste des utilisateurs et de leurs groupes
$UserGroupAssociations = @{
    "DEF-User01" = "Compagnie DEF"
    "DEF-User02" = "DEF Promo"
    "DEF-Admin"  = "Compagnie DEF", "Administrateurs"
}

# Associer les utilisateurs aux groupes
foreach ($User in $UserGroupAssociations.Keys) {
    $Groups = $UserGroupAssociations[$User]
    foreach ($Group in $Groups) {
        Add-LocalGroupMember -Group $Group -Member $User
    }
}