Контент обновления на приложении с Powershell или WMI в Microsoft SCMM 2012 SP1

Вы могли выполнить Perfmon и получить отправлять/получать/секунду байтов; необходимо было бы получить в файл для агрегации данных, но они покажут Вам Ваши пики. Это будет включать весь трафик, не просто SQL.

0
задан 23 May 2013 в 15:18
3 ответа

После некоторых интенсивных поисков я обнаружил решение. В SCCM SDK есть класс WMI под названием SMS_ContentPackage , который имеет открытый метод Commit (). Используя это, я смог обновить контент во всех приложениях, используя следующий код Powershell на сервере:

foreach($application in Get-CMApplication){
    $Get_WmiObject = @{
        'Namespace' = 'root\SMS\Site_<SiteCode>';
        'Class' = 'SMS_ContentPackage';
        'Filter' = "PackageID='$($application.PackageId)'";
    }
    (Get-Wmiobject @Get_WmiObject).Commit() | Out-null
}
0
ответ дан 4 December 2019 в 12:37

В настоящее время я использую этот скрипт PowerShell для обновления содержимого всех приложений, Единственное предостережение, ревизия всегда увеличивается:

try
{
    Get-Wmiobject -Namespace "root\SMS\Site_<sitecode>" -Class SMS_Application -Filter "isLatest='true' and isExpired='false'" | foreach{
           $name = $_.LocalizedDisplayName
           echo "Application : $name"
           $dptypes = Get-CMDeploymentType -ApplicationName "$name"
           foreach ($dpt in $dptypes){
                $dptname = $dpt.LocalizedDisplayName
                echo "Deployment Type: $dptname"
                Update-CMDistributionPoint -ApplicationName "$name" -DeploymentTypeName "$dptname"
                }
           }
}
catch
{
    $_.Exception.Message
}
2
ответ дан 4 December 2019 в 12:37

Set-CMDeploymentType с -ContentLocation приведет к принудительному обновлению, даже если ContentLocation имеет такое же значение, как и исходное.

Мой код выглядит следующим образом:

$app = Get-CMApplication -Name $PackageName
$depType = $app | Get-CMDeploymentType
$depType | Set-CMDeploymentType -MsiOrScriptInstaller -ProductCode $productCode -ContentLocation $PkgRead

Существующее местоположение может Сложнее определить - если вы еще не знаете, где он находится, вы можете извлечь его из типа развертывания XML или WMI.

1
ответ дан 4 December 2019 в 12:37

Теги

Похожие вопросы