====== PowerShell ======
===== Les bases =====
Selon moi, la première notion à connaître est la manipulation des fichiers CSV. Lisons donc un fichier CSV et faisons une boucle dessus pour manipuler chaque ligne.
Partons de l'exemple suivant.
Samaccountname,Mail
abc123,abc123@domain.com
def123,def123@domain.com
ghi123,ghi123@test.com
Samaccountname,Mail
abc123,abc123@domain.com
def123,def123@domain.com
ghi123,ghi123@test.com
Import-Csv -Path input.csv | foreach {
    # On sauvegarde l'objet courant dans une variable dédiée
    $currentLine = $_
    # exemple de récupération de colonne
    $mail = $currentLine.Mail
    # on fait un test
    # on ajoute une propriété à la ligne courante avec le résultat du test
    if ($mail -match "domain.com$") {
        $currentLine | Add-Member -MemberType NoteProperty -Name "domainCheck" -Value "valid"
    } else {
        $currentLine | Add-Member -MemberType NoteProperty -Name "domainCheck" -Value "invalid"
    }
    # on retourne la ligne courante avec la nouvelle colonne
    $currentLine
} | 
# export result line by line to CSV
# -NoTypeInformation empêche le fichier exporté de contenir une ligne de metadata
Export-Csv -Path preCheck.csv -NoTypeInformation
Ce script exporte ce genre de fichier CSV avec une nouvelle colonne.
"Samaccountname","Mail","domainCheck"
"abc123","abc123@domain.com","valid"
"def123","def123@domain.com","valid"
"ghi123","ghi123@test.com","invalid"
"Samaccountname","Mail","domainCheck"
"abc123","abc123@domain.com","valid"
"def123","def123@domain.com","valid"
"ghi123","ghi123@test.com","invalid"