Återigen, Rikard Rönnkvist spar mig massor av tid med sina PowerShell-script, tack!
PARAM ( $sccmServer = "configmgr.snowland.se", $sccmSiteCode = "ABC", $failStates = "2, 3, 5, 6", # Retrying and Failed (Both Install and Removal) $packageTypes = "0, 3, 4, 8, 257, 258" # Not checking 5 (SUP) due to automatic deployments ) Write-Host "Searching for failed content distributions" ForEach ($FailedDist in (Get-WmiObject -ComputerName $sccmServer -Namespace "ROOT\SMS\Site_$($sccmSiteCode)" -Query "SELECT * FROM SMS_PackageStatusDistPointsSummarizer WHERE State IN ($($failStates)) AND PackageType IN ($($packageTypes))" | Sort-Object PackageID)) { # Figure out servername from NalPath $failedServer = $FailedDist.ServerNALPath.Substring($FailedDist.ServerNALPath.LastIndexOf("]")+3).Trim("\") # Get the distribution points that content wouldn't distribute to ForEach ($FailedDPDist in (Get-WmiObject -ComputerName $sccmServer -Namespace "ROOT\SMS\Site_$($sccmSiteCode)" -Query "SELECT * FROM SMS_DistributionPoint WHERE SiteCode='$($FailedDist.SiteCode)' AND PackageID='$($FailedDist.PackageID)' AND ServerNALPath LIKE '%$($failedServer)%'") ) { # Refresh content on the selected DP Write-Host "Refreshing $($FailedDPDist.PackageID), type $($FailedDist.PackageType) in state $($FailedDist.State) on $($failedServer)" $FailedDPDist.RefreshNow = $true $FailedDPDist.Put() | Out-Null } } Write-Host "Done!"
Tack till Rikard Rönnkvist, källa: SnowLand