PowerShell – Temps d’exécution d’un script

La cmdlet Measure-Command permet de déterminer rapidement le temps d’exécution d’un script PowerShell.

Exemple :

La commande suivante liste simplement les processus en cours dont le nom commence par un “W”

Si vous désirez voir le temps d’exécution de cette commande, il suffit de la passer en paramètre de la cmdlet Measure-Command.

L’utilité de cette fonction peu ne pas être évidente au premier regard mais lorsque l’on traite des requêtes manipulant plusieurs milliers d’objets, cela peu faire toute la différence. Dans certains cas, l’optimisation d’un script permet de diviser son temps d’exécution par 10 voir par 100.

PowerShell – Generate Password

Le script ci dessous n’est pas très élaboré mais il a l’avantage d’être simple, compréhensible et facilement adaptable. Dans sa forme actuelle, il permet de générer un mot de passe de 9 caractères composé comme suit : une Majuscule + 4 caractères minuscules + 1 caractère spécial + 3 chiffres. Je vous laisse le soin de le modifier pour l’adapter à vos besoins.

Voici le résultat du script exécuté 20 fois :

 

PowerShell – Active Directory Audit Report

Les mots me manquent pour dire tout le bien que je pense de Zachary. Ce mec est génial. Et quand vous aurez vu ce dont ce script est capable, vous serez surement de mon avis.

Le script New-ADAssetReport permet de générer un fichier HTML (ou plutôt 2) avec une description très complète de votre annuaire :  niveaux fonctionnels, rôles FSMO, listes de DC (avec nom et adresse ip), liste des sites, des sous réseaux, détails sur la topologie, nombre et listes des utilisateurs avec pouvoir, …etc.

Petit aperçu du rendu :

Je vous conseille au passage d’aller faire un tour sur le site de l’auteur. Vous y trouverez des tas de scripts sympas : http://www.the-little-things.net/

Télécharger ici.

PowerShell – Exchange Environment Report

Ce script que nous devons à l’excellent Steve Goodman est une référence en la matière. Il permet de générer un rapport au format html synthétisant l’essence de votre environnement Exchange :

  • Nombre de serveurs Exchange (avec leur role, version de l’OS, version et niveau de correctif Exchange)
  • Le nombre total de boites aux lettres avec répartition par base de données
  • Liste des DAG avec leurs serveurs membres
  • Taille des bases de données, nombre de boites aux lettres par base, taille moyenne des boites aux lettres, dernière sauvegarde, …
  • Compatible Exchange 2010, 2013 et 2016
  • etc…

Cliquez sur l’image pour avoir un apercu d’un rapport.

Vraiment un outil indispensable, je ne m’en sépare jamais.

Source : Steve Goodman’s Office 365 and Exchange Blog

Exchange Solution Reviewed Program

Le programme ESRP (Exchange Solution Reviewed Program) est un programme de Microsoft validant des architectures Exchange Server sizées et conçues par les constructeurs.

Vous y trouverez donc moult document d’architecture pour des environnement allant de 1000, 5 000 voir 20 000 utilisateurs pour des environnements HP, IBM, DELL, …. Une vrai mine d’informations.

Site : Programme ESRP

Freeware – Get Local Admins GUI

Un petit utilitaire ultra pratique pour récupérer la liste des administrateurs locaux sur vos postes de travail ou vos serveurs. On peut injecter la liste des ordinateurs à auditer depuis un fichier texte ou directement depuis l’annuaire.

Je vous conseille fortement de parcourir cet excellent site qui regorge de petits utilitaires absolument indispendables.

Source : http://www.cjwdev.co.uk/Software/GetLocalAdminsGUI/Info.html 

PowerShell – Créer des utilisateurs Active Directory depuis un fichier CSV

Un grand classique. Ce petit script Powershell suivant permet de lire un fichier CSV contenant une liste d’utilisateurs et de créer pour chacun un compte Active Directory.

Votre fichier CSV doit contenir au moins les colonnes suivantes : GivenName (Prénom), Surname (Nom), Login, Password, Title, Phone, …  à vous de choisir les informations qui vont sembleront pertinentes.

Note : Ce script a été testé sous Windows 2012 R2.