Question Vérifier existence liste utilisateur AD

Plus d'informations
il y a 6 ans 7 mois #29156 par Maskime31
Bonjour à tous,

Nous utilisons chez nous, pour certains postes un login identique au nom du poste.
lors de remplacements, notre support à pu être amené à supprimer l'ordinateur au sens AD mais pas le login.
On m'a donc demandé de faire du ménage la dedans...

J'ai donc un fichier reprenant ces users et il faut que je vérifie dans l'AD l'existence d'un computer qui porte le même nom.

Débutant dans Powershell, je ne sais pas trop comment m'y prendre, j'ai vu sur le net des scripts avec Try et Catch, sinon avec un foreach...

L'idéal serait de peupler une colonne de mon fichier CSV avec un \"True\" ou \"false\" suivant si le pc existe ou pas.

Pourriez-vous m'indiquer une démarche ?

Merci ! 🙂

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 7 mois #29161 par Laurent Dardenne
Salut,
il faut effectuer une itération à partir d'un fichier csv, le foreach est une direction.

Si tu exécutes le compte en admin sur un serveur où l'AD est accessible cela ne devrait pas poser de pb à écrire.

Un conseil pour débuter, trouve la commande pour 1 user/poste et ajoute le traitement de masse par la suite.

Maskime31 écrit:

On m'a donc demandé de faire du ménage la dedans...

ça c'est plus délicat, regarde le fonctionnement du paramètre -Whatif qui te permettra de vérifier ton code sans destruction.
Maskime31 écrit:

L'idéal serait de peupler une colonne de mon fichier CSV avec un \"True\" ou \"false\" suivant si le pc existe ou pas.

Ton traitement peut faire la recherche et la supression selon ta règle. Mais si tu as déjà les données, ici le cmdlet Where-Objet peut filtrer les PC à traiter.<br><br>Message édité par: Laurent Dardenne, à: 31/07/19 20:11

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 7 mois #29162 par Philippe
salut a vous

autre info sur le sujet :
il te faut RSAT d'installer sur le poste ou tourne le script pour avoir accès au commande AD
attention il y a un RSAT pour chaque version de windows ! :pinch:


de la pour pourra utilisé get-adcomputer

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 7 mois #29192 par Maskime31
Hello !

Merci pour vos réponses !

Je suis déjà sur un serveur donc pas besoin des RSAT...

Dans un premier temps j'aimerai voir l'étendue des dégâts...

J'ai donc un fichier CSV de test avec 2 Users un qui existe et l'autre non.

Les headers sont les suivants : Name Last_login enabled

Dans l'idéal j'aimerai rajouter une colonne indiquant si le poste avec le même nom que le user existe.

J'arrive à ce petit bout de code qui semble fonctionner mais qui ne renvoie rien.

J'ai du mal à utiliser la fonction lorsque qu'il ne trouve pas le poste...

[code:1]$list = Get-Content C:\temp\test.csv
$ErrorActionPreference = 'SilentlyContinue'

foreach ($user in $list)
{
if (Get-ADComputer $user.Name -eq $null)
{
Write-Host \&quot;poste supprime\&quot;
}

else
{
Write-Host \&quot;poste existant\&quot;
}
}
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 7 mois #29193 par Laurent Dardenne
Salut,
Maskime31 écrit:

J'arrive à ce petit bout de code qui semble fonctionner mais qui ne renvoie rien.

Que te renvoi ceci (où le premier user du tableau existe dans l'AD) : ?
[code:1]$list = Get-Content C:\temp\test.csv
Get-ADComputer $List[0].Name[/code:1]

Et ceci ne devrait pas être utilisé :
[code:1]$ErrorActionPreference = 'SilentlyContinue'[/code:1]
Tu dois gérer explicitement les erreurs de ton traitement.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 7 mois #29195 par Maskime31
Hello !

Ça me renvoie la reponse de la commande get-ADComputer.

En fait j'avais ajouté l'option sur les erreurs pour ne pas que cela bloque lorsqu'il trouve un poste qui n'existe pas... Mauvaise méthode donc

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.053 secondes
Propulsé par Kunena