Question avis sur script et eventuelles accélérations

Plus d'informations
il y a 13 ans 8 mois #12375 par pulx
bonjour,

voila j'ai réalisé un scripte d'inventaire sur des logiciels spécifique je voudrais avoir un avis car je le trouve lent il prend plus de 4minutes par machines
existe t'il un moyens de l'accélérer

[code:1]
# Récolte de la liste des PC

$listeordinateur = get-content -path C:\Users\Desktop\dossier\*.txt

# Traitement des PC de la liste

foreach ($ordinateur in $listeordinateur){


#########################################
# ************** word ************** #
#########################################

#Création du fichier
$export = \"C:\Users\Desktop\$ordinateur.txt\"
#Fonction pour rechercher sur l'ordinateur
$logiciel=Get-WmiObject -Query \"SELECT * FROM Win32_Product WHERE (Name like '%word%')\" -computername $ordinateur
#Test de presence du logiciel

if ($logiciel -ne $null){
$logiciel >> $export
}

#########################################
# ************** vlc ************** #
#########################################

#Création du fichier
$export = \"C:\Users\Desktop\$ordinateur.txt\"
#Fonction pour rechercher sur l'ordinateur
$logiciel=Get-WmiObject -Query \"SELECT * FROM Win32_Product WHERE (Name like '%vlc%')\" -computername $ordinateur
#Test de presence du logiciel
if ($logiciel -ne $null){
$logiciel >> $export
}
Remove-item C:\Users\Desktop\dossier\$ordinateur
} [/code:1]

MERCI

Message édité par: pulx3369, à: 12/07/12 11:47<br><br>Message édité par: Arnaud, à: 17/07/12 00:13

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

Plus d'informations
il y a 13 ans 8 mois #12376 par pulx
je ne sais pas pourquoi mais mes slash on été supprimer dans les chemins mais il y en a bien

[Edit Arnaud]
Tes slashs ont ete supprimes pour des raisons de securite. Si tu veux publier du code dans le forum il ne faut pas oublier d'utiliser les balise CODE prevues a cet effet.<br><br>Message édité par: Arnaud, à: 17/07/12 00:15

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

Plus d'informations
il y a 13 ans 8 mois #12379 par pulx
actuellement j'ai un timer de 5 minutes par PC ce qui pour analyser ma liste de pc est long trés long j'en ai plus de 400 à faire et je voudrais réduire la durée du traitement des 400 PC en un jours

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

Plus d'informations
il y a 13 ans 8 mois #12381 par Richard Lazaro
Bonjour,

Il me semble que la classe WMI Win32_Product est trés longue à remonter les infos.

La seule solution que je vois et de faire du Background Job.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

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

Plus d'informations
il y a 13 ans 8 mois #12383 par Matthew BETTON
Richard Lazaro écrit:

Bonjour,

Il me semble que la classe WMI Win32_Product est trés longue à remonter les infos.

La seule solution que je vois et de faire du Background Job.

Bien Cordialement,
Richard Lazaro.


En plus, cette classe n'est pas systématiquement présente sur un 2003 et il faut passer par \&quot;Ajout / Suppression de programmes\&quot; =&gt; \&quot;Composants Windows\&quot; .

As you can see, this actually works quite nicely. So what’s the problem? Well, there are really two issues. For one, this can be a little slow: the Win32_Product class is no speed demon, and it could take 30 seconds or so before you get any information back (depending in large part on how many applications are installed on your computer). More important, the Win32_Product class is not installed by default on Windows Server 2003. If you want to run the script against a Windows 2003 machine you’ll need to do the following:

Dans cet article, il s'agissait de code vbs. Mais pour la classe WMI, le fait de passer par PowerShell ne change rien au problème.

Une solution (que j'utilises, comme d'autres personnes) est de passer par la base de registre en énumérant les clefs et valeurs présentes sous [code:1]\&quot;HKLM\Softawre\Microsoft\Windows\Current Version\Uninstall\&quot;[/code:1]. Je posterai un exemple de code dans le forum contribution.

@ +

Matthew<br><br>Message édité par: Matthew BETTON, à: 14/07/12 09:31

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

Plus d'informations
il y a 13 ans 8 mois #12384 par Matthew BETTON
Un article sur le sujet (PoSh inside) :

Use PowerShell to Quickly Find Installed Software

Marc Carter y expliques plus en détails les soucis rencontrés avec Win32_Product.

L'article est très intéressant : Bonne Lecture ;)

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

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