Question Récupérer la "Description de l'ordinateur"

Plus d'informations
il y a 8 ans 2 mois #21406 par Philippe

Je suppose qu'il faut ajouter une recherche dans l'AD via le login et extraire l'attribut displayname.

oui

J'essaye avec un Get-aduser -identity mais il affiche pas le displayname....

?? il manque dans le compte utilisateur

de toutes façons, rappelle toi, tu ne peut pas utilisé get-aduser dans la GPO car tu ne peut pas chargé le module AD !

il reste des solutions :
- ADSI
- reporté la recherche du displayname dans le deuxième script
- une autre idée nicolas !?

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

Plus d'informations
il y a 8 ans 2 mois #21407 par Philippe
il manque l'option Properties à get-aduser

[code:1]get-aduser -identity xxx -Properties DisplayName | select DisplayName
[/code:1]

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

Plus d'informations
il y a 8 ans 2 mois #21408 par Galadan
6ratgus écrit:

il manque l'option Properties à get-aduser

[code:1]get-aduser -identity xxx -Properties DisplayName | select DisplayName
[/code:1]


yes j'était en train de corriger :)

Oui peut-etre dans le deuxieme script c'est aussi bien.

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

Plus d'informations
il y a 8 ans 2 mois #21409 par Philippe

Oui peut-etre dans le deuxieme script c'est aussi bien.

il faut donc envoyer dans le fichier la description et le compte utilisateur
et le deuxième script choisi qui utilisé ?

j'ai aussi la solution adsi :
[code:1]
$login = \"xxx\"
$root=[adsi]''
$filter = \"(&(objectCategory=user)(samaccountname=$login))\"
$ds = New-Object system.DirectoryServices.DirectorySearcher ($root)
$ds.filter = $filter
$person = $ds.FindOne()
$person.Properties.displayname
[/code:1]
tu remplace le xxx par le login et c'est bon !!!

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

Plus d'informations
il y a 8 ans 2 mois #21410 par Galadan
Si la description est égale au login pas besoin de remonter d'info en plus non?

ADSI, je suis perdu ^^
D'aprés ton script on met la variable qui contient le login a la place des XXX, c'est ça?

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

Plus d'informations
il y a 8 ans 2 mois #21412 par NicolasBdn
Désolé je faisais joujou avec la problématique de double user avec count égale.

Pour toi 6ratgus :) :
[code:1]#Récupération de la version de l'OS
$OSVersion = (Get-WmiObject -Class Win32_operatingsystem).Version

#Déclaration du logontype en fonction de la version
Switch -Wildcard ($OSVersion){
\"6.1.*\" {$logontype=2}
\"10.0.*\" {$logontype=11}
default {$logontype=2}
}

$filterXML = @\"
<QueryList>
<Query Id=\"0\" Path=\"Security\">
<Select Path=\"Security\">
(*[System[(EventID = 4624 )]] and *[EventData[Data[@Name='LogonType']='$logontype']])
</Select>
</Query>
</QueryList>
\"@

#Récupération du nom du PC
$computer = (Get-WmiObject -Class win32_computersystem).name
#Récupération de la description de l'ordinateur
$description = (Get-WmiObject -class win32_operatingsystem |select Description).description

if ($description -ne \"\"«») {
# on prend la description du pc
$descrip = $description
}
else {
# on prend l'utilisateur le plus fréquemment connecté
$events = Get-WinEvent -FilterXml $filterXML -MaxEvents 20

$comptes = @()
$events | foreach {
$eventXML = [xml]$_.ToXml()
switch ($eventXML.Event.EventData.Data) {
{$_.Name -eq 'TargetUserName'} {$comptesName = $_.\"#text\"}
}
$comptes += $eventXML.Event.System.TimeCreated | Select-Object @{n='User';e={$comptesName}},@{n='TimeLog';e={$_.SystemTime}}
}
#$descrip = ($comptes | Group-Object | Sort-object Count -Descending | select count, name)[0].Name
$comptesGroup = $comptes | Group-Object User | Sort-Object Count -Descending
$comptesGroupCount = $comptesGroup | Group-Object Count
if($comptesGroupCount[0].Count -lt 1){
$descrip = $($comptesGroupCount[0].Group.Group | Sort-Object TimeLog -Descending)[0].User
}else{
$descrip = ($comptesGroup)[0].Name
}
}

# Ecriture de la description dans un fichier au nom de l'ordinateur
\" \" | select @{n=\"computer\";e={$computer}}, @{n=\"description\";e={$descrip}} | export-Csv $home\$computer.csv
[/code:1]

- une autre idée nicolas !?


-ADSI me parait une bonne idée, tu as l'aire d'être bien avancé sur moi sur le sujet ^^.
-Ouverture de PSRemoting sur un ordinateur avec module AD PowerShell. Mais cela implique des opérations complexe niveau sécurité. Comme délégation d'un utilisateur particulier pour interroger l'AD. Et renseigner au niveau de l'écouteur Wsman sur le poste interroger pour se connecter en PSRemoting.
-L'integration au niveau du second script serait le plus simple.
-Ou sinon, continuons dans notre interrogation de la base WMI non? ^^, Win32_UserAccount devrait p-e contenir ce dont nous avons besoin. Sinon j'ai Win32_UserInDomain. mais j'ai pas de domain AD pour voir ce que ça contient.

Si vous pouvez-y jeter un œil à ma place :)

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

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