Powershell
在 Microsoft SCMM 2012 SP1 中使用 Powershell 或 WMI 更新應用程序上的內容
在右鍵點擊應用程序部署類型時,我們可以選擇更新內容。有沒有辦法使用 Powershell 或 WMI 方法執行此操作?
我目前正在使用這個 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 }
帶有 -ContentLocation 的 Set-CMDeploymentType 將強制更新,即使 ContentLocation 設置為與原始相同。
我的程式碼如下所示:
$app = Get-CMApplication -Name $PackageName $depType = $app | Get-CMDeploymentType $depType | Set-CMDeploymentType -MsiOrScriptInstaller -ProductCode $productCode -ContentLocation $PkgRead
現有位置可能難以確定 - 如果您還不知道它在哪裡,您可以將其從部署類型 XML 或 WMI 中提取出來。