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 Active Directory – Changement de mot de passe, réseau et Windows 7

Pas vraiment un TP aujourd’hui mais plus une nouveauté que j’ai découverte en réinitialisant un mot de passe utilisateur dans un Active Directory.

Le problème

En fait en faisant un changement de mot de passe je me suis rendu compte que le PC freezait pendant quelques secondes avant de réussir.
Un coup de netstat plus tard, j’avais repéré un beau SYN_SENT vers un de nos DC avec le protocole kpasswd côté port réseau.

Que ça veut dire ?

Après une rapide recherche autour de kpasswd, je suis tombé sur l’explication.
Depuis Windows 7, Microsoft implémente kpasswd (protocole et programme Opensource-KRB/MIT) qui est utilisé pour gérer les mots de passes des « principaux » (=comptes, pour simplifier) dans Kerberos.
La plupart des gens pensaient que MS avait fait ça pour des histoires de compatibilité UNIX.

QUENiNi vous dis-je !

Seven essaie systématiquement de changer le mot de passe en kpasswd (et ce, que ce soit sur domaine et DC : en 2003 ou 2008R2 ou plus).
XP lui se comporte différemment, et utilise « SAMR » (il pourra faire du ‘Rap’ comme ça) qui passe sur le 445 en « RPC-Over-SMB » (et du coup la ça passe le filtrage firewall)… Lire la suite

TP PowerShell – REPADMIN et Réplication des DCs

Bonjour à tous,

C’est un peu la guerre au boulot en ce moment, donc un TP rapide) sur comment synchroniser les différents DCs d’un AD.

REPADMIN C’est quoi ?

Tout d’abord :
REPADMIN est fourni depuis Server 2008 sur Windows, c’est un outil dédié au diagnostic des problèmes de réplications entre les DCs.
Il est installé par défaut avec les rôles AD-DS ou AD-LDS, ou avec les outils d’administration (RSAT).

Direct, je veux vous montrer qu’on peut lui demander plein de truc sympa à cet exécutable :

REPADMIN, le diagnostic

Récupérer les attributs d’un objet :

PS C:\> .\repadmin.exe /showattr DC-PONEY-1.equestria.com'CN=GARGAMEL,OU=Comptes,DC=equestria,DC=com'
DN: CN=GARGAMEL,OU=Comptes,,DC=equestria,DC=comc
 4> objectClass: top; person; organizationalPerson; user
 1> cn: GARGAMEL
 1> sn: PLOP
 1> c: US
 […]

Mais normalement vous saviez déjà faire ça en PowerShell grâce à mes précédents TPs.

L’intérêt de l’outil est avant tout le contrôler l’état de réplication des DCs, Pour avoir un « joli » rapport de l’état de la synchronisation des DCs (d’ailleurs on a une erreur…)

PS C:\> .\repadmin.exe /replsummary *
 Replication Summary Start Time: 2014-10-31 13:09:20
Beginning data collection for replication summary, this may take awhile:
 .........................
Destination DSA largest delta fails/total %% error
 DC-PONEY-1 14m:16s 0 / 51 0
 
Lire la suite

TP PowerShell – Filtrer avec Where-Object (et plus si affinités)

La question du jour, c’est : Quels sont les utilisateurs qui n’exécutent pas le script logon.cmd lors du logon ? et combien sont-ils ? peut-on avoir la liste de ces comptes ?

On avait déjà vu comment chercher et lister des utilisateurs de l’Active Directory dans le TP n°1.
Donc je ne reviens pas sur la cmd-let Get-ADUser, et je vous donne directement la 1ère requête qui retourne tous les utilisateurs dans une OU et de ses sous-OU en intégrant la colonne scriptPath (qui contient le chemin du logonScript) aux objets dans le résultat.

PS C:\> Get-ADUser -Filter * -Properties @('scriptPath') -SearchBase 'OU=Utilisateurs,DC=ponyland,DC=org' -SearchScope Subtree

C’est donc à ce moment les experts d’Excel nous demanderons de leurs sortir le résultat dans un CSV pour qu’ils y mettent un filtre sur la colonne scriptPath et avoir le résultat…
=> Super efficace…

Ou alors, on peut se la jouer « beau-gosse » et filtrer directement le résultat dans PowerShell, explication : On va utiliser le pipe « | » (comme en linux) pour rediriger la sortie de la cmd-let Get-ADUser dans l’entrée de notre cmd-let Where-Object.
Cette cmd-let nous permet de faire en un appel l’équivalent de l’algorithme suivant (simplifié) :

Pour Chaque Objet en entrée :
 
Lire la suite