Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从SCOM获取管理包捆绑包文件信息?_C#_Powershell_Monitoring_Scom_Management Pack - Fatal编程技术网

C# 如何从SCOM获取管理包捆绑包文件信息?

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

我正在使用OperationsManager模块与SCOM协作,我需要从SCOM中查找已导入SCOM的somemanagementpack.mpb文件信息,然后需要根据版本本地删除相同的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窗口并删除包含所有复制文件的目录

    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
    }
正如您所见,只有副本被锁定