TP Powershell – String, Regex et petits poneys…

Petit TP PowerShell facile pour une fois, sur la gestion des chaînes de caractères (ou String).
Admettons, pour commencer que l’on est fait un bout de script qui récupère les comptes machines de nos serveurs avec leurs dates de création.

Premier exercice cash ! Écrivez cette commande PowerShell avec Get-ADComputer.

Pour les autres, la solution ci-dessous très bien cachée.

PS C:\> $tab = Get-ADComputer -SearchBase 'OU=Serveurs,DC=equestria,DC=com' -SearchScope Subtree -Filter * -Properties whencreated

Bon, et si on cherche à tester les serveurs donc le nom commence par ‘Pony-‘ pour avoir nos serveurs du projet poney ? Pour commencer doucement on va le faire avec une boucle FOR.

#Ici on crée un tableau vide
$srv_pony = @()

#Pour chaque élément du tableau de tous les serveurs
ForEach($srv in $tab){
    #Si le nom commence par pony
    if($srv.name -match '^pony\-*'){
        #On l’ajoute dans le tableau
        $srv_pony += $srv
    }
}

On récupère alors les serveurs dans l’Active Directory dont le nom de machine commence par pony-. Ceux qui ne connaissent pas ont sûrement remarqué que mon « -match » est un peu étrange. En fait j’utilise la syntaxe des expressions régulières. Les expressions régulières sont avant tout un modèle théorique (utilisé en compilation par … Lire la suite