当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 SQL 查询快速列出 SCCM 包 |电源外壳

作者:精品下载站 日期:2024-12-14 11:58:31 浏览:12 分类:玩电脑

使用 SQL 查询快速列出 SCCM 包 |电源外壳


在 SCCM 中,您可以使用 SQL 查询和 PowerShell 查找所有包及其详细信息。让我们看看如何使用 SQL 查询和 PowerShell 快速列出 SCCM 包。

Configuration Manager 中的包是在 2007 版本中引入的。包用于设备部署,而应用程序用于用户部署。尽管如此,您仍然可以使用包进行用户部署,使用应用程序进行设备部署。

Configuration Manager 当前分支仍继续支持 Configuration Manager 2007 中使用的包和程序。

包可以使用 Configuration Manager 的一些新功能,包括分发点组和监视。您无法在配置管理器中使用包和程序部署 Microsoft 应用程序虚拟化 (App-V) 应用程序。

包仍然是 ConfigMgr 的一部分,并且被广泛使用。应用程序优于软件包的原因之一是不支持软件包中的检测方法。

在您的 SCCM 环境中,您可能创建了多个包。如果系统要求您查找 SCCM 中存在的所有包,您可以使用 SQL 查询或 PowerShell 命令。

通过简单的 SQL 查询,您就可以找到所有包和相关详细信息。列出所有软件包的其他方法是使用 SCCM 控制台的软件包部分或使用 PowerShell 命令。

SCCM 中的默认包

安装 SCCM 时,会创建 3 个默认包。所有默认软件包均位于 ConfigMgr 控制台的Software Library\Overview\Application Management\Packages文件夹中。

  • 配置管理器客户端包
  • Configuration Manager 客户端试点包
  • Windows 用户状态迁移工具

[玩转系统] 使用 SQL 查询快速列出 SCCM 包 |电源外壳

注意:Configuration Manager 客户端升级包用于使客户端保持最新版本。该软件包是自动创建和分发的,以便客户端可以从最近的分发点自行升级。

除SCCM客户端包外,其他包均可删除。除非您绝对不需要,否则不要删除它们。

SCCM SQL 查询对于从 ConfigMgr 数据库获取信息非常有用。查询可以返回大多数类型的 ConfigMgr 对象,其中包括站点、集合、应用程序和清单数据。例如,您可以使用 SQL 查询执行以下任务。

  • 使用 SCCM SQL 查询查找 Windows 10 版本
  • 使用 SQL 查询查找 Windows 11 版本

使用 SQL 查询列出 SCCM 包

执行以下步骤以使用 SQL 查询列出 SCCM 包:

  • 启动 SQL Server Management studio (SSMS) 并连接到数据库引擎。
  • 展开数据库并右键单击 SCCM 数据库,然后选择新建查询
  • 在查询窗口中,粘贴以下 SQL 查询以列出所有包,然后单击执行
SELECT
Program.PackageID,
Package.Name 'Package',
Program.ProgramName 'Type',
Program.CommandLine,
Program.Comment,
Program.Description,
Package.PkgSourcePath
FROM
[v_Program] as Program
LEFT JOIN
v_Package as Package on Package.PackageID = Program.PackageID
WHERE Program.ProgramName != '*'
--WHERE Program.ProgramName = 'Install'
ORDER BY
Package.Name

[玩转系统] 使用 SQL 查询快速列出 SCCM 包 |电源外壳

上面的 SQL 查询将列出 SCCM 中存在的所有包。此外,结果中还包含以下包详细信息。

  • 封装ID
  • 包裹名字
  • 包裹类型
  • 命令行
  • 评论
  • 包装说明
  • 包源码路径

阅读:如何在 SCCM 中使用包转换管理器

使用 PowerShell 命令 Get-CMPackage 获取 SCCM 包

要获取 SCCM 中的所有包,您可以使用 PowerShell 命令 Get-CMPackage。运行此命令将导致输出更长。因此,您应该将 Get-CMPackage 命令与 PackageIDPackageName 一起使用。

  • 获取 CMPackage -Id“PackageID”
  • 获取 CMPackage -Id“PackageName”

您在 SCCM 中创建的每个包都有一个唯一的 PackageIDPackageName。将这些参数与 Get-CMPackage 命令结合使用,以使用 PowerShell 获取 SCCM 包。

注意:您必须从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet。

让我向您展示一些使用 PowerShell 列出 SCCM 包的示例。首先,让我们使用下面的 PowerShell 命令通过名称来获取 SCCM 包。以下命令将列出 Configuration Manager 客户端包详细信息。

Get-CMPackage -Name "Configuration Manager Client Package"

[玩转系统] 使用 SQL 查询快速列出 SCCM 包 |电源外壳

您还可以使用PackageID列出 SCCM 软件包详细信息。以下 PowerShell 命令使用 PackageID 列出包详细信息。

Get-CMPackage -Id "MEM00007"

[玩转系统] 使用 SQL 查询快速列出 SCCM 包 |电源外壳

结论

我希望您已经学会了如何使用 SQL 查询和 PowerShell 列出 SCCM 包。您可以使用这些方法中的任何一种来获取设置中的 SCCM 包。如果您有任何建议或问题,请在评论部分告诉我。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯