Comment connaître le but des programmes installés sur l'ordinateur. Comment obtenir une liste des programmes installés à l'aide de Windows PowerShell. La barre de défilement horizontale sert

Dans cette instruction simple, il existe deux façons d'obtenir une liste de texte de tous les programmes installés dans Windows 10, 8 ou Windows 7 à l'aide d'outils système intégrés ou à l'aide d'un logiciel gratuit tiers.

Pourquoi est-ce? Par exemple, la liste programmes installés peut être utile lorsque ou lors de l'achat d'un nouvel ordinateur ou d'un ordinateur portable et de sa personnalisation « pour vous-même ». D'autres scénarios sont également possibles - par exemple, pour identifier des logiciels indésirables dans la liste.

L'icône Poste de travail est nécessaire pour

En suivant les conseils ci-dessus, vous vous assurerez que votre ordinateur a toujours les performances maximales garanties et a même une longue durée de vie. La chronique d'aujourd'hui montrera à quel point il est facile de déterminer quels programmes accèdent au réseau et consomment des données sans en informer l'utilisateur. Les utilisateurs expérimentés maîtriseront certainement les outils ou les fonctions de gestion de système d'exploitation professionnels. Cependant, nécessitant des compétences informatiques avancées, l'utilisation des techniques d'administration réseau devient un obstacle pour ceux qui souhaitent uniquement identifier les éventuels goulots d'étranglement dans réseau domestique.

Obtenir une liste des programmes installés à l'aide de Windows PowerShell

La première méthode utilisera un composant système standard - Windows PowerShell. Pour le lancer, vous pouvez appuyer sur les touches Win + R de votre clavier et taper powershell Ou utiliser Recherche Windows 10 ou 8 pour courir.

Afficher liste complète programmes installés sur l'ordinateur, entrez simplement la commande :

Et pour faciliter cette tâche, il existe des programmes avec une interface intuitive qui fournissent des informations sur la consommation de données réseau sans complications. Le programme contrôlera tous les programmes qui accèdent à Internet. Dans de nombreux cas, certains programmes sont chargés au démarrage système opérateur et restent inaperçus de l'utilisateur. Mais ils ne compromettent pas la vitesse du réseau.

Le programme a ses propres fonctions, divisées en quatre onglets. Un graphique est une représentation qui correspond à la quantité de données qui circulent sur le Web, chaque couleur du graphique représentant la consommation d'un programme particulier. Un pare-feu est une fonctionnalité qui vous permet de bloquer un ou plusieurs programmes qui consomment des données en un seul clic. Pour verrouiller un programme, cliquez simplement sur l'icône de la flamme.

Get-ItemProperty HKLM: \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ * | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize

Le résultat sera affiché directement dans la fenêtre PowerShell sous la forme d'un tableau.


Afin d'exporter automatiquement la liste des programmes vers fichier texte, la commande peut être utilisée comme suit :

Le réseau est une fonctionnalité avancée qui vous permet de visualiser tous les appareils connectés sur le réseau, il n'est disponible que dans la version payante du programme. Les alertes sont des notifications sur les diagnostics du réseau et programmes en cours d'exécution... Idéalement, seul le système d'exploitation est connecté - les autres programmes doivent être vérifiés individuellement pour permettre l'accès au réseau.

Pour bloquer l'accès, utilisez simplement la fonction de pare-feu. Pour que l'ordinateur fonctionne parfaitement, en plus d'un système d'exploitation stable, il est également nécessaire d'installer les pilotes appropriés pour chaque composant matériel tel que carte son, réseau sans fil, vidéos et autres. Un pilote est un petit programme qui intègre Matériel avec le système d'exploitation. Sans ce programme, l'appareil peut ne pas fonctionner correctement.

Get-ItemProperty HKLM: \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ * | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize> D:\programs-list.txt

Après avoir exécuté la commande spécifiée, la liste des programmes sera enregistrée dans le fichier programmes-list.txt sur le lecteur D. Remarque : lorsque vous spécifiez la racine du lecteur C pour enregistrer le fichier, vous pouvez recevoir une erreur « Accès refusé » si vous devez enregistrer la liste exactement sur disque système, créez votre propre dossier (et enregistrez-le) ou exécutez PowerShell en tant qu'administrateur.

Dans de nombreux cas, les systèmes d'exploitation prennent déjà largement en charge les appareils les plus populaires. Cependant, lorsqu'un composant n'est pas automatiquement pris en charge par le système, vous devez installer le plus pilote approprié pour l'appareil. Pour faciliter la tâche d'administration des périphériques, il existe des programmes chargés de répertorier tous les composants de l'ordinateur, de vérifier le fonctionnement du pilote, sauvegarde et, si nécessaire, recherchez un installateur sur Internet.

Après l'installation, exécutez le programme et créez Compte, qui libérera l'accès au service de mise à jour du pilote offert par le développeur du programme. La catégorie Téléchargements de pilotes et informations permet au programme d'effectuer un inventaire complet de votre ordinateur. Grâce à cet inventaire, le programme affichera tout votre matériel et versions pilotes installés... Vous pouvez également rechercher des mises à jour, afficher plus d'informations sur les composants de votre ordinateur et déterminer si un composant ne fonctionne pas.

Un autre ajout - la méthode ci-dessus enregistre une liste de programmes uniquement pour le travailleur bureau Windows mais pas les candidatures de Windows Store 10. Pour en obtenir la liste, utilisez la commande suivante :

Get-AppxPackage | Sélectionnez Nom, PackageFullName | Format-Table -AutoSize> D: \ store-apps-list.txt

Plus de détails sur la liste de ces applications et opérations sur elles dans le matériel :.

Obtenir une liste des programmes installés à l'aide d'un logiciel tiers

Pour obtenir une liste Programmes Windows dans CCleaner, procédez comme suit :

Pour ce faire, cliquez sur le bouton Vérifier en ligne pour mettre à jour les pilotes. Pour que le service réussisse cette tâche, l'ordinateur doit être connecté à Internet. Création d'un inventaire basé sur la version des pilotes installés sur l'ordinateur. En quelques secondes, un inventaire du matériel sera fait. Le rapport sera affiché sur le site Web du fournisseur. Les données qu'il contient sont disponibles pour l'utilisateur que vous avez enregistré.

Comment trouver les paramètres, les propriétés et les informations d'un PC ou d'un ordinateur portable

Vous pouvez créer sauvegarde pilotes installés sur votre ordinateur et restaurez-les lorsque vous en avez besoin. L'efficacité du programme est associée à la présence d'une vaste bibliothèque de pilotes du fabricant du logiciel. Plus le matériel est populaire, plus il y a de pilotes disponibles.



Dans le même temps, CCleaner conserve les programmes de bureau et les applications du Windows Store dans la liste (mais uniquement ceux qui sont disponibles pour la désinstallation et ne sont pas intégrés au système d'exploitation, par opposition à la manière d'obtenir cette liste dans Windows PowerShell).

C'est peut-être tout sur ce sujet, j'espère que pour certains lecteurs, l'information sera utile et trouvera son application.

Le programme fournit des pilotes pour les appareils les plus populaires. Il ne peut pas vérifier ce qui se passe dans les autres technologies. Si oui, sachez qu'il existe une solution à ce problème. Ce faisant, ces programmes fréquents sont également éliminés. Mais avant de faire cela, il est important d'être prudent : ce processus supprime également les programmes que vous avez acquis plus tard, ainsi que les fichiers les concernant. Par conséquent, il est important de comprendre que vous devez les réinstaller plus tard.

Ce processus corrige également les pilotes mis à jour qui peuvent causer des problèmes avec certains composants. Pour la garantie, veuillez lire attentivement les avertissements sur la page. Exécutez le programme que vous venez de télécharger. Lisez les termes de la licence et cliquez sur « Accepter ».

Les administrateurs système doivent souvent déterminer quels programmes sont installés sur les ordinateurs des réseaux qu'ils desservent. Il existe un certain nombre de circonstances qui les obligent à auditer régulièrement les applications installées sur systèmes d'entreprise... Il arrive qu'un administrateur installe un progiciel, oublie de le documenter, et plus tard il s'avère qu'il y a des vulnérabilités dans le système de sécurité du progiciel. Parfois, les utilisateurs reçoivent des droits d'administration qui leur permettent d'installer indépendamment des produits logiciels sur leurs ordinateurs. Il existe également un tel danger : un utilisateur qui s'est approprié arbitrairement des droits d'administrateur peut installer un logiciel non autorisé, ouvrant ainsi la possibilité de traduire l'organisation en justice.

Relisez attentivement les avis ; si tout va bien, cliquez sur "Démarrer". Cela signifie qu'il n'aura même pas programmes préinstallés du fabricant. La police, la typographie et l'informatique sont un type d'impression, les polices visibles et à l'écran sont des modèles graphiques que vous écrivez sur votre ordinateur. Les polices ont un sens dans le monde du graphisme, du marketing et dans l'environnement commercial. Très souvent dans les bureaux, ils sont tenus d'utiliser une police spéciale pour les documents officiels. Ensuite, vous pouvez rédiger le document et les feuilles sur l'ordinateur avec une lettre unique et personnalisée.

Les FAI proposent des outils pour surveiller les logiciels installés, mais les petites entreprises peuvent ne pas avoir les ressources nécessaires pour mettre en œuvre une telle solution. Notre entreprise n'avait pas de logiciel d'audit, j'ai donc écrit script windows PowerShell Get-InstalledApp.ps1 (voir la liste). Avant de décrire la procédure d'utilisation de ce script et son fonctionnement, je voudrais m'attarder sur deux méthodes de détection de logiciels installés à l'aide d'un script et expliquer ce qui m'a attiré dans la méthode que j'ai choisie.

Comment obtenir rapidement et facilement une liste des programmes installés, même sans installer d'utilitaires tiers ?

Vous pouvez également faire un clic droit sur le fichier et sélectionner "Installer" dans menu contextuel... Pour chaque police répertoriée, vous pouvez voir un aperçu, vous pouvez imprimer une page de test et vous pouvez supprimer le caractère de votre ordinateur. Nous pouvons également désinstaller un programme en cliquant dessus avec le bouton droit et en choisissant l'entrée "désinstaller". Vous pouvez parcourir des briques gratuites et des collections de polices à partir de sites tels que. Avec cela, vous aurez toujours une liste de programmes qui doivent être réinstallés ou installés sur d'autres ordinateurs qui sont encore configurés.

Classe ou registre Win32_Product

Dans la boîte à outils Gestion des fenêtres Management Instrumentation (WMI) fournit une classe Win32_Product qui vous permet d'enregistrer les applications installées sur un ordinateur. PowerShell facilite cette fonctionnalité. Ainsi, la commande

Get-WmiObject Win32_Product
| sélectionnez le nom

génère une liste de toutes les applications installées sur l'ordinateur actuellement examiné. Cependant, il faut dire que la classe Win32_Product a un certain nombre de limitations.

Créer une liste des programmes installés à l'aide d'un logiciel tiers

La section Licences logicielles affichera une clé de produit différente. Parmi les autres programmes qui peuvent être utilisés comme alternative, c'est toujours génial. Dans ce cas, vous pouvez savoir combien d'ordinateurs vous possédez, comment sont le matériel et les logiciels.

Même si vous n'avez pas besoin de scanner sous des tables ou même de les ouvrir. L'avantage est qu'ils n'ont pas besoin d'être installés. Après avoir commencé à naviguer, le dernier écran affiche un écran avec des informations sur le Logiciel, informations sur les licences, périphériques, mémoire, vitesse du processeur, identification du modèle, paramètres réseau, le lancement du programme et d'autres informations.

  • Il ne lit que les noms des applications qui ont été installées avec services Windows Installateur. Les noms des applications installées d'autres manières ne sont pas lus à l'aide de cette classe. Cela signifie que l'utilisation de la classe Win32_Product à des fins d'audit général outils logiciels pas possible à moins que vous n'utilisiez exclusivement Windows Installer pour installer des packages, ce qui est impraticable sur la plupart des réseaux.
  • La lecture des instances de la classe Win32_Product est très lente.
  • Il n'est pas toujours possible de lire des instances de la classe Win32_Product à partir d'ordinateurs distants. Ainsi, lorsque j'essaie d'effectuer une procédure similaire sur mon réseau, j'obtiens l'erreur d'échec générique.

Ces problèmes rendent la classe WMI Win32_Product moins utile. Cependant, il y a méthode alternative obtenir des informations sur les applications installées - directement à partir du registre. Les informations sur les applications installées sur l'ordinateur sont contenues dans la clé de registre HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall. Chaque sous-section de la section Désinstaller représente une application installée et les valeurs de chaque sous-section affichent des informations sur l'application correspondante, comme indiqué à l'écran. Ainsi, pour obtenir une liste des applications, vous pouvez parcourir la section Désinstaller et lire les données de chaque sous-clé dans la section Désinstaller.

Les fenêtres. Comment changer l'apparence du bureau

L'application est entièrement localisée, à l'exception de l'aide. Dans ce cas, il ne peut pas être reproduit sans ces filtres. Il comprend de nombreux autres outils, des outils de personnalisation et d'édition d'images, il convient donc à bien plus que utilisateurs expérimentés mais aussi pour ceux qui comprennent le problème de la vidéo. Si vous ne souhaitez rien modifier dans les paramètres, vous pouvez bien sûr laisser toutes les valeurs dans les paramètres par défaut. Une autre priorité pour cela est ce qui peut interférer avec le système.

Le fournisseur de registre PowerShell vous permet d'exécuter la commande Get-ChildItem pour obtenir une liste des noms des applications installées sur l'ordinateur cible :

Get-ChildItem HKLM : \ LOGICIEL \
Microsoft \ Windows \ Version actuelle \
Désinstaller |
ForEach-object ((Get-ItemProperty
Microsoft.PowerShell.Core \ Registre :: $ _).
Afficher un nom)

Cependant, dans PowerShell 1.0, l'applet de commande Get-ChildItem ne donne pas accès au fournisseur de registre à ordinateur distant l'administrateur doit donc utiliser StdRegProv, la classe de gestion de registre WMI, pour y parvenir. La classe StdRegProv fournit un ensemble utile de méthodes pour faciliter la lecture du registre, quel que soit le système avec lequel vous interagissez, local ou distant. Information additionnelle sur la classe StdRegProv se trouve sur la page Classe StdRegProv sur MSDN (http://msdn.microsoft.com/en-us/library/aa393664.aspx).

Cette version est également nouvelle fonction créer un peu sans démarrer un système d'exploitation qui crée des bitmaps d'utilisateurs d'ordinateurs sans installer de produit. Avec les applications, vous avez la possibilité de sauvegarder l'intégralité de votre système d'exploitation et, si nécessaire, de le restaurer à tout moment. Cela peut être utile après son attaque contre ce foutu code. Vous pouvez effectuer une sauvegarde comme prévu ou en fonction d'un événement. Grâce à la fonction spéciale, vous pouvez effectuer des sauvegardes même lorsque vous travaillez sans avoir à éteindre votre ordinateur ou à le redémarrer en mode spécial.

Comment travailler avec le script Get-InstalledApp.ps1

Le script Get-InstalledApp.ps1 lit les informations sur les applications installées à partir du Registre, puis renvoie une liste de toutes applications installées, ou une liste d'applications qui répondent aux critères spécifiés. Le script utilise la syntaxe de ligne de commande suivante :

Get-InstalledApp [-nom_ordinateur]
[-appID] [-appname]
[-éditeur] [-version] [-matchall]

Le nombre de voyages d'affaires n'est pas une question facile. Vous devez connaître un tas de fans, et pourtant la formule que vous voulez qu'ils fassent. Trouver un voyage de travail local est un programme qui facilite votre travail. Vous lui donnez tout ce dont vous avez besoin et après un certain temps, vous saurez ce que vous devez faire.

Je reçois un message indiquant que mon ordinateur manque de fonctionnalités multimédia

Essayez ensuite de résoudre le problème en suivant la procédure. Si la fenêtre de téléchargement de fichier n'apparaît pas, vous devrez peut-être modifier les paramètres de blocage des fenêtres contextuelles de votre navigateur. Aide de l'application pour cette procédure. Dans la fenêtre Propriétés Internet, accédez à l'onglet Avancé. Sous Paramètres, sous Sécurité, décochez la case Ne pas enregistrer les pages cryptées sur le disque.

Le paramètre computername est utilisé pour répertorier soit un nom d'ordinateur unique, soit une liste de noms d'ordinateurs. Le paramètre computername est le premier paramètre, donc pour raccourcir la commande, vous pouvez omettre le commutateur -computername et simplement inclure le nom de l'ordinateur dans la commande. Si vous excluez complètement ce paramètre, le script supposera que vous souhaitez obtenir des données sur l'ordinateur local.

Une fenêtre dans Windows est

Et vous verrez le système que vous utilisez. Le problème survient si le système plante ou si vous avez image système... Dans ce cas, vous pouvez utiliser plusieurs options pour déterminer quel système d'exploitation est installé. Malheureusement, toutes les listes répertoriées ne contiennent pas toutes les informations.

Remplissez le nom sous lequel le registre sera connecté. Cliquez ensuite sur le registre joint et sélectionnez "Free Hive" dans l'onglet "Fichier". Vous le trouverez assez simple. Dans l'onglet Détails, nous verrons la version du fichier, dans laquelle la version du fichier correspond à la version du système d'exploitation. Malheureusement, nous ne savons pas s'il s'agit d'un système 32 ou 64 bits. Nous commencerons par l'écran d'accueil, où vous exécuterez d'abord le bouton Parcourir pour rechercher les fichiers que vous pouvez supprimer. Faites attention aux coches qui indiquent quelles données sont destinées à être supprimées, afin de ne pas vous soucier de ce dont vous avez encore besoin.

Le paramètre -appID est utilisé pour rechercher des applications par leur ID d'application. L'ID d'application est une sous-clé de registre sous la clé de désinstallation. À l'écran, l'ID de l'application est mis en surbrillance dans le volet de gauche. Pour les applications installées à l'aide de Windows Installer, l'ID d'application est équivalent à l'identificateur global unique (GUID) de l'ID de produit de l'application correspondante. Utilisation du paramètre -appID - La meilleure voie détection d'applications spécifiques installées à l'aide du service Windows Installer.

Le paramètre -appname est utilisé pour rechercher des applications par leur nom d'affichage. DisplayName est le nom de l'application tel qu'il apparaît dans la liste Ajout/Suppression de programmes, ou la valeur DisplayName dans une sous-section de l'application correspondante. Par exemple, à l'écran, l'application en surbrillance a le nom d'affichage OpenOffice.org 2.4.

Le paramètre -publisher est utilisé pour rechercher des applications par éditeur. Si vous ne disposez pas d'informations exactes sur qui est l'éditeur d'une application, vous pouvez les trouver dans l'entrée Éditeur de la sous-clé de Registre pour cette application. Par exemple, l'éditeur de l'application en surbrillance à l'écran est OpenOffice.org.

Le paramètre -version est utilisé pour rechercher des applications par leur version. Si vous n'êtes pas sûr de la version d'une application particulière, vous pouvez lire ces données à partir du paramètre DisplayVersion dans une sous-section de cette application. Par exemple, l'application mise en évidence à l'écran est la version 2.4.9286.16.

La spécification du commutateur -matchall pour le fichier Get-InstalledApp.ps1 entraîne l'affichage par le script de toutes les applications qui correspondent aux critères spécifiés, au lieu d'arrêter la recherche une fois la première correspondance trouvée. Ainsi, la commande

Get-InstalledApp -éditeur
"Microsoft Corporation" -matchall

renverra une liste de tous Applications Microsoft installé sur l'ordinateur examiné. Si vous omettez le commutateur -matchall, le script arrêtera la recherche une fois la première correspondance trouvée.

Toutes les options répertoriées (-appID, -appname, -publisher et -version) prennent en charge la recherche à l'aide de caractères génériques ; les arguments clés sont insensibles à la casse. Ainsi, la commande

Get-InstalledApp -appname
"* bureau *" -matchall

affiche une liste de toutes les applications installées sur l'ordinateur examiné qui contiennent le mot office dans leur nom. En outre, vous pouvez utiliser n'importe quelle combinaison des options -appID, -appname, -publisher et -version pour spécifier des critères de recherche plus détaillés. Ainsi, la commande

Get-InstalledApp sales01-appname
"*.NET Framework* "-version 2 * "

affiche la première application qui contient le .NET Framework dans le nom d'affichage et dont le numéro de version commence par 2. Si aucune application correspondant aux critères spécifiés n'est trouvée, le script ne renvoie aucune valeur. Pour plus d'informations sur les caractères génériques dans PowerShell, exécutez la commande

Obtenir de l'aide about_wildcard

Le script Get-InstalledApp.ps1 renvoie des objets contenant les propriétés ComputerName, AppID, AppName, Publisher et Version, afin que vous puissiez utiliser les commandes PowerShell et formater la sortie en fonction de vos besoins. Ainsi, la commande

Get-InstalledApp | Select-Object AppName,
Versions |
Nom d'application de l'objet de tri

répertorie les applications et la version de chaque application, triées par nom d'application. Pour utiliser des valeurs séparées par des virgules afin de générer un rapport pour tous les produits logiciels installés sur tous les ordinateurs répertoriés dans le fichier Computers.txt, utilisez la commande

Get-InstalledApp (Get-Content
Ordinateurs.txt) |
Exporter-CSV Report.csv -notypeinformation

Le paramètre -NoTypeInformation de la commande Export-CSV bloque le transfert d'informations vers le fichier CSV de sortie. Commander

Get-InstalledApp (Get-Content
Ordinateurs.txt)
-appID "(7131646D-CD3C-40F4-97B9-
CD9E4E6262EF) " |
Select-Object ComputerName

génère une liste des ordinateurs mentionnés dans le fichier Computers.txt sur lequel la bibliothèque .NET Framework 2.0 est installée. Si vous souhaitez obtenir une liste ordonnée des applications Microsoft installées sur le système à l'étude et leurs versions, triées par nom d'application, utilisez la commande

Get-InstalledApp -éditeur
"Microsoft Corporation" -matchall |
Select-Object NomApp, Version |
Nom d'application de l'objet de tri

Mécanismes internes du script Get-InstalledApp.ps1

Maintenant que vous savez comment utiliser le script Get-InstalledApp.ps1, voyons comment cela fonctionne. Tout d'abord, le script déclare les paramètres de ligne de commande à l'aide de la commande param ; il crée ensuite deux variables globales pour une utilisation ultérieure avec la classe StdRegProv. Le script déclare ensuite une fonction d'utilisation et une fonction principale. La dernière ligne du script appelle la fonction main.

La fonction principale contient le corps principal du script. Tout d'abord, elle découvre s'il y a ligne de commande le paramètre -help. Si tel est le cas, la fonction principale appelle la fonction d'utilisation, qui génère un message d'utilisation et quitte le script.

La fonction principale crée ensuite une table de hachage vide et la stocke dans la variable $ propertyList, comme indiqué dans l'extrait A de la liste.

Si la ligne de commande contient au moins un des paramètres (-appID, -appname, -publisher ou -version), la fonction ajoute la clé correspondant au nom du paramètre à la table de hachage et définit la valeur de cette clé au paramètre argument. Ainsi, la commande

Get-InstalledApp -appname
"Outils d'assistance Windows"

indique à la fonction principale de remplir la table de hachage à l'aide de la clé AppName, qui correspond aux outils de support de Windows.

La fonction principale découvre alors si le paramètre computername est vide. Si le paramètre est vide, la fonction utilise le nom ordinateur local qu'il obtient de la variable d'environnement COMPUTERNAME. Si le paramètre n'est pas vide, la fonction itère sur le tableau des noms d'ordinateurs à l'aide d'une boucle foreach. La boucle ne s'exécute qu'une seule fois si l'argument computername du paramètre est le nom d'un seul ordinateur.

Dans la boucle foreach, la fonction principale déclare la variable $ err et définit sa valeur sur $ NULL. La fonction utilise ensuite un bloc de script d'interruption pour détecter les erreurs WMI, comme indiqué dans la liste B dans l'extrait B. Lorsqu'une erreur se produit, le bloc de script de hook met à jour la variable d'erreur au niveau de l'enregistrement d'erreur actuel (c'est-à-dire qu'il la définit sur $ ERROR) et continue l'exécution de la commande après l'erreur.

La fonction principale se connecte ensuite à la classe StdRegProv sur l'ordinateur cible à l'aide de l'accélérateur de type pour la classe Windows.NET Framework System.Management.ManagementClass. Si une erreur survient, celle-ci est détectée à l'aide d'un bloc de script spécial, présenté dans le fragment C du listing. Si la valeur de la variable $ err n'est pas $ NULL, cela signifie qu'un bloc de script hook a été exécuté. Dans ce cas, la fonction principale écrit un enregistrement d'erreur avec la commande Write-Error, puis utilise la commande continue pour ignorer le reste de la boucle foreach et passer au nom d'ordinateur suivant dans le tableau.

La fonction principale utilise ensuite la méthode EnumKey de la classe StdRegProv pour énumérer les sous-clés de la section Uninstall. Le résultat de l'application de la méthode EnumKey - un tableau de noms de sous-clés - est stocké dans la propriété sNames. La fonction parcourt ensuite le tableau des noms de sous-sections en utilisant une autre boucle foreach.

Lorsqu'elle traite chaque nom de sous-clé dans le tableau, la fonction principale utilise la méthode GetStringValue de la classe StdRegProv pour lire la propriété DisplayName de la clé de Registre correspondante. À l'aide de la commande Join-Path, la fonction ajoute le nom de la sous-clé à la clé de désinstallation. La route de Registre résultante est utilisée comme argument de la méthode GetStringValue, qui renvoie la valeur de l'entrée de Registre. Il doit s'agir d'une valeur de chaîne. Cette méthode prend trois arguments : la ruche de registre, le chemin de la clé et le nom du paramètre. GetStringValue renvoie un objet qui contient deux propriétés : la propriété ReturnValue, qui inclut une valeur qui indique un appel de méthode réussi ou non, et la propriété sValue, qui contient une valeur de chaîne. La fonction principale affecte la valeur de la propriété sValue à la variable $ name.

Si $ name n'est pas $ NULL, la fonction principale crée un objet de sortie personnalisé qui contient quatre propriétés : ComputerName, AppID, AppName, Publisher et Version. Il met à jour la propriété ComputerName de l'objet avec l'ordinateur analysé, la propriété AppID de l'objet avec le nom de la sous-clé actuelle et la propriété AppName de l'objet avec le nom d'affichage de l'application actuelle. La fonction utilise ensuite la méthode GetStringValue deux fois pour récupérer les valeurs des entrées Publisher et DisplayVersion afin de mettre à jour les propriétés correspondantes dans l'objet personnalisé avec ces valeurs.

Ainsi, la fonction principale a fini d'obtenir des informations sur l'application actuelle et vérifie maintenant la table de hachage $ propertyList pour les clés ; pour cela, la propriété Count de la collection Keys est vérifiée. Si la table de hachage ne contient aucune clé (en d'autres termes, si aucune des options (-appID, -appname, -publisher et -version) n'est présente sur la ligne de commande), alors la fonction génère simplement un objet personnalisé pour comprendre quels arguments de paramètre de ligne de commande correspondent aux valeurs de propriété de l'objet personnalisé. L'extrait D de la liste montre comment la fonction principale accomplit cette tâche.

Tout d'abord, la valeur de $ matches est définie sur 0, puis le code parcourt tous les éléments de la collection Keys dans la table de hachage $ propertyList. Pour chaque clé de la table de hachage $ propertyList, la fonction utilise l'opérateur PowerShell -like pour déterminer si une propriété d'objet personnalisé donnée correspond à la valeur équivalente de la table de hachage $ propertyList. Si les valeurs des éléments spécifiés correspondent, la fonction incrémente la valeur de la variable $ matches. Si le nombre de correspondances est égal au nombre de clés dans la table de hachage, la fonction principale génère un objet personnalisé. Enfin, si le paramètre -matchall n'est pas présent sur la ligne de commande, la fonction utilise la commande break pour quitter la boucle foreach, qui est utilisée pour parcourir les sous-clés de registre.

Ainsi, le script Get-InstalledApp.ps1 vous permet d'obtenir une liste des applications installées sur un ou plusieurs ordinateurs sans trop de tracas. De plus, il peut organiser une recherche d'applications spécifiées. Il peut être possible de s'en sortir avec ce scénario pour surveiller les logiciels installés sur les ordinateurs de votre réseau.

gastroguru 2017