如何从SCOM获取Management Pack Bundle文件信息?

How to get Management Pack Bundle file information from SCOM?

我正在使用 OperationsManager 模块与 SCOM 一起工作,我需要从 SCOM 中找到 somemanagementpack.mpb 文件信息,该信息已经导入到 SCOM 中,需要删除根据版本

在本地使用相同的 somemanagementpack.mpb 文件

下面是我使用的命令

Import-Module "OperationsManager"
New-SCOMManagementGroupConnection -ComputerName "DEVSCOM"
$mp = Get-SCManagementPack -BundleFile C:\Temp\somemanagementpack.mpb

$version = $mp.Version
$localVersion = "1.0.0.0"

if($version -gt $localVersion)
{
    Remove-Item "C:\Temp\somemanagementpack.mpb" -Force
}

但是当我尝试删除它时出现以下错误,我也尝试使用 Dispose 方法但没有任何反应

操作无法完成,因为文件已打开

SCOM 正在锁定文件。让它停止的唯一方法是终止 PowerShell 进程。

作为解决方法,我建议先将每个文件复制到另一个目录。让您的脚本从副本中获取版本。如果符合您的条件,则删除不会被锁定的原始文件。完成后关闭 PowerShell window 并删除包含所有复制文件的目录。

    Import-Module "OperationsManager"
    New-SCOMManagementGroupConnection -ComputerName "DEVSCOM"
    Copy-Item C:\Temp\somemanagementpack.mpb C:\Temp\Copy\somemanagementpack.mpb

    $mp = Get-SCManagementPack -BundleFile C:\Temp\Copy\somemanagementpack.mpb

    $version = $mp.Version

    $localVersion = "1.0.0.0"

    if($version -gt $localVersion)
    {
    Remove-Item "C:\Temp\somemanagementpack.mpb" -Force
    }

如您所见,只有副本被锁定