C# 如何从SCOM获取管理包捆绑包文件信息?
我正在使用OperationsManager模块与SCOM协作,我需要从SCOM中查找已导入SCOM的somemanagementpack.mpb文件信息,然后需要根据版本本地删除相同的somemanagementpack.mpb文件 下面是我正在使用的命令C# 如何从SCOM获取管理包捆绑包文件信息?,c#,powershell,monitoring,scom,management-pack,C#,Powershell,Monitoring,Scom,Management Pack,我正在使用OperationsManager模块与SCOM协作,我需要从SCOM中查找已导入SCOM的somemanagementpack.mpb文件信息,然后需要根据版本本地删除相同的somemanagementpack.mpb文件 下面是我正在使用的命令 Import-Module "OperationsManager" New-SCOMManagementGroupConnection -ComputerName "DEVSCOM" $mp = Ge
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窗口并删除包含所有复制文件的目录
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
}
正如您所见,只有副本被锁定