Active Directory: reporting sur les groupes inutilisés

Traduction FR:
 IT-Central.fr
Auteur & Source :

Nous nous intéresserons aujourd’hui sur une des manières de procéder au nettoyage des groupes inutilisés dans une forêt AD. J’ai constaté ces dernières années une tendance croissante: les administrateurs ou les groupes d’identité créent des groupes qui ne sont jamais utilisés. Une fois ces groupes créés, il semble impossible de supprimer ces groupes pour des raisons inconnues. Cela pour plusieurs raisons comme; ils peuvent être simplement utilisés, mais vides, ou nous n’avons aucune idée de ce pour quoi il est utilisé. [As part of my continue discussions I started focusing on low hanging fruit (groups)]. Pour résoudre cela, j’ai commencé à me focaliser sur le fait que si  “Membre de” et “Membres” sont vides et que leur changement était supérieur à x, il ne doit pas être utilisé. Cela semble logique, mais il s’avère que ce n’était pas le cas, j’ai ensuite élargi ma recherche pour inclure si msDS-ReplValueMetaData est nul et si l’option créée est antérieure à x. Il existe de nombreux topiques autour de l’utilisation de msDS-ReplValueMetaData et pour quoi il peut-être utilisé. Pour faire cour, il s’agit d’un attribut qui contient toutes les métadonnées de réplication autour des valeurs liées (Use PowerShell and Repadmin to Check for Updates to High Privileged Groups). Si l’attribut est vide, il est plus que probable que le groupe n’ait jamais ajouté directement de Membres. J’ai trouvé qu’au moins un quart de tous les groupes dans la plupart des environnements Active Directory appartiennent à cette catégorie.

Voici le script que j’ai lancé sur l’ensemble de la forêt

Ce script traversera tous les domaines d’une forêt.

Lien vers la galerie Technet

Une fois que le script est terminé, ouvrez-le dans Excel et triiez les données de votre choix.

https://i2.wp.com/msdnshared.blob.core.windows.net/media/2017/04/image558.png?resize=665%2C446&ssl=1

Dans Insérer, sélectionnez Tableau Croisé Dynamique, cela fait apparaître les champs croisés de la table comme suit :

https://i0.wp.com/msdnshared.blob.core.windows.net/media/2017/04/image559.png?w=665&ssl=1

Vous devriez avoir une belle petite vue comme celle-ci :

https://i0.wp.com/msdnshared.blob.core.windows.net/media/2017/04/image560.png?w=665&ssl=1

* Envisager de filtrer les OU ou les conteneurs comme Builtin et Utilisateurs.

Faites en sorte que les champs du tableau croisé ressemblent à ceci :

https://i1.wp.com/msdnshared.blob.core.windows.net/media/2017/04/image561.png?w=665&ssl=1

Une belle vue de chaque OU et l’âge et le nombre des Groupes devraient être affichés :

https://i2.wp.com/msdnshared.blob.core.windows.net/media/2017/04/image562.png?w=665&ssl=1

Maintenant que vous avez ces données, espérons-le, il suffira de nettoyer certain dans eux dans Active Directory. Dans une prochaine publication sur le blog, nous aborderons la dernière modification de msDS-ReplValueMetaData pour déterminer la dernière fois qu’un objet a été ajouté ou supprimé. J’espère que vous trouvez cela utile. Je vous souhaite une bonne journée.

Chad

Share

Utilisation des couleurs dans les formulaires PowerShell

Traduction FR: IT-Central.fr
Auteur & Source : 

Je me suis récemment amusé avec des formulaires PowerShell, où j’ai voulu utiliser des couleurs pour les boutons et les arrière-plans.

Il existe un tas de couleurs prédéfinies que vous pouvez utiliser, mais leur noms ne sont pas associés à un tableau de couleurs en vu de vous aider dans votre choix.

C’est dans cet esprit que j’ai écrit ce petit formulaire avec un menu déroulant des couleurs prédéfinies qui affichera la couleur dans une boîte de sortie. Vous pouvez faire défiler le menu déroulant jusqu’à ce que vous trouviez la couleur souhaitée. Copiez et collez le nom dans votre formulaire (and Robert is your fathers brother). Happy PowerShelling!

Share

PowerShell sur Linux : pourquoi et comment ?

Auteur & Source : Pascal Sauliere (bio)

J’ai eu le plaisir de présenter cette semaine un sujet sur PowerShell sur Linux, pour le French PowerShell User Group (FrPSUG), que je remercie chaudement pour l’invitation. La présentation se trouve dans le GitHub du FrPSUG et ici même :

2017-04-11 FRPSUG PowerShell sur Linux

La présentation a eu lieu en ligne grâce à Skype for Business et a été enregistrée :

Toutes les démos de la présentation sont issues du GitHub de PowerShell, dans le répertoire “demos” :

https://github.com/PowerShell/PowerShell

Ce dépôt GitHub contient également, outre les sources de PowerShell, les documentation d’installation pour Windows, Linux, MacOS et Docker.

Share

Méthode pour supprimer les doublons dans une base de données SQL

Auteur & Source : Tony Archambeau

Les doublons dans une base de données prennent de la place inutilement et peuvent causer des erreurs sur un site web ou une application. Dans un précédent article, des requêtes SQL pour trouver les doublons étaient présentées. Cet article-ci présente une requête pour supprimer les doublons tout en conservant une ligne.

ATTENTION : avant de commencer à exécuter la requête de suppression, il faut penser à faire un backup (cf. une sauvegarde) de la table concernée. Dans le pire des cas, il sera possible de la réinstaller.

Supprimer les doublons d'une table SQL

Supprimer les doublons d’une table SQL

Rappel : requête pour trouver les doublons

Avant de vouloir supprimer les éventuels doublons, il faut commencer par vérifier s’il y en a. La requête suivante est à utiliser en remplaçant les champs 1 à 3 par les champs de votre choix qui doivent servir de référentiel pour trouver les lignes dupliquées.

Attention, selon le type de lignes dupliquées, il ne faut peut-être pas faire de recherche en utilisant les champs qui servent de timestamp (exemple : un champ DATETIME).

Requête pour supprimer les doublons

Si la requête précédente à bien retournée des résultats considérés comme des doublons, alors il est temps de passer à l’étape suivante pour préparer la suppression. La requête ci-dessous sert à supprimer les lignes en trop qui possèdent les mêmes données dans les colonnes « champ1 » à « champ3 » (à personnaliser).

Attention, il y a plusieurs choses à savoir à propos de cette requête :

  • Le champ « id » est à personnaliser selon le nom de la colonne de votre propre table.
  • La requête va conserver la ligne avec l’ID le plus petit car la fonction MIN() est utilisée. Il est possible de conserver la requête avec l’ID le plus grand en utilisant à la place la fonction MAX().
  • Cette requête assume qu’aucun champ n’est NULL.

Solution n°2

Vérifier

Il faut songer à vérifier que tout s’est bien passé après avoir supprimé toutes ces lignes. Il est possible de contrôler qu’il n’y a plus de doublons. S’il y en a toujours, c’est le moment de recommencer en corrigeant la requête. Si au contraire trop de lignes ont été supprimées, il faut réinstaller la sauvegarde pour ne pas perdre inutilement des lignes.

À noter : il existe d’autres manières de supprimer les doublons. N’hésitez pas à utiliser une autre technique si vous n’êtes pas à l’aise avec celle-ci.

Share

Powershell : Détecter les login et être alerté par email

Traduction FR:IT-Central.fr
Auteur & Source : Taylor Gibb

 

Powershell : Détecter les login et être alerté par email

Le planificateur de tâches Windows peut envoyer automatiquement un email à un moment précis ou en réponse à un événement spécifique, mais cette fonction de messagerie intégrée ne fonctionne pas très toujours très bien pour la plupart des utilisateurs.

Nous vous avons déjà montré comment faire en utilisant un outil tiers, mais qui veut vraiment faire cela alors que vous pouvez le faire avec des outils intégrés directement dans Windows ?

PowerShell + Planificateur de tâches

La première chose que nous devons faire est de configurer une tâche planifiée, pour ce faire, appuyez sur la combinaison de clavier Win+R pour faire apparaître une boîte d’exécution puis tapez “control schedtasks” et appuyez sur Entrée.

Fenêtre executer

Lorsque le planificateur de tâches s’ouvre, cliquez sur le lien Créer une tâche ….

Planificateur de tâche

Dans le volet Général, indiquez le nom et la description de la tâche. Vous devez également sélectionner l’option Exécuter Run whether user is logged on or not.

Planificateur de tâche

Passez ensuite à l’onglet Déclencheurs et ajoutez un nouveau déclencheur. Le déclencheur doit être déclenché lors du Login, en sélectionnant dans le menu déroulant A l’ouverture de session.

Planificateur de tâche

Enfin, vous passer à l’onglet actions et ajouter une nouvelle action. À partir de là, vous choisissez démarrer un nouveau programme, et le programme que nous voulons que ce déclencheur démarre est “powershell“. Vous devrez ensuite coller ce qui suit dans la zone de texte.

Notez que vous devez changer toutes les occurrences de someone@gmail.com avec le nom d’utilisateur d’un compte GMail réel et de son MOT DE PASSE. Vous pouvez également choisir d’utiliser votre propre serveur SMTP.

Planificateur de tâche

Dans l’onglet Conditions, décochez Démarrer la tâche uniquement si l’ordinateur est sous tension ou si vous ne recevrez pas d’e-mails si votre ordinateur est un ordinateur portable débranché.

 

Share