אם אתה מנהל מערכת, אחד מהעבודות שלך הוא להתקין, לשדרג ולהסיר תוכנות ממספר רב של מערכות. מה אם אני אגיד לך שאין צורך להתחבר לכל מכונה ולבדוק ידנית אם תוכנה מותקנת? באמת ניתן לרשום תוכנות המותקנות באמצעות PowerShell!
בפוסט הבלוג הזה, אני אראה לך איך לרשום תוכנות המותקנות באמצעות PowerShell על המכונה המקומית שלך ועל המכונות הרבות בו זמנית.

שים לב שמאמרים רבים עשויים להציע לך לעשות משהו כמו
Get-WmiObject -Class win32_product
. אל תעשה את זה. למד למה כאן.
תוכנות המותקנות והרגיסטר
למטרת הפניה, תוכנות המותקנות קיימות בשלושה מקומות:
- מפתח ההסרה של מערכת ההתקנה של 32 ביט
- מפתח ההסרה של מערכת ההתקנה של 64 ביט
- מפתח ההסרה של כל פרופיל משתמש.
כל רשומת תוכנה מוגדרת בדרך כלל על ידי המזהה הגלובלי ייחודי של התוכנה (GUID). פנימה למפתח ה-GUID מכילה את כל המידע על תוכנה זו. כדי לקבל רשימה מלאה, PowerShell חייבת לספור את כל המפתחות האלה, לקרוא כל ערך ברגיסטר ולנתח את התוצאות.
מאחר שהקוד לניתוח נכון של ערכים אלו הוא הרבה יותר ממה שמאמר אחד יכול להכיל, יש לי פונקציה מובנית בשם Get-InstalledSoftware
לרשימת תוכנות שהותקנו עם PowerShell שמסתירה את כל הקוד הזה בשבילך כפי שאתה רואה מטה שמפרטת תוכנות מותקנות במחשב.
פעם שתעתיק ותדביק את הפונקציה הזו לקונסולת PowerShell שלך או תוסיף אותה לסקריפט שלך, תוכל לקרוא אותה באמצעות שימוש בשם המחשב המסוים עם פרמטר ה־ComputerName
.
רשימת תוכנות מותקנות באמצעות PowerShell
כאשר אתה עושה זאת, תקבל אובייקט עבור כל תוכנה שהותקנה. אתה יכול לקבל מגוון רחב של מידע על התוכנה המותקנת כלשהי.
אם אתה יודע את שם התוכנה מראש, אתה יכול גם להשתמש בפרמטר Name
כדי להגביל את החיפוש רק לתוכנה שתואמת את הערך הזה.
לדוגמה, אולי תרצה לבדוק אם Microsoft Visual C++ 2005 Redistributable (x64) מותקן. פשוט תשתמש בערך זה כערך לפרמטר Name
כפי שמוצג למטה.
סיכום
על ידי שימוש ב-PowerShell לקבלת תוכנה מותקנת, תוכל לבנות כלי ללא תשלום לחלוטין שתוכלו אתה וצוותך להשתמש בו כדי למצוא בקלות תוכנות מותקנות על מספר רב של מחשבים במערכת הפעלה Windows!
Source:
https://adamtheautomator.com/powershell-list-installed-software/