Question Stocker Get-ADUser dans une variable

Plus d'informations
il y a 10 ans 11 mois #19428 par Steven
Bonsoir à tous,

Il faut que je réalise un script qui va stocker dans un fichier .txt :

NOMDEFAMILLE: Prénom:username

Si c'est la première fois que l'utilisateur se connecte à l'Active Directory

Comment stocker le contenu récupéré dans un Get-ADUser dans des variables ?

J'avais réussi à afficher quelques trucs avec
[code:1]Get-ADUser -Filter 'SamAccountName -eq \"$username\"' -Properties Surname, GivenName | FT Surname, GivenName -HideTableHeaders[/code:1]
sauf que ça m'affiche un tableau hors il faut que je stocke tout en variables (nom, prénom, nombre de connexions à l'AD ou bien date de la dernière connexion)

Merci d'avance,

Cordialement

Message édité par: Punk__Rock, à: 7/04/15 11:42<br><br>Message édité par: Arnaud, à: 7/04/15 11:51

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

Plus d'informations
il y a 10 ans 11 mois #19430 par Arnaud Petitjean
Salut !

Le plus simple est d'exporter le résultat de ta commande Get-ADUser dans un fichier texte au format CSV ou dans une chaine de caractères au format CSV.

Et si tu tiens au ':' comme séparateur de champs, pas de problème ;) grâce au paramètre -delimiter.

Exemple :

[code:1]Get-ADUser -Filter 'SamAccountName -eq $username' -Properties Surname, GivenName | ConvertTo-CSV -delimiter ':' -NoTypeInfo[/code:1]

ou vers un fichier

[code:1]Get-ADUser -Filter 'SamAccountName -eq $username' -Properties Surname, GivenName | Export-CSV -delimiter ':' -NoTypeInfo -path c:\temp\monFichier.csv[/code:1]

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 10 ans 11 mois #19433 par Steven
Ah oui d'accord j'aurai pas pensé qu'on puisse fixer des délimiteurs par contre il faut vraiment que je fasse ça avec des variables parce qu'il faut que je récupère le nombre de connexions à l'Active Directory/ou la date de la dernière connexion pour ensuite faire une condition et si c'est la première connexion de l'utilisateur le fichier texte sera créé

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

Plus d'informations
il y a 10 ans 11 mois #19438 par Arnaud Petitjean

... il faut vraiment que je fasse ça avec des variables parce qu'il faut que je récupère le nombre de connexions à l'Active Directory


Je ne vois pas vraiment le rapport entre ton besoin et le fait d'utiliser des variables.

... il faut que je récupère la date de la dernière connexion


Télécharge les scripts de notre livre et tu verras dans le chapitres \&quot;Etudes de cas\&quot; un script qui fait exactement ce dont tu as besoin.

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 10 ans 11 mois #19458 par Gabriel
Punk__Rock

le pb que tu vas avoir est que l'AD ne stocke pas la \&quot;valeur\&quot; 1ere connexion.

ce qu'il va stocker c'est la date de connexion.

Donc supposons le scenario suivant:

tu as 3 comptes dans l'ad:
  • Punk__Rock
  • Tonic8
  • Arnaud

  • seul Punk__Rock et Tonic8 ce sont déjà connecté, Arnaud lui arrive c'est le petit nouveau.

    tu exécutes ton script le lundi, seul punk_rock et tonic8 on une valeur de renseignée sur la date de connexion.

    Arnaud, sa valeur est, ou vide, ou mis à une date \&quot;a la 1970\&quot; (désolé je te répond sans avoir d'ad sous la main pour te mettre la bonne valeur)

    le mardi Arnaud arrive et il se logge.

    tu fais tourné ton script, et là tu as 1 date de renseignée sur chacun des utilisateurs.

    ton problème est le suivant:
    comment détecter l'activité si tu ne stockes pas d'historique, et si tu ne fais pas un diff entre le test de la veille et le test du jour en cours.

    si ton test est effectué 1 seule fois par jour, tu ajoutes a ton pb:
    les gens qui sont créé le jour même ET qui ouvre une session le jour même.
    Les gens qui sont créé, qui se logge ET qui sont supprimé le jour même.

    Dans mon cas si je devais ignorer les 2 dernier soucis:
    on va supposé que LastConnection est vide

    lundi j'exporte tout le monde dans un fichier avec les valeurs suivantes: DN, SID,Nom, PRENOM, SAMACCOUNT, LastConnection

    normalement tu auras nos 3 comptes dont celui d'Arnaud avec le champs lastconnection vide
    le mardi après qu'Arnaud ce soit connecter
    tu exportes dans un autre fichier, les mêmes champs

    tu fais une boucle qui scanne les différences entre lundi et mardi, et donc devrait apparaître Arnaud.

    voilou.<br><br>Message édité par: tonic8, à: 8/04/15 16:41

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

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