Script de création d'un d'utilisateur

De Travail-Ivan 2

Créer les utilisateurs depuis un fichier txt.

Import-Module C:\LIB\FRX_MEF.ps1 -Force

$listeusers = Import-Csv -Delimiter "," -Path C:\LIB\listeiusers.txt

$listeusers | ForEach-Object {
    $_ = FRX_MEF-Edit-UserObj -user $_ 
    New-ADUser -Name       $_.idrh `
        -SamAccountName    $_.idrh `
        -UserPrincipalName $_.email `
        -EmailAddress      $_.email `
        -Surname           $_.nom `
        -Department        $_.service `
        -GivenName         $_.prenom `
        -DisplayName       $_.fullname `
        -Initials          $_.initiales `
        -AccountPassword (ConvertTo-SecureString "Formation10" -AsPlainText -Force) `
        -Enabled $true
} | Out-GridView

Explication des éléments du script

  1. Import-Module:
    • Import-Module C:\LIB\FRX_MEF.ps1 -Force: Charge un module PowerShell[1] à partir du fichier spécifié. Le paramètre -Force permet de recharger le module même s'il est déjà chargé.
  2. Import-Csv:
    • $listeusers = Import-Csv -Delimiter "," -Path C:\LIB\listeiusers.txt[2]: Lit un fichier CSV contenant des informations utilisateur et le stocke dans la variable $listeusers[2]. Le délimiteur est une virgule (,).
  3. ForEach-Object:
    • $listeusers | ForEach-Object { ... }: Pour chaque objet (ligne) dans $listeusers[2], exécute le bloc de code.
  4. FRX_MEF-Edit-UserObj:
    • $_ = FRX_MEF-Edit-UserObj -user $_: Appelle une fonction ou une commande FRX_MEF-Edit-UserObj, en passant l'objet utilisateur actuel ($_). Cela modifie ou prépare l'objet utilisateur pour l'étape suivante.
  5. New-ADUser:
    • Crée un nouvel utilisateur Active Directory avec les attributs spécifiés :
    • -Name: Utilise $.idrh pour définir le nom de l'utilisateur.
    • -SamAccountName: Utilise également $.idrh pour le nom de connexion.
    • -UserPrincipalName: Définit le nom principal de l'utilisateur, souvent l'email.
    • -EmailAddress: Définit l'adresse e-mail de l'utilisateur.
    • -Surname: Utilise $.nom pour le nom de famille.
    • -Department: Utilise $.service pour le département.
    • -GivenName: Utilise $.prenom pour le prénom.
    • -DisplayName: Utilise $.fullname pour le nom affiché.
    • -Initials: Utilise $.initiales pour les initiales.
    • -AccountPassword: Définit le mot de passe en utilisant ConvertTo-SecureString, avec le mot de passe "Formation10".
    • -Enabled: Définit l'utilisateur comme actif ($true).
  6. Out-GridView:
    • | Out-GridView: Affiche les utilisateurs créés dans une fenêtre graphique, ce qui permet une visualisation facile des résultats.

Créer les utilisateur depuis un fichier txt avec leur OU

Import-Module C:\lib\FRX_MEF.ps1 -Force

$listeusers = Import-Csv -Delimiter "," -Path C:\lib\listeusers.txt

$listeservices = ($listeusers | Sort-Object -Unique service).service
$listeservices
# Création des OU dans l'AD
$rootOU = "_Services"
New-ADOrganizationalUnit $rootOU -ProtectedFromAccidentalDeletion $false
$listeservices | ForEach-Object {
    New-ADOrganizationalUnit -Name $_ `
        -Path "OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" `
        -ProtectedFromAccidentalDeletion $false
}

# Création des utilisateurs dans la bonne OU 
$listeusers | ForEach-Object {
    $_ = FRX_MEF-Edit-UserObj -user $_ 
    New-ADUser -Name $_.idrh `
        -Path "OU=$($_.service),OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" `
        -SamAccountName $_.idrh `
        -UserPrincipalName $_.email `
        -EmailAddress $_.email `
        -Surname $_.nom `
        -Department $_.service `
        -GivenName $_.prenom `
        -DisplayName $_.fullname `
        -Initials $_.initiales `
        -AccountPassword ("Formation10" | ConvertTo-SecureString -AsPlainText -Force) `
        -Enabled $true
} | Out-GridView


Explication des éléments du script

  1. Import-Module:
    • Import-Module C:\lib\FRX_MEF.ps1 -Force: Charge le module PowerShell[1] spécifié depuis le chemin donné, en forçant le rechargement si le module est déjà chargé.
  2. Import-Csv:
    • $listeusers = Import-Csv -Delimiter "," -Path C:\lib\listeusers.txt: Lit un fichier CSV contenant des informations utilisateur et stocke ces données dans la variable $listeusers[2]. Le délimiteur est une virgule.
  3. Extraction des services:
    • $listeservices = ($listeusers | Sort-Object -Unique service).service: Crée une liste unique de services à partir des données des utilisateurs, en évitant les doublons.
  4. Création de l'OU:
    • $rootOU = "_Services": Définit le nom de l'unité organisationnelle racine.
    • New-ADOrganizationalUnit $rootOU -ProtectedFromAccidentalDeletion $false: Crée l'unité organisationnelle racine dans Active Directory.
  5. Création des sous-OU:
    • $listeservices | ForEach-Object { ... }: Pour chaque service unique, crée une sous-unité organisationnelle sous l'OU racine.
    • New-ADOrganizationalUnit -Name $_ ...: Crée une nouvelle unité organisationnelle avec le nom du service.
  6. Création des utilisateurs:
    • $listeusers | ForEach-Object { ... }: Pour chaque utilisateur dans la liste, exécute le bloc de code.
    • $_ = FRX_MEF-Edit-UserObj -user $_: Modifie ou prépare l'objet utilisateur en utilisant une fonction définie dans le module chargé.
    • New-ADUser -Name $_.idrh ...: Crée un nouvel utilisateur dans Active Directory avec les attributs suivants :
      • -Name: Utilise $.idrh pour définir le nom de l'utilisateur.
      • -Path: Indique où l'utilisateur doit être créé, en utilisant l'OU correspondant au service et à l'OU racine.
      • -SamAccountName: Définit le nom de connexion.
      • -UserPrincipalName: Définit le nom principal de l'utilisateur (souvent l'email).
      • -EmailAddress: Définit l'adresse email.
      • -Surname: Définit le nom de famille.
      • -Department: Définit le département.
      • -GivenName: Définit le prénom.
      • -DisplayName: Définit le nom affiché.
      • -Initials: Définit les initiales.
      • -AccountPassword: Définit le mot de passe (ici, "Formation10") en utilisant ConvertTo-SecureString pour le convertir en une chaîne sécurisée.
      • -Enabled: Définit le compte comme actif.
  7. Out-GridView:
    • | Out-GridView: Affiche les utilisateurs créés dans une fenêtre graphique, ce qui permet une visualisation facile des résultats.

Créer les utilisateur depuis un fichier txt avec leur OU et un mot de passe aléatoire.

Import-Module C:\lib\FRX_MEF.ps1 -Force

$listeusers = Import-Csv -Delimiter "," -Path C:\lib\listeusers.txt

$listeservices = ($listeusers | Sort-Object -Unique service).service
$listeservices
# Création des OU dans l'AD
$rootOU = "_Services"
New-ADOrganizationalUnit $rootOU -ProtectedFromAccidentalDeletion $false
$listeservices | ForEach-Object {
    New-ADOrganizationalUnit -Name $_ `
        -Path "OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" `
        -ProtectedFromAccidentalDeletion $false
}

# Création des utilisateurs dans la bonne OU 
$listechar = 65..90 + 97..122 + 48..57
$listeusers | ForEach-Object {
    $password = (Get-Random -InputObject $listechar -Count 18 | ForEach-Object {
        [char]$_
    }) -join ''
    
    $_ = FRX_MEF-Edit-UserObj -user $_ 
    $_ | Add-Member -MemberType NoteProperty -Name "pass" -Value $password
    
    New-ADUser -Name $_.idrh `
        -Path "OU=$($_.service),OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" `
        -SamAccountName $_.idrh `
        -UserPrincipalName $_.email `
        -EmailAddress $_.email `
        -Surname $_.nom `
        -Department $_.service `
        -GivenName $_.prenom `
        -DisplayName $_.fullname `
        -Initials $_.initiales `
        -AccountPassword ($_.pass | ConvertTo-SecureString -AsPlainText -Force) `
        -Enabled $true
        $_
} | Out-GridView

Explication des éléments du script

  1. Import-Module:
    • Import-Module C:\lib\FRX_MEF.ps1 -Force: Charge un module PowerShell[1] à partir du chemin spécifié, forçant le rechargement même si le module est déjà chargé.
  2. Import-Csv:
    • $listeusers = Import-Csv -Delimiter "," -Path C:\lib\listeusers.txt: Lit un fichier CSV[2] avec des informations sur les utilisateurs et stocke ces données dans la variable $listeusers[2]. Le délimiteur utilisé est une virgule.
  3. Extraction des services:
    • $listeservices = ($listeusers | Sort-Object -Unique service).service: Crée une liste unique de services à partir des données des utilisateurs, en évitant les doublons.
  4. Création de l'OU:
    • $rootOU = "_Services": Définit le nom de l'unité organisationnelle racine.
    • New-ADOrganizationalUnit $rootOU -ProtectedFromAccidentalDeletion $false: Crée l'unité organisationnelle racine dans Active Directory. Le paramètre -ProtectedFromAccidentalDeletion $false permet à cette OU d'être supprimée accidentellement.
  5. Création des sous-OU:
    • $listeservices | ForEach-Object { ... }: Pour chaque service unique, crée une sous-unité organisationnelle sous l'OU racine.
    • New-ADOrganizationalUnit -Name $_ ...: Crée une nouvelle unité organisationnelle avec le nom du service.
  6. Création des utilisateurs:
    • $listechar = 65..90 + 97..122 + 48..57: Définit une liste de caractères (A-Z, a-z, 0-9) pour générer des mots de passe aléatoires.
    • $listeusers | ForEach-Object { ... }: Pour chaque utilisateur dans la liste, exécute le bloc de code.
    • $password = (Get-Random -InputObject $listechar -Count 18 | ForEach-Object { [char]$_ }) -join '': Génère un mot de passe aléatoire de 18 caractères.
    • $_ = FRX_MEF-Edit-UserObj -user $_: Modifie ou prépare l'objet utilisateur en utilisant une fonction définie dans le module chargé.
    • $_ | Add-Member -MemberType NoteProperty -Name "pass" -Value $password: Ajoute le mot de passe généré comme propriété à l'objet utilisateur.
    • New-ADUser -Name $_.idrh ...: Crée un nouvel utilisateur dans Active Directory avec les attributs spécifiés, tels que :
      • -Path: Indique où l'utilisateur doit être créé, basé sur le service et l'OU racine.
      • -SamAccountName: Définit le nom de connexion de l'utilisateur.
      • -UserPrincipalName: Définit le nom principal de l'utilisateur (souvent l'email).
      • -EmailAddress: Définit l'adresse email.
      • -Surname: Définit le nom de famille.
      • -Department: Indique le département.
      • -GivenName: Définit le prénom.
      • -DisplayName: Spécifie le nom affiché.
      • -Initials: Définit les initiales.
      • -AccountPassword: Définit le mot de passe en utilisant ConvertTo-SecureString.
      • -Enabled: Définit le compte comme actif.
  7. Out-GridView:
    • | Out-GridView: Affiche les utilisateurs créés dans une fenêtre graphique, ce qui permet de visualiser facilement les résultats.

Créer les utilisateur depuis un fichier txt avec leur OU, un mot de passe aléatoire et leur groupe de sécurité.

Import-Module C:\LIB\FRX_MEF.ps1 -Force

$listeusers = Import-Csv -Delimiter ";" -Path C:\lib\Users.csv -Encoding oem

$listeservices = ($listeusers | Sort-Object -Unique service).service
$listeservices
# Création des OU dans l'AD
$rootOU = "_Services"
New-ADOrganizationalUnit $rootOU -ProtectedFromAccidentalDeletion $false
$listeservices | ForEach-Object {
    New-ADOrganizationalUnit -Name $_ `
        -Path "OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" `
        -ProtectedFromAccidentalDeletion $false
}

# Création des utilisateurs dans la bonne OU 
$listechar = 65..90 + 97..122 + 48..57
$listeusers | ForEach-Object {
    $password = (Get-Random -InputObject $listechar -Count 18 | ForEach-Object {
        [char]$_
    }) -join ''
    
    $_ = FRX_MEF-Edit-UserObj -user $_ 
    $_ | Add-Member -MemberType NoteProperty -Name "pass" -Value $password
    
    New-ADUser -Name $_.idrh `
        -Path "OU=$($_.service),OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" `
        -SamAccountName $_.idrh `
        -UserPrincipalName $_.email `
        -EmailAddress $_.email `
        -Surname $_.nom `
        -Department $_.service `
        -GivenName $_.prenom `
        -DisplayName $_.fullname `
        -Initials $_.initiales `
        -AccountPassword ($_.pass | ConvertTo-SecureString -AsPlainText -Force) `
        -Enabled $true
    
    $_
} | Out-GridView

# Création des groupes de sécurité
$listeservices | ForEach-Object {
    New-ADGroup -GroupScope Global -Name "GG_$_"
}

# Ajout des utilisateurs dans les bons groupes
$listeaduser = Get-ADUser -Filter * `
    -SearchBase "OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" -Properties department

$listeaduser | Group-Object department | ForEach-Object {
    Add-ADGroupMember "GG_$($_.Name)" -Members $_.Group
} | Out-GridView

Explication des éléments du script

  1. Import-Module:
    • Import-Module C:\LIB\FRX_MEF.ps1 -Force: Charge un module PowerShell[1], forçant le rechargement s'il est déjà chargé.
  2. Import-Csv:
    • $listeusers = Import-Csv -Delimiter ";" -Path C:\lib\Users.csv -Encoding oem: Lit un fichier CSV[3] contenant des informations utilisateur, en utilisant un point-virgule comme délimiteur et une encodage OEM.
  3. Extraction des services:
    • $listeservices = ($listeusers | Sort-Object -Unique service).service: Crée une liste unique de services à partir des données des utilisateurs.
  4. Création de l'OU:
    • $rootOU = "_Services": Définit le nom de l'unité organisationnelle racine.
    • New-ADOrganizationalUnit $rootOU -ProtectedFromAccidentalDeletion $false: Crée l'unité organisationnelle racine dans Active Directory.
  5. Création des sous-OU:
    • $listeservices | ForEach-Object { ... }: Pour chaque service unique, crée une sous-unité organisationnelle sous l'OU racine.
    • New-ADOrganizationalUnit -Name $_ ...: Crée une nouvelle unité organisationnelle avec le nom du service.
  6. Création des utilisateurs:
    • $listechar = 65..90 + 97..122 + 48..57: Définit une liste de caractères (A-Z, a-z, 0-9) pour générer des mots de passe aléatoires.
    • $listeusers | ForEach-Object { ... }: Pour chaque utilisateur dans la liste, exécute le bloc de code.
    • $password = (Get-Random -InputObject $listechar -Count 18 | ForEach-Object { [char]$_ }) -join '': Génère un mot de passe aléatoire de 18 caractères.
    • $_ = FRX_MEF-Edit-UserObj -user $_: Modifie ou prépare l'objet utilisateur en utilisant une fonction définie dans le module chargé.
    • $_ | Add-Member -MemberType NoteProperty -Name "pass" -Value $password: Ajoute le mot de passe généré comme propriété à l'objet utilisateur.
    • New-ADUser -Name $_.idrh ...: Crée un nouvel utilisateur dans Active Directory avec les attributs spécifiés.
  7. Création des groupes de sécurité:
    • $listeservices | ForEach-Object { New-ADGroup -GroupScope Global -Name "GG_$_" }: Crée un groupe de sécurité global pour chaque service.
  8. Ajout des utilisateurs dans les groupes:
    • $listeaduser = Get-ADUser -Filter * -SearchBase "OU=${rootOU},$(FRX_MEF-DomainLDAP -dom $env:USERDNSDOMAIN)" -Properties department: Récupère tous les utilisateurs dans l'OU racine avec leur département.
    • $listeaduser | Group-Object department | ForEach-Object { Add-ADGroupMember "GG_$($_.Name)" -Members $_.Group }: Pour chaque groupe d'utilisateurs, ajoute les membres au groupe de sécurité correspondant.
  9. Out-GridView:
    • | Out-GridView: Affiche les utilisateurs créés et les groupes dans une fenêtre graphique pour faciliter la visualisation.
  1. 1,0 1,1 1,2 et 1,3 Module utilisé
    <#######################################################################################
    # FRX_MEF.ps1
    # Description :  Librairies de Mise en forme des champs 
    #   IN  : objuser avec prenom et nom en propriétés
    #   Exemple :  FRX_MEF-Edit-UserObj $objuser
    #   OUT : 
    #    Prenom    : Elsa-Rose-Édouard (100%)
    #    Nom       : AVEC DE LHUILE    (100%)
    #    Domaine   : lms.froux.local   (err si userdnsdomain invalide ?)
    #    FullName  : Elsa-Rose-Édouard AVEC DE LHUILE
    #    Initiales : EREADL
    #    Trigram   : EAE
    #    Email     : elsaroseedouard.avecdelhuile@froux.local
    #    Pnom      : eavecdelhuile
    # 
    # v1.0 : Création du script
    # v1.1 : Epurer espaces en début et fin de prenom et nom
    # v1.2 : Amélioration du prénom 
    # 
    # 
    # Axes d'amélioration : ◘ø REGEX sur le domaine 
    # possibles améliorations : $tmp -replace '[\s.,!?;:\-'']',''
    #
    #######################################################################################
    # Date de création      : 04 oct 2017 par Fabien ROUX (fabien-roux@laposte.net)
    # Derniere modification : xx xxx xxxx par xxxxxxxxxxxxx (email@domaine.xxx)
    ######################################################################################>
    # 
    Function global:Remove-Accent{
     # source : http://eric.berthomier.free.fr/spip.php?article95
     # auteur : eric berthomier
       param([string]$string)
       $objD = $string.Normalize([Text.NormalizationForm]::FormD)
       $sb = New-Object Text.StringBuilder
    
       for($i = 0; $i -lt $objD.Length; $i++) {
           $c = [Globalization.CharUnicodeInfo]::GetUnicodeCategory($objD[$i])
           if($c -ne [Globalization.UnicodeCategory]::NonSpacingMark) {
             [void]$sb.Append($objD[$i])
           }
       }
       return "$sb".Normalize([Text.NormalizationForm]::FormC)
    }
    Function global:FRX_MEF-Prenom{
    	param($prenom,[ValidateSet($true,$false)]$RemoveAccents)
        if    ($prenom.length -eq 0)       {return ""}
        elseif($prenom.trim().length -eq 0){return ""}
        else{
            # Remplacement par vide des caractères inconnus
            # Aucune notification d'erreur
            $prenomtemp=""
            $prenom.ToCharArray() | foreach-object{
                if($_ -match '[abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZéèÉÈ-]'){
                    $prenomtemp += $_
                }
            }
            $prenom = $prenomtemp.trim()
            if ($prenom.length -eq 0) {return ""}
            if($RemoveAccents){$prenom=Remove-Accent $prenom}
    
    #FRX72 EST CE QU'ON CONSERVE LES espaces et tirets comme indiqués ?
    		# Prise en charge des prénoms composés
    		$prenom = $prenom.replace("-"," ").trim()
    		    $newprenom = $null
    		    $prenom.split(" ") | foreach-object{
    		        $newprenom += $_.substring(0,1).toupper() + `
    		        $_.substring(1,$_.length-1).tolower() + "-"
    		        }
    		    $newprenom = $newprenom.substring(0,$newprenom.length-1)
    	}
    	return $newprenom
    }
    Function global:FRX_MEF-Nom{
        param($nom,[switch]$RemoveAccents)
        if    ($nom.length -eq 0)       {return ""}
        elseif($nom.trim().length -eq 0){return ""}
        else{
            $nom = $nom.trim()
            $nomtemp=""
            $nom.ToCharArray() | foreach-object{
                if($_ -match '[abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZéèÉÈ-]'){
                    $nomtemp += $_
                }
            }
            $nom = $nomtemp.trim()
            if($RemoveAccents){$nom=Remove-Accent $nom}
            $newnom = $nom.replace("-"," ").toupper()
        }
        return $newnom
    }
    Function global:FRX_MEF-Initiales {
        [CmdletBinding(HelpUri = 'http://www.frxlab.fr/')]
        param(
        [Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]$prenom,
        [Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]$nom,
        [ValidateSet($true,$false)]$strict=$true
        )
        if($strict){$newinitiales = ($prenom.substring(0,1)+$nom.substring(0,1)).toupper()}
        else{
            $prenom.split("-") | ForEach-Object{$newinitiales +=$_.substring(0,1).toupper()}
            $nom.split(" ")    | ForEach-Object{$newinitiales +=$_.substring(0,1).toupper()}
            
        }
        return $newinitiales
    }
    
    Function global:FRX_MEF-Email{
        param($nom,$prenom,$domaine)
        $newmail = Remove-accent ($prenom.replace("-","")+"."+$nom.replace(" ","")+"@"+$domaine).tolower()
    	$regex='^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$'
        $validmail = $newmail -Cmatch $regex
    	
        return $newmail
    }
    Function global:FRX_MEF-Trigram{
        param($nom,$prenom)
        $newtrigram = Remove-accent ($prenom.substring(0,1)+$nom.substring(0,1)+$nom.substring($nom.length-1,1)).toupper()
        return $newtrigram
    }
    Function global:FRX_MEF-Pnom{
        param($nom,$prenom)
        $Pnom = ($prenom.substring(0,1)+$nom.replace(" ","")).tolower()
        return $Pnom
    }
    Function global:FRX_MEF-NomComplet{
        param($nom,$prenom)
        $NC = $prenom + " " +$nom
        return $NC
    }
    Function global:FRX_MEF-DomainLDAP{
        param($dom)
        $ldap = $null
        $dom.split(".") | %{$ldap+="DC="+$_+","}
        $ldap = $ldap.substring(0,$ldap.length-1)
        return $ldap
    }
    Function global:FRX_MEF-Edit-UserObj{
        param($user,[switch]$removeaccent,$domaine=$env:userdnsdomain,[switch]$initialstrict=$true)
        #FRX72 DOMAINEDNSNAMEERROR
        $UserProperties = ($user | get-member -MemberType properties).name
        if($UserProperties -contains "prenom" -and $UserProperties -contains "nom"){
            $user.prenom = FRX_MEF-Prenom    -prenom $user.prenom -RemoveAccents $removeaccent
            $user.nom    = FRX_MEF-nom       -nom    $user.nom    -RemoveAccents $removeaccent
            $user | Add-Member -MemberType NoteProperty -name "FullName"  -value (FRX_MEF-NomComplet -prenom $user.prenom -nom $user.nom)
            $user | Add-Member -MemberType NoteProperty -name "Initiales" -value (FRX_MEF-Initiales  -prenom $user.prenom -nom $user.nom -strict $initialstrict)
            $user | Add-Member -MemberType NoteProperty -name "Trigram"   -value (FRX_MEF-Trigram    -prenom $user.prenom -nom $user.nom)
            $user | Add-Member -MemberType NoteProperty -name "Email"     -value (FRX_MEF-Email      -prenom $user.prenom -nom $user.nom -domaine $domaine)
            $user | Add-Member -MemberType NoteProperty -name "Pnom"      -value (FRX_MEF-Pnom       -prenom $user.prenom -nom $user.nom)
    
    
        }
        else{
            Write-host "Utilisateur non conforme"
        }
        return $User
    }
    Function global:FRX_MEF-New-ObjUser{
        param($prenom,$nom,[switch]$removeaccent,$domaine=$env:userdnsdomain,[switch]$initialstrict=$true)
        #FRX72 DOMAINEDNSNAMEERROR
        if($prenom -and $nom){$user = [PSCustomObject]@{prenom  = $prenom ; nom = $nom}}
        else{Write-host "Utilisateur non conforme"}
    
        $user = FRX_MEF-Edit-UserObj $user -removeaccent $removeaccent -domaine $domaine -initialstrict $initialstrict
        return $User 
    }
    # Partie Numérique
    Function global:FRX_MEF-TelNumber{
        param($telnumber)
        <#
          FRX_MEF-TelNumber "02 40 33 28 85"    # ☺
          FRX_MEF-TelNumber "02 40 33 28 85"    # ☺
          FRX_MEF-TelNumber "+332 420 33 28 85" # ☺
        #>
        $telnumber = $telnumber.replace(" ","")    # remplacement de l'espace
        $telnumber = $telnumber.replace("+33","0") # remplacement du prefixe +33 par 0 
    
        if($telnumber.length -eq 10){
            $telnumber = [string]::Format('{0:0#\.##\.##\.##\.##}',[int]$telnumber)
        }
        else{
            write-host "$telnumber non valide en France" -fore yellow
        }
        return $telnumber
    }
    <#
    frxmef-prenom "elsa-rose laure-annie laura"
    
    #################################################
    # MAIN SCRIPT
    #################################################
    # Déclaration des variables et des constantes
    clear-Host
    $User1   = [PSCustomObject]@{
        Prenom  = "elsA rOse édoUard"
        Nom     = "Avec de lHuile"
        Domaine = "lms.froux.local"
    }
    FRX_MEF-Edit-UserObj $user 
    #>
    
  2. 2,0 2,1 2,2 2,3 2,4 et 2,5 listeusers.txt
    idrh,prenom,nom,service
    A001,yvan,desinfos,communication
    A002,Ahmed,dent,informatique
    A003,Aimé,honoraires,informatique
    A004,corine,titegoute,production
    A005,aima,titegoute,production
    A006,justine,titegoute,informatique
    A007,Grishka,tastrophe,technique
  3. Informations utilisateur
    idrh;Nom;Prenom;Grade;Fonction;service;Emplacement géographique
    AND776;AGATENSI;CHRISTINE;Salarié;549;Logistique;Paris
    SHD150;ALMECIJA;PAULA;Salarié;797;Production;Paris
    NPK715;AMISTADI;MARYLENE;Salarié;402;Production;Paris
    EGZ894;ANDEOLE;MARIE;Salarié;401;R&D;Paris
    AEY351;ANOTO;SOPHIE;Salarié;1174;Production;Paris
    DZL916;ANTKOWIAK;MARTINE;Salarié;732;R&D;Paris
    PVF437;ANTOINES;MARIE IREN;Salarié;400;Production;Paris
    ZAY606;ARAGONA;AGNES;Salarié;64051;Production;Paris
    JVP191;ARCIGNI;PHILIPPE;Encadrant;1105;Production;Paris
    NEM818;AURRAND-LIONS;CATHERINE;Salarié;400;Production;Paris
    SRN834;AVETAND;REGIS;Salarié;733;Production;Paris
    NBM426;AVIAN;OLIVIER;Salarié;401;Production;Paris
    FLC814;BABKINE;LAURENT;Salarié;402;R&D;Paris
    EYS169;BACCAINI;SYLVIE;Salarié;1168;R&D;Paris
    PRW283;BAHNO;ALAIN;Salarié;1149;Production;Paris
    VPH382;BAKKAUS;MARIE ALIN;Encadrant;897;Production;Paris
    SMX155;BALCERZAK;CLAUDINE;Salarié;732;Production;Paris
    EVM121;BALDYS;CHANTAL;Salarié;732;R&D;Paris
    FBY870;BANASIK;GISELE;Salarié;732;R&D;Paris
    GNV309;BARANEK;LAURENCE;Salarié;60641;Production;Paris
    SCY631;BARCELO-AMENGUAL;PIERRE;Salarié;400;Production;Paris
    NVE174;BARCQUE;ANDRE;Salarié;800;Production;Paris
    RJS544;BAROKAS;NADINE;Salarié;401;Production;Paris
    SKH541;BEDNAREK;DAVID;Salarié;1174;Production;Paris
    FJA295;BEGOU-BOYER;MICHELE;Salarié;402;R&D;Paris
    EZU489;BERHAR;MARTINE;Salarié;400;R&D;Paris
    NLZ357;BERMOND-GONNET;JEAN FRANC;Salarié;400;Production;Paris
    PWF195;BIERNAT;DANIELLE;Salarié;732;Production;Paris
    UHL545;BOHORC;PATRICIA;Encadrant;1105;Production;Paris
    EPX637;BOMBANA;CORINE;Salarié;402;R&D;Paris
    XSD233;BOMBONY;YANNICK;Directeur;819;Direction Terrain;Paris
    RSL170;BOMELLE;LAURENCE;Salarié;799;Production;Paris
    FLT317;BORNOS;ISABELLE;Salarié;402;R&D;Paris
    KEX156;BOROWEC;MARIANNICK;Salarié;64051;Production;Paris
    AJE805;BOROWIAK;STEPHANE;Salarié;1137;Achats;Paris
    PUC523;BORTOLUS;PATRICK;Salarié;1210;Production;Paris
    RGW681;BOTOT;MARTINE;Salarié;400;Production;Paris
    RHX613;BOULAIN-RONDEL;CHRISTOPHE;Salarié;400;Production;Paris
    EAY848;BOURGEOIS GAVARDIN;FRANCK;Salarié;1150;Production;Paris
    DNH925;BOZZATO;PASCAL;Salarié;400;R&D;Paris
    PWV539;BRACHACZ;BERTRAND;Salarié;401;Production;Paris
    EZV862;BROTTO;KARINE;Salarié;79;R&D;Paris
    PDW422;BRZECZEK;CATHERINE;Salarié;1171;Production;Paris
    MRY666;BUCCIO;FABRICE;Salarié;1168;Production;Paris
    HRT766;BUCZKOWSKI;GERARD;Encadrant;1106;Production;Paris
    YLW989;BULMANSKI;DANY;Encadrant;1104;Production;Paris
    NBR174;BUSINELLI;PHILIPPE;Salarié;112;Production;Paris
    PDN208;CAPITANT DE VILLEBONNE DE BOUILLE;MATHILDE;Intérimaire;797;Production;Paris
    DPE700;CARLOSEMA;FELIX;Salarié;1147;R&D;Paris
    AZM131;CAUSSEDIER;VALERIE;Salarié;400;Approvisionnement;Paris
    RKX238;CEBULSKI;CHRISTINE;Salarié;731;Production;Paris
    NYS445;CEZEUR;VALERIE;Salarié;400;Production;Paris
    RVE432;CHACE;MARYAN;Salarié;400;Production;Paris
    NMR423;CHAPOVALOFF;YOLANDE;Salarié;1171;Production;Paris
    NDT938;CHAREZA;FLORENCE;Salarié;400;Production;Paris
    SRA322;CHINCHILLA;GUY;Salarié;402;Production;Paris
    SAD569;CHMIELOWIEC;JACQUELINE;Salarié;400;Production;Paris
    EWM599;CHRASTEK;CATHERINE;Salarié;1212;R&D;Paris
    PRL529;CHUBILLAU;DANIELLE;Salarié;799;Production;Paris
    NZU537;CIECHELSKI;MARIE THER;Salarié;445;Production;Paris
    ETD320;CIESLAK;JEAN PIERR;Salarié;218;R&D;Paris
    XPJ789;CISZEWSKI;SOPHIE;Encadrant;1104;Production;Paris
    YFK265;CLEZIO;NATHALIE;Intérimaire;797;Production;Paris
    DYS190;CLOUETTE;JEAN PIERR;Salarié;446;R&D;Paris
    EXR187;COADALAN;MYRI;Salarié;64051;Production;Paris
    GSA435;CODEBREIL;JEAN PAUL;Salarié;64071;Production;Paris
    HEP883;COLAGRANDE;PIERRE YVE;Encadrant;1105;Production;Paris
    FTY799;COLCOMB;JOEL;Salarié;64051;Production;Paris
    NCL541;COLLAS DE LA BARONNAIS;JOSETTE;Salarié;446;Production;Paris
    TAJ745;CONEM;VANESSA;Intérimaire;700;Production;Paris
    SKM706;COPLEUX;MICHEL;Encadrant;1106;Production;Paris
    XHN519;CORMONS;AURELIE;Intérimaire;400;Production;Paris
    RBK642;CORTEMIGLIA;OLIVIER;Salarié;402;Production;Paris
    WXV718;COSSOUX;VIRGINIE;Intérimaire;1150;Production;Paris
    KBT121;COUAPAULT;BRICE;Encadrant;400;R&D;Paris
    XET777;COURSIMON;ELISABETH;Salarié;64041;Production;Paris
    NPJ767;CROUPEL;MARC;Salarié;507;Production;Paris
    BDN283;CZERNIAK;CHRISTIAN;Salarié;700;Approvisionnement;Paris
    PSX820;CZUJKO;MARIE CHRI;Salarié;798;Production;Paris
    EGC116;CZYKALO;CHRISTOPHE;Salarié;400;R&D;Paris
    RZM193;DA COSTA CASTRO;CLAUDINE;Intérimaire;113;Production;Paris
    FJB600;DACKOW;JEAN PIERR;Salarié;402;R&D;Paris
    NTP978;DAL PIN;LOIC;Encadrant;400;R&D;Paris
    RSG929;DALLA;JOSETTE;Encadrant;400;Production;Paris
    RAS968;DALL'AGNOLA;PASCALE;Salarié;400;Production;Paris
    GFP354;DALLA-RIVA;BRIGITTE;Encadrant;1105;Production;Paris
    UWB705;DANYLKO;JEROME;Encadrant;896;Informatique;Paris
    ZXV261;DAO-LENA;AGATHE;Salarié;402;Production;Paris
    EFK464;DARIY;ISABELLE;Salarié;400;R&D;Paris
    KWZ473;DARMANIN;CHRISTIAN;Encadrant;1106;Production;Paris
    AKC759;DAUTREAU;SEBASTIEN;Salarié;402;Achats;Paris
    EDB884;DE BLOIS DE LA CALANDE;PASCAL;Salarié;1150;Production;Paris
    JXT972;DE BRUN DU BOIS NOIR;ALAIN;Encadrant;1105;Production;Paris
    PZH701;DE FRANCHEVILLE;CHRISTINE;Salarié;445;Production;Paris
    UXA617;DE GAILLARD DE LAVALDENE DE TALODE DU GRAIL;VANESSA;Intérimaire;797;Production;Paris
    PEF863;DE GASPERI;LOIC;Salarié;400;Production;Paris
    XNF281;DE KERPEZDRON;CLAUDIE;Encadrant;896;Informatique;Paris
    WXA418;DE SACCO;STEPHANIE;Intérimaire;445;Production;Paris
    ETW725;DEDUFFELEER;CATHERINE;Salarié;732;R&D;Paris
    VDE698;DELAROCHEAULION;ARMELLE;Intérimaire;797;Production;Paris
    YPD812;DEQUERCADEC;CLAUDE;Encadrant;1104;Production;Paris
    PVE993;DERKACZ;LAURENCE;Encadrant;896;Informatique;Paris
    JUH182;DES VALLOIS;JEAN MANUE;Encadrant;1105;Production;Paris
    ZCV936;DESJARS DE KERANROUE;LAURENT;Salarié;1150;Production;Paris
    KVH270;DESROUSSEAUX DE VANDIERES;CAROLINE;Salarié;64051;Production;Paris
    PDB902;DESSANDE;MARIE CLAU;Salarié;800;Production;Paris
    MWR577;DEZANNIAUX;VERONIQUE;Salarié;798;Production;Paris
    BTZ988;DI DOMINICO;PASCAL;Salarié;64902;Production;Paris
    PYL804;DIEZ-CUIDAD;VALERIE;Salarié;799;Production;Paris
    HJN808;DIMINUTTO;SYLVIE;Salarié;64051;Production;Paris
    RPM412;DOMAGALA;VALERIE;Salarié;400;Production;Paris
    EYJ896;DONKERWOLCKE;MARYSE;Salarié;401;R&D;Paris
    MWF235;DOUEST;PATRICK;Salarié;800;Production;Paris
    SJN534;DRABIEC;NATHALIE;Salarié;400;Production;Paris
    ECJ903;DROGUERES;PHILIPPE;Salarié;400;R&D;Paris
    PYF906;DU BOISHAMON;OLIVIER;Encadrant;400;R&D;Paris
    RMB357;DUDZIAK;JEAN LUC;Salarié;1138;Production;Paris
    JXV854;DUGAULT;FRANCOISE;Salarié;1149;Production;Paris
    SNH958;DUKACZ;ROGER;Salarié;402;Production;Paris
    YDP897;DUMARTENOT;GENEVIEVE;Encadrant;1104;Production;Paris
    CLT801;EUSEN;JEAN CHRIS;Salarié;64112;Production;Paris
    NWM117;FABRO;PASCAL;Salarié;400;Production;Paris
    EXN153;FAMULICKI;MARYVONNE;Salarié;732;R&D;Paris
    RJL229;FAURLINI;STEPHANE;Salarié;400;Production;Paris
    PCL677;FEDIRKO;LAURENCE;Salarié;797;Production;Paris
    ABE159;FEDORUK;SERGE;Salarié;400;Production;Paris
    VSG761;FERNAILLON;JULIA;Intérimaire;797;Production;Paris
    SHJ602;FERRAUD-CIANDET;ANNE MARIE;Salarié;402;Production;Paris
    GBY310;FEULVARC'H;SERGE;Encadrant;1105;Production;Paris
    UFE172;FOEON;MARTINE;Directeur;591;Direction Logistique;Paris
    AGJ355;FONAIL;ALAIN;Salarié;402;Production;Paris
    XZR428;FOSSALUZZA;MARTINE;Encadrant;1104;Production;Paris
    YDM485;FREHOUR;PHILIPPE;Salarié;64051;Production;Paris
    SKY842;FRINGUELLO;FABRICE;Salarié;400;Production;Paris
    FEP678;FROLLA;SUEL;Salarié;1168;R&D;Paris
    PZS595;GAJEWSKI;ERIC;Salarié;1153;Production;Paris
    KNC844;GALECKI;DANIELLE;Encadrant;1106;Production;Paris
    AFX741;GARZUNEL;MICHELLE;Salarié;401;Production;Paris
    PFR661;GASTOUT;THIERRY;Salarié;64421;Production;Paris
    EWS875;GAWRONSKI;GILLES;Salarié;1213;R&D;Paris
    BZJ789;GENGE;REGIS;Encadrant;1122;R&D;Paris
    DRC870;GERADON MERGELIZA DE VERA;MARIE CHRI;Salarié;799;R&D;Paris
    RBH956;GETENIER;MARYLINE;Intérimaire;1166;Production;Paris
    ELS927;GIPONI;DANY;Salarié;400;R&D;Paris
    FDU799;GLANAER;CHRISTINE;Salarié;446;R&D;Paris
    SPL242;GLAPA;LOIC;Salarié;1214;Production;Paris
    PKF438;GLINKOWSKI;PATRICK;Salarié;340;Production;Paris
    BDZ344;GLOWACZ;JEAN MARIE;Salarié;65753;Production;Paris
    PHT574;GOSCINIAK;GUY;Intérimaire;232;Production;Paris
    NUM437;GOUTCHAROFF;CHRISTINE;Salarié;401;Production;Paris
    DPB159;GROMESNIL;BEATRICE;Salarié;799;R&D;Paris
    ARF310;GRZEGORZEWSKI;CATHERINE;Salarié;731;Logistique;Paris
    FDL930;GRZESIAK;JEAN;Salarié;182;R&D;Paris
    DXB546;GUMILAR;FRANCOISE;Salarié;400;R&D;Paris
    RDF959;GWIAZDA;SEVERINE;Intérimaire;232;Production;Paris
    ASN273;HALOUARD;MARIE ELIS;Salarié;401;Logistique;Paris
    RBK609;HARANCZYK;DANIELLE;Encadrant;1105;Production;Paris
    HGN436;HAZI;CLAUDE;Salarié;64212;Production;Paris
    RWZ379;HENAN;PIERRE HEN;Salarié;800;Production;Paris
    CHT733;HORME;MICHEL;Salarié;1153;Production;Paris
    SRD728;HOUDINOFF;MURIELLE;Intérimaire;595;Production;Paris
    AHL742;IACONNELLI;MARIE NOEL;Salarié;400;Production;Paris
    BVX645;IDRISSA;MICHELE;Salarié;64051;Production;Paris
    VRF863;IODICE;FRANCK;Intérimaire;797;Production;Paris
    RCZ537;IURI;HELENE;Salarié;400;Production;Paris
    DVC559;IVTCHENKO;DANIELLE;Salarié;400;R&D;Paris
    ELN524;JAKUBIAK;MARIE PAUL;Salarié;700;R&D;Paris
    AXN774;JANIAK;LYDIE;Salarié;797;Informatique;Paris
    SUH119;JANIK;BRIGITTE;Salarié;400;Production;Paris
    NCZ293;JAREMCZUK;SYLVIE;Salarié;799;Production;Paris
    EGD210;JAROSZ;ANNE MARIE;Salarié;112;R&D;Paris
    PJK622;JASNIAK;JEAN;Salarié;1211;Production;Paris
    ZTR758;JELEN;BRUNO;Salarié;64051;Production;Paris
    RFT789;JENAR;VERONIQUE;Salarié;400;Production;Paris
    EHP846;JODAR;ANNE;Salarié;400;R&D;Paris
    NST143;JUSKOWIAK;XAVIER;Salarié;1214;Production;Paris
    DPN795;KADYSZEWSKI;FABIENNE;Salarié;800;R&D;Paris
    NWM544;KALICINSKI;PASCAL;Intérimaire;1172;Production;Paris
    FCY982;KAPELSKI;MARIE ANNE;Salarié;732;R&D;Paris
    CNZ608;KARKOUZ;FREDERIC;Salarié;64061;Production;Paris
    MYV736;KASPRZAK;DOMINIQUE;Salarié;1165;Production;Paris
    MYF501;KASZUBA;CHRISTIANE;Salarié;798;Production;Paris
    DEW963;KAZAZIAN;FRANCOISE;Salarié;402;Informatique;Paris
    SLJ823;KAZMIERCZAK;REMI;Salarié;1165;Production;Paris
    PEM495;KEDZIORA;MARIE LAUR;Salarié;340;Production;Paris
    RHA721;KERRESPRES;FRANCOISE;Salarié;797;Production;Paris
    PUZ755;KESTENAAR;DOMINIQUE;Salarié;1165;Production;Paris
    FDJ150;KIREEF;VERONIQUE;Salarié;799;R&D;Paris
    yca462;KISIEL;NATHALIE;Intérimaire;1210;Production;Paris
    FBH580;KIZYMA;PHILIPPE;Encadrant;895;RH;Paris
    DRP704;KLEPANDY;ISABELLE;Salarié;400;R&D;Paris
    AWL510;KLIMACEK;MARIE DOMI;Salarié;402;Informatique;Paris
    ELK684;KLIMOWIEZ;CORINNE;Salarié;800;R&D;Paris
    PFG318;KNITZEFF;YANNICK;Salarié;797;Production;Paris
    RLD958;KOGUT;GILLES;Salarié;402;Production;Paris
    EHA621;KONDEJ;JEAN MARIE;Salarié;400;R&D;Paris
    YUB217;KORALEWSKI;AGNES;Directeur;76;Direction Technique;Paris
    PXZ185;KOWALIK;PAULETTE;Salarié;733;Production;Paris
    RJC320;KOWALYK;FRANCOISE;Salarié;400;Production;Paris
    RSE828;KRAUTSOFF;FABIENNE;Salarié;79;Production;Paris
    NJL653;KRECEK;MARYSE;Salarié;402;Production;Paris
    FLT957;KRIVTCHIK;NICOLE;Salarié;402;R&D;Paris
    MRU853;KUBACKI;NATHALIE;Salarié;797;Production;Paris
    ELF971;KUBIACZYK;DOMINIQUE;Salarié;732;R&D;Paris
    WVS514;KUIK;MICKAEL;Intérimaire;1211;Production;Paris
    XNG446;KULCZAK;NADINE;Salarié;1222;Production;Paris
    TUH454;KULIGOWSKI;MARIANNICK;Encadrant;1105;Production;Paris
    RPF598;KUREK;VIRGINIE;Intérimaire;797;Production;Paris
    PXC379;KURIC;JEAN PIERR;Encadrant;400;R&D;Paris
    DSX159;KUSIAK;DOMINIQUE;Salarié;1174;R&D;Paris
    PWB890;KWASIBORSKI;ISABELLE;Salarié;448;Production;Paris
    PLN123;KWIECIEN;RENE;Intérimaire;1212;Production;Paris
    PVL548;L EVANET;ALAIN;Encadrant;1105;Production;Paris
    UXP475;L ORGUILLOUX;MELANIE;Intérimaire;797;Production;Paris
    XHS124;LACOMBLET;FREDERIC;Intérimaire;400;Production;Paris
    RFN932;LAELLEC;MARIE THER;Salarié;401;Production;Paris
    MUB440;LAKOMY;MARIE LINE;Salarié;700;Production;Paris
    END666;L'AMOULEN;ISABELLE;Salarié;401;R&D;Paris
    PWM258;LANGUERE;MARIE THER;Salarié;446;Production;Paris
    EUF937;LATHE;HUGUETTE;Salarié;400;R&D;Paris
    EVP732;LATTUSI;JACQUELINE;Salarié;800;R&D;Paris
    MVE690;LAURGEAU;CEDRIC;Salarié;797;Production;Paris
    YLH362;LE BRELOT;SABRINA;Intérimaire;797;Production;Paris
    EDN509;LE CORRON;FRANCOISE;Salarié;401;R&D;Paris
    OHB649;LE COUEY;YVONNE;Salarié;448;Production;Paris
    PUL991;LE CRUBIER;ELIANE;Salarié;400;Production;Paris
    EJV379;LE DEUX;MARIE JEAN;Salarié;800;R&D;Paris
    PDW766;LE FROUD;EMILIE;Intérimaire;797;Production;Paris
    RCA135;LE GLANER;FRANCOISE;Salarié;799;Production;Paris
    DME996;LE GUESCLOU-DUBOURG;MARIE PAUL;Salarié;446;Paris;Paris
    FJB958;LE LEDAN;NATHALIE;Salarié;64601;Production;Paris
    UWT852;LE LEFF;ALAIN;Encadrant;896;Informatique;Paris
    SGV612;LE LIERS;MYRI;Salarié;1175;Production;Paris
    FMG714;LE MO;PAUL;Salarié;400;R&D;Paris
    EWN589;LE PANNEREC;CHRISTIAN;Salarié;400;R&D;Paris
    DZB421;LE PRUD'HOMME;LUCIEN;Directeur;320;Direction Production;Paris
    NDB530;LE RALIER;COLETTE;Salarié;400;Production;Paris
    DWM762;LE RHUM;CLAUDIE;Salarié;447;R&D;Paris
    CNL211;LE SEC'H;CATHERINE;Salarié;64901;Production;Paris
    SGB447;LE VARRAT;LUC;Salarié;446;Production;Paris
    SFT721;LE VARROT;ISABELLE;Salarié;402;Production;Paris
    JSP145;LE YAUDET;JEAN LOUIS;Encadrant;896;RH;Paris
    ZLC570;LECARUYER DE LAINSECQ;BERNARD;Salarié;64901;Production;Paris
    NWT585;LEC'HVIEN;BEATRICE;Salarié;401;Production;Paris
    TJU270;LECOCGUEN;SYLVIE;Salarié;64083;Production;Paris
    RLX541;LECYSYN;SYLVIE;Salarié;402;Production;Paris
    AES465;LEDEUFF;EDITH;Salarié;800;Production;Paris
    ALY164;LEDRUILLENNEC;MADELEINE;Salarié;799;Logistique;Paris
    GEW506;LEGOADEC;MARTINE;Salarié;3360;Production;Paris
    ETC487;LEINEKUGEL LE COQ;CATHERINE;Salarié;797;R&D;Paris
    SWH852;LEMAINDRE;FLORENCE;Intérimaire;797;Production;Paris
    ESR161;LEMENER;CATHERINE;Salarié;401;R&D;Paris
    NYD414;LENDARO;ANNIE;Salarié;402;Production;Paris
    RFU262;LERIBILLARD;PATRICE;Salarié;401;Production;Paris
    NXV802;LEZOUR;CATHERINE;Salarié;402;Production;Paris
    AJU516;LHEURIN;NICOLE;Salarié;800;Achats;Paris
    STY747;L'HIGUINER;SOPHIE;Intérimaire;797;Production;Paris
    EBG809;L'OSTELIER;ALAIN;Salarié;400;R&D;Paris
    ezb508;LOZAC;ODELINDA;Salarié;800;R&D;Paris
    SRC521;LUBINEAU-BIGOT;BRUNO;Salarié;402;Production;Paris
    NED870;LUKASIK;YVES;Salarié;134;Production;Paris
    AJL664;MACHACOVA;JEAN PIERR;Salarié;401;Achats;Paris
    AFY409;MACHNIK;ANDRE;Salarié;732;Production;Paris
    RZD547;MADDALON;CAROLINE;Salarié;402;Production;Paris
    RLN649;MAHON DE MONAGHAN;ROBERT;Salarié;400;Production;Paris
    PSE124;MAISONNEUVE-LE-BREC;LYSIANE;Salarié;445;Production;Paris
    ECX902;MAJCHER;DOMINIQUE;Salarié;401;R&D;Paris
    EUP162;MALECKI;SYLVIE;Salarié;340;R&D;Paris
    EFM641;MALLINIER;MARTINE;Salarié;402;R&D;Paris
    RCN428;MANIVELLE;ANNIE;Salarié;800;Production;Paris
    NUA134;MANZA;CHRISTINE;Salarié;799;Production;Paris
    SPU755;MARCZAK;BERNARD;Salarié;134;Production;Paris
    MVL705;MARDEGAN;CHRISTINE;Salarié;402;Production;Paris
    ABN328;MAREGLIA;EVELYNE;Salarié;400;Production;Paris
    NZX668;MARIACOURT;MARIE ANNI;Salarié;699;Production;Paris
    DNV227;MARTIN-CLOUAIRE;CATHERINE;Salarié;400;R&D;Paris
    AGF453;MARZEC;JEAN PIERR;Salarié;732;Production;Paris
    BRZ470;MASIERO;MICHEL;Encadrant;1106;Production;Paris
    NYP211;MASLANKA;ALAIN;Salarié;1212;Production;Paris
    RJC231;MATECKI;JOEL;Salarié;1213;Production;Paris
    SRV172;MEIERHANS;CORINNE;Salarié;401;Production;Paris
    EGA322;MELNYCZUK;EMMANUEL;Salarié;402;R&D;Paris
    EXR113;MENCOBONI;MONIQUE;Salarié;400;R&D;Paris
    NVH842;MIALSZYGROSZ;REGINE;Salarié;400;Production;Paris
    PGL650;MIAZZI;VALERIE;Salarié;400;Production;Paris
    uev830;MIHALOVICS;PIERRE;Intérimaire;797;Production;Paris
    ERL761;MIKOLAJSKI;THIERRY;Salarié;400;R&D;Paris
    FCE454;MIKUS;LYDIA;Salarié;400;R&D;Paris
    ECW643;MILOTCHEVITCH;CHRISTIAN;Salarié;400;R&D;Paris
    ZCJ825;MINTA;MARIE THER;Directeur;718;Direction R&D;Paris
    NGX285;MIRONOFF;CLAUDINE;Salarié;797;Production;Paris
    NAX878;MISIAK;ROGER;Salarié;1214;Production;Paris
    PBD537;MOCEK;CHRISTINE;Salarié;446;Production;Paris
    EYB899;MOCIK;MICHELLE;Encadrant;895;RH;Paris
    NDM420;MODOLO;JEAN YVES;Encadrant;400;R&D;Paris
    PFS998;MOITA;PATRICK;Salarié;507;Production;Paris
    KYX248;MOMBAERTS;PHILIPPE;Préretraite;400;N/A;Paris
    NJK132;MOMBREUSE;ERIC;Salarié;400;Production;Paris
    DVE918;MONGIAT;JEAN FRANC;Salarié;400;R&D;Paris
    VTD575;MORCELL;SEVERINE;Intérimaire;445;Production;Paris
    PVR408;MOROSOLY;PHILIPPE;Salarié;624;Production;Paris
    YZF704;MORSOLETTO;SANDRINE;Intérimaire;797;Production;Paris
    NPD936;MULKOWSKI;CLAUDINE;Salarié;732;Production;Paris
    RFP968;NAGORNY;DOMINIQUE;Salarié;400;Production;Paris
    ADW522;NEKRASSOFF;SYLVIE;Salarié;400;Production;Paris
    RVD931;NEVULIS;ISABELLE;Salarié;800;Production;Paris
    SGK459;NIEJINSKY;PATRICK;Salarié;400;Production;Paris
    NCB772;NIEMCZYK;MICHELE;Salarié;732;Production;Paris
    ZVE325;NILAMON;LUCETTE;Encadrant;1104;Production;Paris
    MTJ162;NOJE;JACQUELINE;Salarié;731;Production;Paris
    EJR819;NONEN;PASCAL;Salarié;448;R&D;Paris
    MUJ727;NORTHOIR;ANNICK;Salarié;732;Production;Paris
    TML708;NOYSET;CAROLINE;Intérimaire;797;Production;Paris
    LDX107;OGNOV;CATHERINE;Préretraite;400;N/A;Paris
    SFN967;OLBORSKI;PATRICIA;Salarié;402;Production;Paris
    FNG305;OLEK;CHANTAL;Salarié;700;R&D;Paris
    FAC205;OLIATI;FRANCK;Salarié;400;R&D;Paris
    DYT350;OLZER;CATHERINE;Salarié;112;R&D;Paris
    RZY477;ORIBELLI;VERONIQUE;Salarié;800;Production;Paris
    SJM493;ORNACKI;DANIELE;Salarié;1174;Production;Paris
    XML317;OSSETROFF;LAURENCE;Intérimaire;400;Production;Paris
    ARY565;OVERBEEKE;THIERRY;Salarié;1174;Logistique;Paris
    ASN513;OWCZARCZAK;PAUL;Salarié;1212;Logistique;Paris
    FDP545;PAINSAR;EVELYNE;Salarié;445;R&D;Paris
    BAD678;PAKULA;THIERRY;Directeur;717;Direction Technique (RSI);Paris
    NTL607;PALUSZKIEWICZ;MARIE FRAN;Salarié;732;Production;Paris
    PCK577;PANENC;ISABELLE;Salarié;402;Production;Paris
    DGU318;PANESI;JACQUELINE;Salarié;402;Informatique;Paris
    UDE819;PARA-AUBERT;PATRICE;Salarié;64002;Production;Paris
    EVT399;PARASZCZAK;ANNIE;Salarié;402;R&D;Paris
    PRY805;PASTO;CLAUDE;Salarié;401;Production;Paris
    WHD828;PAUER;THI T;Encadrant;1104;Production;Paris
    DEW304;PAWLACZYK;JEAN PIERR;Directeur;718;Direction Terrain;Paris
    MTC121;PAWLIWEC;ODILE;Salarié;400;Production;Paris
    AXS778;PECILE;ALAIN;Salarié;401;Informatique;Paris
    YST697;PELAINE;DAVID;Intérimaire;797;Production;Paris
    APB686;PENNANHOAT;MONIQUE;Salarié;797;Logistique;Paris
    RBZ192;PERCHEMIN;ALAIN;Salarié;1147;Production;Paris
    SDM876;PEREK;LIONEL;Salarié;732;Production;Paris
    HSW309;PERZ;JEAN LUC;Directeur;718;Direction Terrain;Paris
    BCM314;PETTINOTTO;VERONIQUE;Salarié;402;Approvisionnement;Paris
    VWT381;PIETRZYK;VALERIE;Intérimaire;232;Production;Paris
    SDB802;PIUSSI;MONIQUE;Salarié;1174;Production;Paris
    MRK532;PORADKA;ANDRE;Salarié;64413;Production;Paris
    SMZ517;POULICHARD;MARTINE;Salarié;400;Production;Paris
    ERJ826;PRECOME;PHILIPPE;Salarié;402;R&D;Paris
    RNE908;QUENECH DE QUIVILLIC;JEAN;Salarié;2260;Production;Paris
    AYB857;QUENERC HDU;REGINE;Salarié;799;Informatique;Paris
    NZP213;QUESSART;STEPHANIE;Salarié;798;Production;Paris
    YFR457;QUINONERO;BERNADETTE;Encadrant;1104;Production;Paris
    SEB225;RAGOUBERT;HELENE;Salarié;400;Production;Paris
    EDT791;REINCZ;CATHERINE;Salarié;400;R&D;Paris
    NCD147;RIZZONI;MARTIAL;Salarié;445;Production;Paris
    EUC517;RJEJABEK;JACQUES;Salarié;64901;Production;Paris
    FLS899;ROGON DE CARCARADEC;LILIANE;Salarié;401;R&D;Paris
    RVZ351;ROSADA;VERONIQUE;Salarié;128;Production;Paris
    MTV538;RUBELE;NATHALIE;Salarié;1168;Production;Paris
    CNS819;RYBARCZYK;LAURENCE;Salarié;64091;Production;Paris
    JDK446;RYNKOWSKI;CLAUDE;Directeur;734;Direction Terrain;Paris
    PGC744;RZEPECKI;GERARD;Encadrant;1106;Production;Paris
    RMH461;RZEPKA;CAROLINE;Intérimaire;1212;Production;Paris
    PYF271;SADOUN;MICHELLE;Intérimaire;797;Production;Paris
    ATK278;SAPINSKI;PATRICE;Salarié;800;Logistique;Paris
    pmu756;SARGIOTTO;FLORENCE;Salarié;238;Production;Paris
    SGH174;SAVELIEFF;YANNICK;Salarié;1165;Production;Paris
    RHU671;SAVEROU;CATHERINE;Encadrant;1105;Production;Paris
    HLF444;SAVOYE DE PUINEUF;PHILIPPE;Salarié;43001;Production;Paris
    NYH365;SEMESON;ANNY;Salarié;446;Production;Paris
    FMS777;SIVIKLA;HERVE;Salarié;446;R&D;Paris
    DYS532;SKLENAR;IOAN;Salarié;400;R&D;Paris
    RNH192;SKOCZEK;CHRISTINE;Salarié;400;Production;Paris
    DNZ593;SKRZYPEK;MARIE BEAT;Directeur;17;Direction Générale;Paris
    PFS143;SKRZYPEZAK;PATRICK;Salarié;732;Production;Paris
    NLR416;SLIWINSKI;DIDIER;Salarié;733;Production;Paris
    FLJ710;SLOBADZIAN;ANNICK;Salarié;400;R&D;Paris
    AKU687;SLOWINSKI;NATHALIE;Encadrant;897;Informatique;Paris
    ZMF643;SOBCZAK;PASCAL;Directeur;18;Direction Financiere;Paris
    HVX760;SOBECKI;OLIVIER;Salarié;64313;Production;Paris
    XER421;SOBIERAJSKI;DOMINIQUE;Directeur;76;Direction RH;Paris
    SNF798;SOIZEAU SAINT-MARTIN;SYLVIE;Salarié;400;Production;Paris
    EMC770;SOLTYSIAK;CHANTAL;Salarié;134;R&D;Paris
    DTL388;SORBARA;CATHERINE;Salarié;402;R&D;Paris
    SFV387;SOUGENOUX;DANIEL;Salarié;798;Production;Paris
    MVY673;SOWKA;MARIE JOSE;Encadrant;1106;Production;Paris
    NKE407;SPINEDONI;FRANCOISE;Salarié;1168;Production;Paris
    ARV810;SPIRONELLO;EVELYNE;Salarié;402;Logistique;Paris
    RMU540;SPRUTTA;JEAN MICHE;Salarié;1211;Production;Paris
    TBE458;STANISLAWIAK;JEAN;Encadrant;1106;R&D;Paris
    EAY879;STANISLAWSKI;GERARD;Salarié;1214;R&D;Paris
    RGP845;STARTCHENKO;LILIANE;Salarié;799;Production;Paris
    ELA605;STELMASZYK;JACQUELINE;Salarié;173;R&D;Paris
    REG481;STEMPIN;NELLY;Salarié;732;Production;Paris
    EZF202;STEPIEN;JEAN MICHE;Encadrant;1106;Production;Paris
    ECH655;STOUPNIKOFF;ANNIE;Salarié;799;R&D;Paris
    KTY150;STROZYK;PATRICIA;Directeur;718;Direction Terrain;Paris
    DHJ541;STURMA;NADIA;Salarié;400;Informatique;Paris
    PGH950;SUBIRES;SYLVIE;Salarié;797;Production;Paris
    VWC644;SURBECK;MARIE CLAI;Salarié;66581;Production;Paris
    LVZ952;SZAFRAN;CHANTAL;Salarié;64901;Production;Paris
    ERG449;SZAFRANSKI;MONIQUE;Salarié;699;R&D;Paris
    PWU707;SZALA;CLAUDINE;Salarié;797;Production;Paris
    EZG467;SZARANEK;CHRISTINE;Salarié;400;R&D;Paris
    FEU932;SZYSZKA;HELENE;Salarié;732;R&D;Paris
    SGK770;TARGIROFF;PATRICK;Salarié;400;Production;Paris
    NES901;TCHERNIAVSKI;FANNY;Salarié;401;Production;Paris
    ZJA813;TENAGUILLO;CELINE;Intérimaire;797;Production;Paris
    SEM279;TENEDOR;ERIC;Salarié;402;Production;Paris
    DSL824;TEPHO;MARYLINE;Salarié;401;R&D;Paris
    EKU459;TERENCIO;HENRI;Salarié;800;R&D;Paris
    NDY495;TERRAI;CHRISTIAN;Salarié;549;Production;Paris
    SYX215;TERRITORIO;STEPHANE;Salarié;64051;Production;Paris
    SBC479;TITAN;LAURENCE;Salarié;402;Production;Paris
    VHG119;TONIUTTI;ANTHONY;Intérimaire;797;Production;Paris
    ALW867;TONIZZO;JEAN LUC;Salarié;400;Logistique;Paris
    EFH772;TOROSSIAN;PHILIPPE;Salarié;797;R&D;Paris
    MZA886;TREFINE;NOELLE;Salarié;401;Production;Paris
    RXP105;TUREK;HERVE;Salarié;178;Production;Paris
    SBD312;TURMENKO;PASCAL;Salarié;400;Production;Paris
    ETJ178;ULANECKI;CATHERINE;Salarié;797;R&D;Paris
    RYD187;VALOVIKOFF;NELLY;Salarié;400;Production;Paris
    PFG724;VAN GASTEL;YVES;Salarié;732;Production;Paris
    ZDL771;VAN-DEN-BERG;NICOLE;Encadrant;1104;Production;Paris
    PNG538;VIDOTTO;PATRICE;Salarié;400;Production;Paris
    EJY777;WANEPH;COLETTE;Directeur;478;Direction Achat;Paris
    XPU116;WEGRZYN;JEAN MICHEL;Encadrant;1104;Production;Paris
    EMW982;WIECKOWSKI;MARIE DOMI;Salarié;400;R&D;Paris
    JLR421;WLODARCZYK;JEAN;Salarié;66371;Production;Paris
    TPN287;WOJCIK;SOIZIC;Intérimaire;797;Production;Paris
    SBD176;WOJCIK;PASCAL;Salarié;182;Production;Paris
    EJY744;WOJCINSKI;JEAN JACQU;Salarié;732;R&D;Paris
    NHR258;WOJNECKI;MARIE PIER;Salarié;798;Production;Paris
    EPC941;WRONSKI;FRANCK;Salarié;1211;R&D;Paris
    PKH460;YOUNSI;MARTINE;Salarié;732;Production;Paris
    PXT866;ZAMCHA;PATRICK;Encadrant;400;R&D;Paris
    FNS965;ZAMPESE;DANIELE;Salarié;1174;R&D;Paris
    REH702;ZBOROWSKI;JOEL;Salarié;182;Production;Paris
    KJL267;ZIDARIC;RAHMA;Encadrant;400;R&D;Paris
    VYR223;ZIETEK;PIERRE;Intérimaire;1212;Production;Paris
    NBU695;ZIOLKOWSKI;SANDRINE;Salarié;1213;Production;Paris
    WLC591;ZMUDA;VERONIQUE;Salarié;1222;Production;Paris
    EHZ622;ZOLADZ;MARIE CHRI;Salarié;400;R&D;Paris
    AHF368;ZYGMUNT;LILIANE;Salarié;400;Production;Paris