Meilleur auteur de réponses
WSUS - compter mises à jour par groupe

Question
-
Bonjour,
Ayant vraiment du mal avec le code en général j'ai tenté sans succes de modifier ce script powershell (http://gallery.technet.microsoft.com/scriptcenter/en-us/86df3505-65c5-40f5-9ff0-925590ccb3e7).
J'aurais "simplement" besoin du même résultat mais découpé par groupes. Je n'ai rien trouvé de tel sur le net.
Merci d'avance.
Réponses
-
Bonjour,
je ne dispose pas d'un serveur WSUS, mais on peut simuler le traitement souhaité, il te restera à adapter ton script.
On doit déjà ajouter un membre synthétique (http://laurent-dardenne.developpez.com/articles/Windows/PowerShell/CreationDeMembresSynthetiquesSousPowerShell/) à chaque élément du tableau $Computers. Celui-ci portera l'information de regroupement.
Ensuite on utilise le cmdlet Group-Objet :
#---------------------------------------------------------------------------------------
$Computers=0..9|
Foreach { New-object PSObject -Property @{
FailedCount=$false;
NotInstalledCount=0
UnknownCount=$true
}
}$Computers[0..1]|% {$_.FailedCount=$true}
$Computers[2..4]|% {$_.UnknownCount=$False}
$Computers[5..9]|% {$_.NotInstalledCount=1}$Computers=$Computers|Add-member NoteProperty Status "" -PassThru
$computers | foreach-object {
if ($_.FailedCount) {
$_.Status="computersFailed"
}
elseif ($_.NotInstalledCount) {
$_.Status="computersNeeded"
}
elseif (!$_.UnknownCount) {
$_.Status="computersUpToDate"
}
}$Computers|Group-Object Status
#---------------------------------------------------------------------------------------Ce qui nous renvoi le résultat suivant :
Count Name Group
----- ---- -----
2 computersFailed {@{FailedCount=True;...
3 computersUpToDate {@{FailedCount=False;...
5 computersNeeded {@{FailedCount=False;...#On accède aux éléments de chaque groupe via la propriété group
$Result=$Computers|Group-Object Status
$Result[0].Group| Foreach {fait-qq_chose}
Beatus, qui prodest, quibus potest.- Proposé comme réponse Roxana PANAITMicrosoft employee vendredi 14 janvier 2011 09:16
- Marqué comme réponse Roxana PANAITMicrosoft employee vendredi 14 janvier 2011 09:16
Toutes les réponses
-
J'ai un script qui fait en partie ce que je souhaite, à savoir dénumérer les ordinateurs, ceux a jour, ceux en erreur et ceux nécessitant une/plusieurs mises à jour. Pareil pour les updates.
Quelqu'un pourrait-il le modifier pour organiser ces résultats par groupe ?
-
Bonjour,
je ne dispose pas d'un serveur WSUS, mais on peut simuler le traitement souhaité, il te restera à adapter ton script.
On doit déjà ajouter un membre synthétique (http://laurent-dardenne.developpez.com/articles/Windows/PowerShell/CreationDeMembresSynthetiquesSousPowerShell/) à chaque élément du tableau $Computers. Celui-ci portera l'information de regroupement.
Ensuite on utilise le cmdlet Group-Objet :
#---------------------------------------------------------------------------------------
$Computers=0..9|
Foreach { New-object PSObject -Property @{
FailedCount=$false;
NotInstalledCount=0
UnknownCount=$true
}
}$Computers[0..1]|% {$_.FailedCount=$true}
$Computers[2..4]|% {$_.UnknownCount=$False}
$Computers[5..9]|% {$_.NotInstalledCount=1}$Computers=$Computers|Add-member NoteProperty Status "" -PassThru
$computers | foreach-object {
if ($_.FailedCount) {
$_.Status="computersFailed"
}
elseif ($_.NotInstalledCount) {
$_.Status="computersNeeded"
}
elseif (!$_.UnknownCount) {
$_.Status="computersUpToDate"
}
}$Computers|Group-Object Status
#---------------------------------------------------------------------------------------Ce qui nous renvoi le résultat suivant :
Count Name Group
----- ---- -----
2 computersFailed {@{FailedCount=True;...
3 computersUpToDate {@{FailedCount=False;...
5 computersNeeded {@{FailedCount=False;...#On accède aux éléments de chaque groupe via la propriété group
$Result=$Computers|Group-Object Status
$Result[0].Group| Foreach {fait-qq_chose}
Beatus, qui prodest, quibus potest.- Proposé comme réponse Roxana PANAITMicrosoft employee vendredi 14 janvier 2011 09:16
- Marqué comme réponse Roxana PANAITMicrosoft employee vendredi 14 janvier 2011 09:16