{"id":14063672,"url":"https://github.com/auberginehill/get-installed-programs","last_synced_at":"2025-07-29T16:30:54.656Z","repository":{"id":175160717,"uuid":"68626376","full_name":"auberginehill/get-installed-programs","owner":"auberginehill","description":"Retrieves the programs installed on a local machine. Additionally on a Windows 8 or Windows Server 2012 machine and later – depending whether the script is run in an elevated PowerShell window or not – some of or all the installed Windows Store apps (app packages (.appx)) are enumerated (a Windows PowerShell script). ","archived":false,"fork":false,"pushed_at":"2017-02-02T21:58:06.000Z","size":89,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-08-13T07:05:25.756Z","etag":null,"topics":["installed-programs","powershell","powershell-script","windows"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/auberginehill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-09-19T16:53:05.000Z","updated_at":"2023-12-29T12:39:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"60d24945-959e-4939-a58a-6b5407a10be3","html_url":"https://github.com/auberginehill/get-installed-programs","commit_stats":null,"previous_names":["auberginehill/get-installed-programs"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auberginehill%2Fget-installed-programs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auberginehill%2Fget-installed-programs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auberginehill%2Fget-installed-programs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auberginehill%2Fget-installed-programs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/auberginehill","download_url":"https://codeload.github.com/auberginehill/get-installed-programs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228028608,"owners_count":17858360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["installed-programs","powershell","powershell-script","windows"],"created_at":"2024-08-13T07:03:27.263Z","updated_at":"2024-12-04T01:31:11.025Z","avatar_url":"https://github.com/auberginehill.png","language":"PowerShell","funding_links":[],"categories":["PowerShell"],"sub_categories":[],"readme":"\u003c!-- Visual Studio Code: For a more comfortable reading experience, use the key combination Ctrl + Shift + V\n     Visual Studio Code: To crop the tailing end space characters out, please use the key combination Ctrl + A Ctrl + K Ctrl + X (Formerly Ctrl + Shift + X)\n     Visual Studio Code: To improve the formatting of HTML code, press Shift + Alt + F and the selected area will be reformatted in a html file.\n     Visual Studio Code shortcuts: http://code.visualstudio.com/docs/customization/keybindings (or https://aka.ms/vscodekeybindings)\n     Visual Studio Code shortcut PDF (Windows): https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf\n\n\n   _____      _        _____           _        _ _          _ _____\n  / ____|    | |      |_   _|         | |      | | |        | |  __ \\\n | |  __  ___| |_ ______| |  _ __  ___| |_ __ _| | | ___  __| | |__) | __ ___   __ _ _ __ __ _ _ __ ___  ___\n | | |_ |/ _ \\ __|______| | | '_ \\/ __| __/ _` | | |/ _ \\/ _` |  ___/ '__/ _ \\ / _` | '__/ _` | '_ ` _ \\/ __|\n | |__| |  __/ |_      _| |_| | | \\__ \\ || (_| | | |  __/ (_| | |   | | | (_) | (_| | | | (_| | | | | | \\__ \\\n  \\_____|\\___|\\__|    |_____|_| |_|___/\\__\\__,_|_|_|\\___|\\__,_|_|   |_|  \\___/ \\__, |_|  \\__,_|_| |_| |_|___/\n                                                                                __/ |\n                                                                               |___/                               --\u003e\n\n\n## Get-InstalledPrograms.ps1\n\n\u003ctable\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eOS:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003eWindows\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eType:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003eA Windows PowerShell script\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eLanguage:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003eWindows PowerShell\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eDescription:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003eGet-InstalledPrograms queries the Windows registry for installed programs. The keys from \u003ccode\u003eHKLM:\\Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\\u003c/code\u003e and \u003ccode\u003eHKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\\u003c/code\u003e are read on 64-bit computers and on the 32-bit computers only the latter path is accessed. Basic program related properties, such as Name, Version, Install Date, Publisher, Comments, Contact, Icon, Estimated Size, Help Link, Install Location, Install Source, Language, Modify Path, NoModify, NoRepair, Partner Code, PSChildName, PSDrive, PSProvider, Uninstall String, URL Info (About), URL Update Info, Version (Real), Version Major, Version Minor and Windows Installer are written to a CSV-file and displayed in a pop-up window (Out-Gridview). On Windows 8 / Windows Server 2012 machines (and later) also the installed Windows Store apps are enumerated with the \u003ccode\u003eGet-AppxPackage\u003c/code\u003e cmdlet(, which requires PowerShell 3.0 or later) in a separate CSV-file and displayed in a pop-up window (Out-Gridview); If Get-InstalledPrograms is run in an elevated PowerShell window, the Apps that are installed under other than the current user profile are detected, too.\n      \u003cbr /\u003e\n      \u003cbr /\u003eThe enumeration of installed programs in a Windows machine may take some time – therefore a progress bar is included in Get-InstalledPrograms for monitoring the steps taken. Also, after the Get-InstalledPrograms is finished, a rudimentary summary about the performance of the machine is shown. Similarly, in \"Code snippet 1\" is described what is not included in Get-InstalledPrograms. The \"\u003ccode\u003eGet-WmiObject -Class Win32_Product\u003c/code\u003e\" query method was discarded mainly due to the excessive long running times. Please see the Notes section below for further debate on the notorious \u003ccode\u003eWin32_Product\u003c/code\u003e Class.\n      \u003cbr /\u003e\n      \u003cbr /\u003eOn the other hand, as described in \"Code snippet 2\", if it is relevant to find out, whether a particular version of a known program is installed or not, the here unused function Check-InstalledSoftware could be called to action (the code is taken from \u003ca href=\"https://github.com/auberginehill/update-adobe-flash-player\"\u003ehttps://github.com/auberginehill/update-adobe-flash-player\u003c/a\u003e\" and is quite quick):\n      \u003cbr /\u003e\n      \u003cbr /\u003e\u003ccode\u003eCheck-InstalledSoftware \"Adobe Flash Player 23 NPAPI\" 23.0.0.162\u003c/code\u003e\n      \u003cbr /\u003e\n      \u003cbr /\u003ewill return all the aforementioned info on the queried program, if it is installed, but returns a null value, if such a program doesn't exist on the machine.\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eHomepage:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-installed-programs\"\u003ehttps://github.com/auberginehill/get-installed-programs\u003c/a\u003e\n      \u003cbr /\u003eShort URL: \u003ca href=\"http://tinyurl.com/j7a4eky\"\u003ehttp://tinyurl.com/j7a4eky\u003c/a\u003e\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eVersion:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003e1.2\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eSources:\u003c/strong\u003e\u003c/td\u003e\n        \u003ctd style=\"padding:6px\"\u003e\n            \u003ctable\u003e\n                \u003ctr\u003e\n                    \u003ctd style=\"padding:6px\"\u003eEmojis:\u003c/td\u003e\n                    \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/emoji-table\"\u003eEmoji Table\u003c/a\u003e\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd style=\"padding:6px\"\u003eTobias Weltner:\u003c/td\u003e\n                    \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"http://powershell.com/cs/PowerTips_Monthly_Volume_8.pdf#IDERA-1702_PS-PowerShellMonthlyTipsVol8-jan2014\"\u003ePowerTips Monthly vol 8 January 2014\u003c/a\u003e (or one of the \u003ca href=\"https://web.archive.org/web/20150110213108/http://powershell.com/cs/media/p/30542.aspx\"\u003earchive.org versions\u003c/a\u003e)\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd style=\"padding:6px\"\u003echocolatey:\u003c/td\u003e\n                    \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://chocolatey.org/packages/flashplayerplugin\"\u003eFlash Player Plugin\u003c/a\u003e\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd style=\"padding:6px\"\u003ealejandro5042:\u003c/td\u003e\n                    \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"http://stackoverflow.com/questions/29266622/how-to-run-exe-with-without-elevated-privileges-from-powershell?rq=1\"\u003eHow to run exe with/without elevated privileges from PowerShell\u003c/a\u003e\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd style=\"padding:6px\"\u003eMichael Pietroforte:\u003c/td\u003e\n                    \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://4sysops.com/archives/powershell-versions-and-their-windows-version/\"\u003ePowerShell versions and their Windows version\u003c/a\u003e\u003c/td\u003e\n                \u003c/tr\u003e\n            \u003c/table\u003e\n        \u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eDownloads:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003eFor instance \u003ca href=\"https://raw.githubusercontent.com/auberginehill/get-installed-programs/master/Get-InstalledPrograms.ps1\"\u003eGet-InstalledPrograms.ps1\u003c/a\u003e. Or \u003ca href=\"https://github.com/auberginehill/get-installed-programs/archive/master.zip\"\u003eeverything as a .zip-file\u003c/a\u003e.\u003c/td\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n### Screenshot\n\n\u003cimg class=\"screenshot\" title=\"screenshot\" alt=\"screenshot\" height=\"100%\" width=\"100%\" src=\"https://raw.githubusercontent.com/auberginehill/get-installed-programs/master/Get-InstalledPrograms.png\"\u003e\n\n\n\n\n### Outputs\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003e:arrow_right:\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDisplays general program related information in console. In addition to that...\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003cth\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\n            \u003cul\u003e\n                \u003cp\u003e\n                    \u003cli\u003eTwo pop-up windows \"\u003ccode\u003e$obj_installed_programs_selection_all\u003c/code\u003e\" and \"\u003ccode\u003e$windows_store_apps\u003c/code\u003e\" (Out-GridView) on machines running Windows 8 / Windows Server 2012 or later. On machines with an earlier OS version only the former pop-up window is displayed. For determining the Operating System version, please see the Notes-section below.\u003c/li\u003e\n                \u003c/p\u003e\n                \u003col\u003e\n                    \u003cp\u003e\n                        \u003ctable\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eName\u003c/strong\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eDescription\u003c/strong\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003e$obj_installed_programs_selection_all\u003c/code\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eEnumerates the found installed programs\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003e$windows_store_apps\u003c/code\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eInventory of some or all the Windows Store apps; If Get-InstalledPrograms is run in an elevated PowerShell window, the Apps that are installed under other than the current user profile are detected, too.\u003c/td\u003e\n                            \u003c/tr\u003e\n                        \u003c/table\u003e\n                    \u003c/p\u003e\n                \u003c/ol\u003e\n                \u003cp\u003e\n                    \u003cli\u003eAnd also two CSV-files at \u003ccode\u003e$path\u003c/code\u003e on machines running Windows 8 / Windows Server 2012 or later. On machines with an earlier OS version only the former file is written. For determining the Operating System version, please see the Notes-section below.\u003c/li\u003e\n                \u003c/p\u003e\n                \u003col\u003e\n                    \u003cp\u003e\n                        \u003ctable\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003ePath\u003c/strong\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eType\u003c/strong\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eName\u003c/strong\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003e$env:temp\\installed_programs.csv\u003c/code\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eCSV-file\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003einstalled_programs.csv\u003c/code\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003e$env:temp\\windows_store_apps.csv\u003c/code\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eCSV-file\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003ewindows_store_apps.csv\u003c/code\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                        \u003c/table\u003e\n                    \u003c/p\u003e\n                \u003c/ol\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n### Notes\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003e:warning:\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDespite Get-InstalledPrograms makes valid eforts to detect the installed programs on a local machine, achieving a 100 % detect rate of the installed programs might not happen, since not every program writes the uninstallation information to the registry. The unused WMI query \u003ccode\u003eGet-WmiObject -Class Win32_InstalledWin32Program\u003c/code\u003e seems not to detect every installed program either, and even listing all the shortcuts found on a computer omits those programs, which don't have a shortcut, so increasing the detect rate of the hard-to-detect installed programs is clearly a prominent area for further development in Get-InstalledPrograms.\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003cth\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\n            \u003cul\u003e\n                \u003cp\u003e\n                    \u003cli\u003eThe notoriously slow and possibly harmful \u003ccode\u003eGet-WmiObject -Class Win32_Product\u003c/code\u003e command is deliberately not used for listing the installed programs in Get-InstalledPrograms, since the \u003ccode\u003eWin32_Product\u003c/code\u003e Class has some unpleasant behaviors – namely it uses a provider DLL that validates the consistency of every installed MSI package on the computer (\u003ccode\u003emsiprov.dll\u003c/code\u003e with the mandatorily initiated resiliency check, in which the installations are verified and possibly also repaired or repair-installed), which is the main reason behind \u003ca href=\"https://sdmsoftware.com/group-policy-blog/wmi/why-win32_product-is-bad-news/\"\u003ethe\u003c/a\u003e \u003ca href=\"https://blogs.technet.microsoft.com/askds/2012/04/19/how-to-not-use-win32_product-in-group-policy-filtering/\"\u003eslow\u003c/a\u003e \u003ca href=\"https://support.microsoft.com/en-us/kb/974524\"\u003eperformance\u003c/a\u003e of \u003ccode\u003eWin32_Product\u003c/code\u003e Class. All in all \u003ccode\u003eWin32_product\u003c/code\u003e Class is not query optimized and in Get-InstalledPrograms, for now, a combination of various registry queries is used instead.\u003c/li\u003e\n                \u003c/p\u003e\n                \u003cp\u003e\n                    \u003cli\u003ePowerShell versions and their Windows versions:\n                    \u003col\u003e\n                        \u003ctable\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003e\u003cstrong\u003ePowerShell version\u003csup\u003e1\u003c/sup\u003e\u003c/strong\u003e\u003c/td\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003e\u003cstrong\u003eRelease Date\u003c/strong\u003e\u003c/td\u003e\n                                \u003cth colspan=\"2\" style=\"padding:6px\"\u003eDefault on Windows\u003c/th\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003e\u003cstrong\u003eThis PowerShell Version is also available on Windows Version(s)\u003c/strong\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eVersion\u003csup\u003e8\u003c/sup\u003e\u003c/strong\u003e\u003c/td\u003e\n                                \u003cth style=\"padding:6px\"\u003eOSVersion\u003csup\u003e2\u003c/sup\u003e\u003c/th\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"12\"\u003e\u003c/td\u003e\n                                \u003ctd rowspan=\"12\"\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWin3.1\u003csup\u003e6\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e?.?\u003c/td\u003e\n                                \u003ctd rowspan=\"12\"\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWin95\u003csup\u003e7\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e4.0\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWin98\u003csup\u003e7\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e4.10\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWinME\u003csup\u003e7\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e4.90\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eNT 3.51\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e3.51\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eNT 4.0\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e4.0\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 2000\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e5.0\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows XP\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e5.1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows XP 64-Bit Edition\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e5.2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2003\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e5.2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2003 R2\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e5.2\u003c/td\u003e\n                            \u003c/tr\u003e                            \n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Vista\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e6.0\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"7\" style=\"padding:6px\"\u003ePowerShell 1.0\u003c/td\u003e\n                                \u003ctd rowspan=\"7\" style=\"padding:6px\"\u003eNovember 2006\u003c/td\u003e\n                                \u003ctd rowspan=\"7\" style=\"padding:6px\"\u003eWindows Server 2008\u003csup\u003e3\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd rowspan=\"7\" style=\"padding:6px\"\u003e6.0\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows XP SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows XP SP3\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Vista\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Vista SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2003 SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2003 SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2003 R2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"6\" style=\"padding:6px\"\u003ePowerShell 2.0\u003c/td\u003e\n                                \u003ctd rowspan=\"6\" style=\"padding:6px\"\u003eOctober 2009\u003c/td\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003eWindows 7\u003c/td\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003e6.1\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows XP SP3\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Vista SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Vista SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003eWindows Server 2008 R2\u003csup\u003e4\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003e6.1\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2003 SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2008 SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2008 SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003ePowerShell 3.0\u003c/td\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003eSeptember 2012\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 8\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e6.2\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 7 SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003eWindows Server 2012\u003c/td\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003e6.2\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2008 SP2\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2008 R2 SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003ePowerShell 4.0\u003c/td\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003eOctober 2013\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 8.1\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003e6.3\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 7 SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003eWindows Server 2012 R2\u003c/td\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003e6.3\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2008 R2 SP1\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2012\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"5\" style=\"padding:6px\"\u003ePowerShell 5.0\u003c/td\u003e\n                                \u003ctd rowspan=\"5\" style=\"padding:6px\"\u003eApril 2014\u003csup\u003e5\u003c/sup\u003e\u003c/td\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003eWindows 10\u003c/td\u003e\n                                \u003ctd rowspan=\"2\" style=\"padding:6px\"\u003e10.0\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 7 SP1\u003csup\u003e9\u003c/sup\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows 8.1\u003c/td\u003e \n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003eWindows Server 2016\u003c/td\u003e \n                                \u003ctd rowspan=\"3\" style=\"padding:6px\"\u003e10.0\u003c/td\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2008 R2\u003csup\u003e9\u003c/sup\u003e\u003c/td\u003e\n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2012\u003c/td\u003e \n                            \u003c/tr\u003e\n                            \u003ctr\u003e\n                                \u003ctd style=\"padding:6px\"\u003eWindows Server 2012 R2\u003c/td\u003e \n                            \u003c/tr\u003e\n                        \u003c/table\u003e\n                        \u003cp\u003e\u003csup\u003e1\u003c/sup\u003e \u003ccode\u003e$PSVersionTable.PSVersion\u003c/code\u003e\n                        \u003cbr /\u003e\u003csup\u003e2\u003c/sup\u003e \u003ccode\u003e[System.Environment]::OSVersion.Version\u003c/code\u003e (format: Major.Minor – requires .NET Framework 1.1 or later; To find out the .NET Framework version with PowerShell, a command \u003ccode\u003e$PSVersionTable.CLRVersion\u003c/code\u003e could be used).\n                        \u003cbr /\u003e\u003csup\u003e3\u003c/sup\u003e Has to be installed through Server Manager\n                        \u003cbr /\u003e\u003csup\u003e4\u003c/sup\u003e Also integrated in all later Windows versions\n                        \u003cbr /\u003e\u003csup\u003e5\u003c/sup\u003e Release date of public review\n                        \u003cbr /\u003e\u003csup\u003e6\u003c/sup\u003e Platform ID = 0\n                        \u003cbr /\u003e\u003csup\u003e7\u003c/sup\u003e Platform ID = 1 (whereas on NT 3.51 and later the Platform ID ≥ 2)\n                        \u003cbr /\u003e\u003csup\u003e8\u003c/sup\u003e \u003ccode\u003e(Get-WmiObject -Class Win32_OperatingSystem).Caption\u003c/code\u003e\n                        \u003cbr /\u003e\u003csup\u003e9\u003c/sup\u003e Requires \u003ca href=\"https://www.microsoft.com/en-ca/download/details.aspx?id=30653\"\u003e.NET Framework 4.5\u003c/a\u003e\u003c/p\u003e\n                        \u003cp\u003eSources: \u003ca href=\"https://4sysops.com/archives/powershell-versions-and-their-windows-version/\"\u003ePowerShell versions and their Windows version\u003c/a\u003e, \u003ca href=\"http://www.vb-helper.com/howto_net_os_version.html\"\u003eGet operating system information in VB .NET\u003c/a\u003e, \u003ca href=\"https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx\"\u003eOperating System Version\u003c/a\u003e, \u003ca href=\"https://msdn.microsoft.com/en-us/powershell/wmf/5.1/install-configure\"\u003eInstall and Configure WMF 5.1\u003c/a\u003e and \u003ca href=\"https://social.msdn.microsoft.com/Forums/vstudio/en-US/5956c04f-072a-406c-ae6a-cc8b3a207936/systemenvironmentosversionversionmajor?forum=csharpgeneral\"\u003eSystem.Environment.OSVersion.Version.Major\u003c/a\u003e\u003c/p\u003e\n                    \u003c/ol\u003e\u003c/li\u003e\n                \u003c/p\u003e\n                \u003cp\u003e\n                    \u003cli\u003ePlease note that this script will try to check whether it is run in an elevated PowerShell window (run as an administrator) or not when executed on a Windows 8 or a Windows Server 2012 machine or later.\u003c/li\u003e\n                \u003c/p\u003e\n                \u003cp\u003e\n                    \u003cli\u003ePlease note that the CSV-file is created in a directory, which is specified with the \u003ccode\u003e$path\u003c/code\u003e variable (at line 6). The \u003ccode\u003e$env:temp\u003c/code\u003e variable points to the current temp folder. The default value of the \u003ccode\u003e$env:temp\u003c/code\u003e variable is \u003ccode\u003eC:\\Users\\\u0026lt;username\u0026gt;\\AppData\\Local\\Temp\u003c/code\u003e (i.e. each user account has their own separate temp folder at path \u003ccode\u003e%USERPROFILE%\\AppData\\Local\\Temp\u003c/code\u003e). To see the current temp path, for instance a command\n                    \u003cbr /\u003e\n                    \u003cbr /\u003e\u003ccode\u003e[System.IO.Path]::GetTempPath()\u003c/code\u003e\n                    \u003cbr /\u003e\n                    \u003cbr /\u003emay be used at the PowerShell prompt window \u003ccode\u003e[PS\u003e]\u003c/code\u003e. To change the temp folder for instance to \u003ccode\u003eC:\\Temp\u003c/code\u003e, please, for example, follow the instructions at \u003ca href=\"http://www.eightforums.com/tutorials/23500-temporary-files-folder-change-location-windows.html\"\u003eTemporary Files Folder - Change Location in Windows\u003c/a\u003e, which in essence are something along the lines:\n                        \u003col\u003e\n                           \u003cli\u003eRight click on Computer and click on Properties (or select Start → Control Panel → System). In the resulting window with the basic information about the computer...\u003c/li\u003e\n                           \u003cli\u003eClick on Advanced system settings on the left panel and select Advanced tab on the resulting pop-up window.\u003c/li\u003e\n                           \u003cli\u003eClick on the button near the bottom labeled Environment Variables.\u003c/li\u003e\n                           \u003cli\u003eIn the topmost section labeled User variables both TMP and TEMP may be seen. Each different login account is assigned its own temporary locations. These values can be changed by double clicking a value or by highlighting a value and selecting Edit. The specified path will be used by Windows and many other programs for temporary files. It's advisable to set the same value (a directory path) for both TMP and TEMP.\u003c/li\u003e\n                           \u003cli\u003eAny running programs need to be restarted for the new values to take effect. In fact, probably also Windows itself needs to be restarted for it to begin using the new values for its own temporary files.\u003c/li\u003e\n                        \u003c/ol\u003e\n                    \u003c/li\u003e\n                \u003c/p\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n### Examples\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003e:book:\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003eTo open this code in Windows PowerShell, for instance:\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n        \u003cth\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\n            \u003col\u003e\n                \u003cp\u003e\n                    \u003cli\u003e\u003ccode\u003e./Get-InstalledPrograms\u003c/code\u003e\u003cbr /\u003e\n                    Run the script. Please notice to insert \u003ccode\u003e./\u003c/code\u003e or \u003ccode\u003e.\\\u003c/code\u003e before the script name.\u003c/li\u003e\n                \u003c/p\u003e\n                \u003cp\u003e\n                    \u003cli\u003e\u003ccode\u003ehelp ./Get-InstalledPrograms -Full\u003c/code\u003e\u003cbr /\u003e\n                    Display the help file.\u003c/li\u003e\n                \u003c/p\u003e\n                \u003cp\u003e\n                    \u003cli\u003e\u003cp\u003e\u003ccode\u003eSet-ExecutionPolicy remotesigned\u003c/code\u003e\u003cbr /\u003e\n                    This command is altering the Windows PowerShell rights to enable script execution for the default (LocalMachine) scope. Windows PowerShell has to be run with elevated rights (run as an administrator) to actually be able to change the script execution properties. The default value of the default (LocalMachine) scope is \"\u003ccode\u003eSet-ExecutionPolicy restricted\u003c/code\u003e\".\u003c/p\u003e\n                        \u003cp\u003eParameters:\n                                \u003col\u003e\n                                    \u003ctable\u003e\n                                        \u003ctr\u003e\n                                            \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003eRestricted\u003c/code\u003e\u003c/td\u003e\n                                            \u003ctd style=\"padding:6px\"\u003eDoes not load configuration files or run scripts. Restricted is the default execution policy.\u003c/td\u003e\n                                        \u003c/tr\u003e\n                                        \u003ctr\u003e\n                                            \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003eAllSigned\u003c/code\u003e\u003c/td\u003e\n                                            \u003ctd style=\"padding:6px\"\u003eRequires that all scripts and configuration files be signed by a trusted publisher, including scripts that you write on the local computer.\u003c/td\u003e\n                                        \u003c/tr\u003e\n                                        \u003ctr\u003e\n                                            \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003eRemoteSigned\u003c/code\u003e\u003c/td\u003e\n                                            \u003ctd style=\"padding:6px\"\u003eRequires that all scripts and configuration files downloaded from the Internet be signed by a trusted publisher.\u003c/td\u003e\n                                        \u003c/tr\u003e\n                                        \u003ctr\u003e\n                                            \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003eUnrestricted\u003c/code\u003e\u003c/td\u003e\n                                            \u003ctd style=\"padding:6px\"\u003eLoads all configuration files and runs all scripts. If you run an unsigned script that was downloaded from the Internet, you are prompted for permission before it runs.\u003c/td\u003e\n                                        \u003c/tr\u003e\n                                        \u003ctr\u003e\n                                            \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003eBypass\u003c/code\u003e\u003c/td\u003e\n                                            \u003ctd style=\"padding:6px\"\u003eNothing is blocked and there are no warnings or prompts.\u003c/td\u003e\n                                        \u003c/tr\u003e\n                                        \u003ctr\u003e\n                                            \u003ctd style=\"padding:6px\"\u003e\u003ccode\u003eUndefined\u003c/code\u003e\u003c/td\u003e\n                                            \u003ctd style=\"padding:6px\"\u003eRemoves the currently assigned execution policy from the current scope. This parameter will not remove an execution policy that is set in a Group Policy scope.\u003c/td\u003e\n                                        \u003c/tr\u003e\n                                    \u003c/table\u003e\n                                \u003c/ol\u003e\n                        \u003c/p\u003e\n                    \u003cp\u003eFor more information, please type \"\u003ccode\u003eGet-ExecutionPolicy -List\u003c/code\u003e\", \"\u003ccode\u003ehelp Set-ExecutionPolicy -Full\u003c/code\u003e\", \"\u003ccode\u003ehelp about_Execution_Policies\u003c/code\u003e\" or visit \u003ca href=\"https://technet.microsoft.com/en-us/library/hh849812.aspx\"\u003eSet-ExecutionPolicy\u003c/a\u003e or \u003ca href=\"http://go.microsoft.com/fwlink/?LinkID=135170\"\u003eabout_Execution_Policies\u003c/a\u003e.\u003c/p\u003e\n                    \u003c/li\u003e\n                \u003c/p\u003e\n                \u003cp\u003e\n                    \u003cli\u003e\u003ccode\u003eNew-Item -ItemType File -Path C:\\Temp\\Get-InstalledPrograms.ps1\u003c/code\u003e\u003cbr /\u003e\n                    Creates an empty ps1-file to the \u003ccode\u003eC:\\Temp\u003c/code\u003e directory. The \u003ccode\u003eNew-Item\u003c/code\u003e cmdlet has an inherent \u003ccode\u003e-NoClobber\u003c/code\u003e mode built into it, so that the procedure will halt, if overwriting (replacing the contents) of an existing file is about to happen. Overwriting a file with the \u003ccode\u003eNew-Item\u003c/code\u003e cmdlet requires using the \u003ccode\u003eForce\u003c/code\u003e. If the path name includes space characters, please enclose the path name in quotation marks (single or double):\n                        \u003col\u003e\n                            \u003cbr /\u003e\u003ccode\u003eNew-Item -ItemType File -Path \"C:\\Folder Name\\Get-InstalledPrograms.ps1\"\u003c/code\u003e\n                        \u003c/ol\u003e\n                    \u003cbr /\u003eFor more information, please type \"\u003ccode\u003ehelp New-Item -Full\u003c/code\u003e\".\u003c/li\u003e\n                \u003c/p\u003e\n            \u003c/ol\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n### Contributing\n\n\u003cp\u003eFind a bug? Have a feature request? Here is how you can contribute to this project:\u003c/p\u003e\n\n \u003ctable\u003e\n   \u003ctr\u003e\n      \u003cth\u003e\u003cimg class=\"emoji\" title=\"contributing\" alt=\"contributing\" height=\"28\" width=\"28\" align=\"absmiddle\" src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f33f.png\"\u003e\u003c/th\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eBugs:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-installed-programs/issues\"\u003eSubmit bugs\u003c/a\u003e and help us verify fixes.\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003cth rowspan=\"2\"\u003e\u003c/th\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eFeature Requests:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003eFeature request can be submitted by \u003ca href=\"https://github.com/auberginehill/get-installed-programs/issues\"\u003ecreating an Issue\u003c/a\u003e.\u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003cstrong\u003eEdit Source Files:\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-installed-programs/pulls\"\u003eSubmit pull requests\u003c/a\u003e for bug fixes and features and discuss existing proposals.\u003c/td\u003e\n   \u003c/tr\u003e\n \u003c/table\u003e\n\n\n\n\n### www\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003e\u003cimg class=\"emoji\" title=\"www\" alt=\"www\" height=\"28\" width=\"28\" align=\"absmiddle\" src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f310.png\"\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-installed-programs\"\u003eScript Homepage\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003cth rowspan=\"8\"\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003eTobias Weltner: \u003ca href=\"http://powershell.com/cs/PowerTips_Monthly_Volume_8.pdf#IDERA-1702_PS-PowerShellMonthlyTipsVol8-jan2014\"\u003ePowerTips Monthly vol 8 January 2014\u003c/a\u003e (or one of the \u003ca href=\"https://web.archive.org/web/20150110213108/http://powershell.com/cs/media/p/30542.aspx\"\u003earchive.org versions\u003c/a\u003e)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003echocolatey: \u003ca href=\"https://chocolatey.org/packages/flashplayerplugin\"\u003eFlash Player Plugin\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://www.credera.com/blog/technology-insights/perfect-progress-bars-for-powershell/\"\u003ePerfect Progress Bars for PowerShell\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://msdn.microsoft.com/en-us/library/aa393941(v=vs.85).aspx\"\u003eUninstall method of the Win32_Product class\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"http://stackoverflow.com/questions/29266622/how-to-run-exe-with-without-elevated-privileges-from-powershell?rq=1\"\u003eHow to run exe with/without elevated privileges from PowerShell\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://4sysops.com/archives/powershell-versions-and-their-windows-version/\"\u003ePowerShell versions and their Windows version\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"http://www.vb-helper.com/howto_net_os_version.html\"\u003eGet operating system information in VB .NET\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://social.msdn.microsoft.com/Forums/vstudio/en-US/5956c04f-072a-406c-ae6a-cc8b3a207936/systemenvironmentosversionversionmajor?forum=csharpgeneral\"\u003eSystem.Environment.OSVersion.Version.Major\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n### Related scripts\n\n \u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003e\u003cimg class=\"emoji\" title=\"www\" alt=\"www\" height=\"28\" width=\"28\" align=\"absmiddle\" src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/0023-20e3.png\"\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://gist.github.com/auberginehill/aa812bfa79fa19fbd880b97bdc22e2c1\"\u003eDisable-Defrag\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003cth rowspan=\"22\"\u003e\u003c/th\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/firefox-customization-files\"\u003eFirefox Customization Files\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-ascii-table\"\u003eGet-AsciiTable\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-battery-info\"\u003eGet-BatteryInfo\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-computer-info\"\u003eGet-ComputerInfo\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-culture-tables\"\u003eGet-CultureTables\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-directory-size\"\u003eGet-DirectorySize\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-installed-windows-updates\"\u003eGet-InstalledWindowsUpdates\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-powershell-aliases-table\"\u003eGet-PowerShellAliasesTable\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://gist.github.com/auberginehill/9c2f26146a0c9d3d1f30ef0395b6e6f5\"\u003eGet-PowerShellSpecialFolders\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-ram-info\"\u003eGet-RAMInfo\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://gist.github.com/auberginehill/eb07d0c781c09ea868123bf519374ee8\"\u003eGet-TimeDifference\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-time-zone-table\"\u003eGet-TimeZoneTable\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/get-unused-drive-letters\"\u003eGet-UnusedDriveLetters\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/emoji-table\"\u003eEmoji Table\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/java-update\"\u003eJava-Update\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://gist.github.com/auberginehill/13bb9f56dc0882bf5e85a8f88ccd4610\"\u003eRemove-EmptyFoldersLite\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/remove-empty-folders\"\u003eRemove-EmptyFolders\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e    \n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://gist.github.com/auberginehill/176774de38ebb3234b633c5fbc6f9e41\"\u003eRename-Files\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/rock-paper-scissors\"\u003eRock-Paper-Scissors\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/toss-a-coin\"\u003eToss-a-Coin\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/update-adobe-flash-player\"\u003eUpdate-AdobeFlashPlayer\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"padding:6px\"\u003e\u003ca href=\"https://github.com/auberginehill/update-mozilla-firefox\"\u003eUpdate-MozillaFirefox\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauberginehill%2Fget-installed-programs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauberginehill%2Fget-installed-programs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauberginehill%2Fget-installed-programs/lists"}