Question
Récupérer la "Description de l'ordinateur"
- Galadan
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 75
- Remerciements reçus 0
il y a 10 ans 1 mois #21456
par Galadan
Réponse de Galadan sur le sujet Re:Récupérer la Description de l'ordinateur
Bonjour,
testé en local sur un W10, impecc!
Je test demain par GPO (le temps des répliques de mes DC)...
Merci.
testé en local sur un W10, impecc!
Je test demain par GPO (le temps des répliques de mes DC)...
Merci.
Connexion ou Créer un compte pour participer à la conversation.
- NicolasBdn
-
- Hors Ligne
- Membre senior
-
il y a 10 ans 1 mois #21459
par NicolasBdn
Réponse de NicolasBdn sur le sujet Re:Récupérer la Description de l'ordinateur
Bonjour, désolé je suis un peu occupé ces derniers jours.
J'ai vu,6ratgus que le script que tu as mis plus haut contenais la gestion du dernier logon. Je pensais qu'il ne fonctionnerait pas sur Win7?
Galadan ne va pas avoir un soucis lors de l'execution de la GPO?
Edit: Merci pour la correction du script, je ferais plus attention la prochaine fois
.
Message édité par: NicolasB, à: 1/02/16 12:39
Message édité par: NicolasB, à: 1/02/16 12:48<br><br>Message édité par: NicolasB, à: 1/02/16 12:48
J'ai vu,6ratgus que le script que tu as mis plus haut contenais la gestion du dernier logon. Je pensais qu'il ne fonctionnerait pas sur Win7?
Galadan ne va pas avoir un soucis lors de l'execution de la GPO?
Edit: Merci pour la correction du script, je ferais plus attention la prochaine fois
Message édité par: NicolasB, à: 1/02/16 12:39
Message édité par: NicolasB, à: 1/02/16 12:48<br><br>Message édité par: NicolasB, à: 1/02/16 12:48
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 1 mois #21462
par Philippe

Réponse de Philippe sur le sujet Re:Récupérer la Description de l'ordinateur
oui ça arrive à tous le mondedésolé je suis un peu occupé ces derniers jours.
oui correct il faut le corrigé !!J'ai vu,6ratgus que le script que tu as mis plus haut contenais la gestion du dernier logon. Je pensais qu'il ne fonctionnerait pas sur Win7?
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 1 mois #21463
par Philippe
Réponse de Philippe sur le sujet Re:Récupérer la Description de l'ordinateur
j'ai eu quelques longues minutes de dispo pour faire des tests complets !!
voici le code en version compatible PSv2 :
[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=7}
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
# si la description est vide
if ($description.Trim() -eq \"\"«») {
# 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 -gt 1) {
$login = $($comptesGroupCount[0].Group | foreach {$_.Group} | Sort-Object TimeLog -Descending)[0].User
}
else {
$login = ($comptesGroup)[0].Name
}
$description = (Get-WmiObject Win32_UserAccount -Filter \"name = '$login'\"«»).FullName
}
# Ecriture de la description dans un fichier au nom de l'ordinateur
\" \" | select @{n=\"computer\";e={$computer}}, @{n=\"description\";e={$description}} | export-Csv c:\partage_description\$computer.csv
[/code:1]
j'espère que il n'y aura plus d'oublie et correction !!
à testé via GPO<br><br>Message édité par: 6ratgus, à: 1/02/16 15:05
voici le code en version compatible PSv2 :
[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=7}
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
# si la description est vide
if ($description.Trim() -eq \"\"«») {
# 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 -gt 1) {
$login = $($comptesGroupCount[0].Group | foreach {$_.Group} | Sort-Object TimeLog -Descending)[0].User
}
else {
$login = ($comptesGroup)[0].Name
}
$description = (Get-WmiObject Win32_UserAccount -Filter \"name = '$login'\"«»).FullName
}
# Ecriture de la description dans un fichier au nom de l'ordinateur
\" \" | select @{n=\"computer\";e={$computer}}, @{n=\"description\";e={$description}} | export-Csv c:\partage_description\$computer.csv
[/code:1]
j'espère que il n'y aura plus d'oublie et correction !!
à testé via GPO<br><br>Message édité par: 6ratgus, à: 1/02/16 15:05
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 1 mois #21464
par Philippe
Réponse de Philippe sur le sujet Re:Récupérer la Description de l'ordinateur
@nicolas :
la modif est très simple :
[code:1]$comptesGroupCount[0].Group.Group[/code:1]
en
[code:1]$comptesGroupCount[0].Group | foreach {$_.Group}[/code:1]
par contre ici j'ai mis GT au lieu de LT :
[code:1]if ($comptesGroupCount[0].Count -gt 1) {[/code:1]
la modif est très simple :
[code:1]$comptesGroupCount[0].Group.Group[/code:1]
en
[code:1]$comptesGroupCount[0].Group | foreach {$_.Group}[/code:1]
par contre ici j'ai mis GT au lieu de LT :
[code:1]if ($comptesGroupCount[0].Count -gt 1) {[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Galadan
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 75
- Remerciements reçus 0
il y a 10 ans 1 mois #21467
par Galadan
Réponse de Galadan sur le sujet Re:Récupérer la Description de l'ordinateur
^^ je suis perdu du coup ^^
Quel code je doit tester?
Quel code je doit tester?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.092 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Récupérer la "Description de l'ordinateur"