WSUS - compter mises à jour par groupe
-
2011年1月6日 上午 09:41
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.
所有回覆
-
2011年1月7日 下午 01:13
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 ?
-
2011年1月9日 下午 02:27版主
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.- 已提議為解答 Roxana PANAITMicrosoft Employee 2011年1月14日 上午 09:16
- 已標示為解答 Roxana PANAITMicrosoft Employee 2011年1月14日 上午 09:16

