This post was based on a question I came across online that I thought might be simple, but it wasn't as straightforward as I had hoped when looking at the Powershell output for Get-CMPackage.
What the person was trying to do is list all packages that were enabled for transfer via multicast. I took a test package from my lab environment and listed all of it's properties using Powershell:
Get-CMPackage -Id $ID | Select-Object -Property *
Although there is no obvious property for multicast transfer, I could see that every time I checked or unchecked the box for multicast transfer, the value for the PkgFlags property was changed.
I took a look at the MSDN documentation for the SMS_PackageBaseClass and found that while there are some values listed for PkgFlags, there was no value listed for handling multicast transfer:
I stumbled across an old post on MyITForum that explained that the multicast value (27) was undocumented.
I was able to take that information and combine it with a post Greg Ramsey had made on checking package properties with Powershell and put together this short snippet of code:
Get-CMPackage | ForEach-Object {
if ($_.pkgflags -eq ($_.pkgflags -bor 0x8000000)) {
"$($_.name)"
}
}
If you run that bit of Powershell it will list the names of each package that is configured for Multicast.
No comments:
Post a Comment