我正在尝试检索Windows Server(2012R2和2008)上所有已安装的软件包。Win 2012有PowerShell V4,Win 2008有PowerShell V3。
已尝试使用Poweshell命令"Get-Package",但这仅适用于Powershell版本5及更高版本。
尝试点击以下链接,但无法获得任何输出。 https://powershell.org/2015/10/using-package-management-in-windows-powershell-v3/
如果可以为Powershell版本(3和4)提供备用命令,将不胜感激。提前感谢您的时间和精力。
PS C:UsersAdministrator> Get-Package
Get-Package : The term 'Get-Package' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Get-Package
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Package:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:UsersAdministrator> Get-PackageProvider | Select-Object -Property Name | Sort-Object -Property Name
Get-PackageProvider : The term 'Get-PackageProvider' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
try again.
At line:1 char:1
+ Get-PackageProvider | Select-Object -Property Name | Sort-Object -Property Name
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-PackageProvider:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:UsersAdministrator> Get-Command -Module PackageManagement | Select-Object -Property Name | Format-Wide -Column 2
PS C:UsersAdministrator> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
3 0 -1 -1
PS C:UsersAdministrator> Get-Package
Get-Package : The term 'Get-Package' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Get-Package
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Package:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:UsersAdministrator> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
我希望得到这样的结果
PS C:UsersAdministrator> Get-Package | select Name, Version
Name Version
---- -------
Amazon SSM Agent 2.3.444.0
Amazon SSM Agent 2.3.444.0
AWS Tools for Windows 3.15.666
AWS PV Drivers 8.2.6
aws-cfn-bootstrap 1.4.31
Update for Windows Defender Antivirus antimalware platform - KB4052623 (Version 4.18.1903.4)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.1405.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.1225.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.1155.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.1077.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.1016.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.920.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.76.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.291.9.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.289.1652.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.289.1237.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.289.1157.0)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.289.1094.0)
Update for Windows Defender Antivirus antimalware platform - KB4052623 (Version 4.18.1902.2)
Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.289.911.0)
你可以看看 wmi:
Get-WmiObject -Class Win32_Product | Select Name, Version | Sort
或
wmic product get name,version
但最好的来源可能是卸载注册表项。查看此链接
远程机器列表 你可以从下面命令中获取它
Get-WMI对象 -类Win32_Product -计算机名 机器名
Get-CimInstance -ClassName win32_InstalledWin32Program | Select Name, Version, Vendor | ConvertTo-Json