TP PowerShell DNS – La machine dans l’Alias, inversement et dans l’autre sens aussi (c’est ce qu’elle a dit)

Bonjour à tous,

Je me suis rendu compte que c’est assez coton de récupérer un alias DNS à partir du nom d’une machine.

Kézako DNS :

DNS pour Domain Name Service est en gros (mais alors très gros, hein), un service qui permet d’associer à un nom de machine une IP et inversement (et quelques autres infos), ça date de 1983 ; et ça implémente une charrette de RFC diverses et variées.
Au final, c’est « juste » une hiérarchie de tableaux de correspondance IP<->NOM, un peu comme DHCP pourrait être vu comme un tableau @MAC<->IP.

On peut aussi définir des Alias DNS, ce qui nous intéresse pour ce TP : au lieu d’être une ligne IP<->NOM on a une ligne NOM<->NOM.

Je vous invite à lire la page Wikipédia qui expliquera tout ça beaucoup « plus mieux » que moi.

Revenons à nos enregistrements

On va commencer avec le standard et la modernité ceux qui sont encore sous XP et Seven (oui oui ça a déjà 6 ans…), connectez-vous à un serveur 2012 avec les outils d’admin dessus.
Car sous 2012 ou W8 et avec PowerShell V4, on a le module DNS à notre disposition, donc il tout simplement … Lire la suite

TP PowerShell – Module Active Directory (bis)

Coucou les gens,
Je continue de rattraper des textes écrit à droite à gauche ici :
Ici, présentation d’une autre cmd-let PowerShell pour exporter des données de la console dans un fichier au format CSV, et on va utiliser le module AD vu précédemment pour trouver les données à exporter :

1. Charger le module Active Directory dans la console PowerShell :

Import-Module ActiveDirectory

2. Comme la dernière fois on utilise une cmd-let du module AD pour récupérer les utilisateurs qui ont ‘666’ dans l’attribut employeenumber dans une variable « $beast », mais avec un filtre LDAP (pour changer et que les vieux soit pas trop perdu…) :

$beast = Get-ADUser -LDAPFilter '(employeenumber=*666*)' -Properties @('employeenumber')

3. Disons qu’on veuille maintenant exporter ce résultat dans un fichier pour le fournir à nos collègues:

$beast | Export-Csv "TheNumberOfTheBeast.csv" -Delimiter ';' -Encoding UTF8 -NoTypeInformation

4. Le script va vous créer un fichier .csv dans le dossier courant que vous pourrez ensuite ouvrir depuis Excel, vous le visualiser avec :

Get-ChildItem *
 Répertoire : C:\Users\poney
  Mode                LastWriteTime     Length Name
 ----                -------------     ------  ----
 […]
 -a---        10/04/2015     14:11       3939  TheNumberOfTheBeast.csv

Voilà, très pratique pour les ‘quick search’ à l’arrache.… Lire la suite

TP PowerShell – Module Active Directory

Bonjour à tous,
Petit TP PowerShell rapide basé sur un cas d’usage demandé par des gens qui ne savent pas se servir d’un clavier.
Question posée : « Comment trouver une machine dans un annuaire Active Directory via une information indiquée dans le champ description ? »
1- Charger le module active directory de powershell :

Import-Module ActiveDirectory

2- Utiliser la cmd-let Get-ADComputer avec un filtre pour faire le boulot.
On cherche les objets pour lesquels le champ description contient “poneyland” et on veut afficher l’attribut ldap ‘description’ dans le résultat :

Get-ADComputer -Filter {(description -like "*poneyland*")} -Properties @('description')

3- Et si on ne cherche que des postes XP
(Oui même si c’est mal, justement : c’est pour leur péter leurs sales petites gueules) ?

Get-ADComputer -Filter {((description -like "*poneyland*") -and (operatingsystem -like "*XP*"))} –Properties @('description','operatingsystem')

Et voilà… Lire la suite