Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Get-AppPSCMContentMgmt

Publié le par damcuvelier

$Global:CMDrive = (get-location).Path
$Global:here= 'C:\'

set-location $here
$SiteCode = $CMDrive.split(':')[0]


$SiteServer = ""
$Namespace = "ROOT/SMS/Site_{0}" -f $SiteCode

set-location $CMDrive
$AppDPContentInfo = "ObjectType = '{0}'" -f [Int][SMS_DPContentInfo]"Application"

function getObjectID($obj){
# $ModelName = $obj.ObjectID -SiteServer $SiteServer -SiteCode $SiteCode
$ModelName = $obj.ObjectID
$ObjectIDQry = "SELECT CI_ID FROM SMS_ApplicationLatest WHERE ModelName = '{0}'" -f $ModelName
(Get-CimInstance -ComputerName $SiteServer -Namespace $Namespace -Query $ObjectIDQry).CI_ID
}


#region [Set-PSCMContentMgmt]
set-location $CMDrive

$DistributionPointGroup = Get-CMDistributionPointGroup

foreach ($TargetDPGroup in $DistributionPointGroup.Name) {

$Query = "SELECT * FROM SMS_DPGroupContentInfo WHERE SMS_DPGroupContentInfo.GroupID in ( SELECT SMS_DPGroupInfo.GroupID FROM SMS_DPGroupInfo WHERE Name = '{0}')" -f $TargetDPGroup

$Qry = "{0} AND ( {1} )" -f $Query, $AppDPContentInfo

    Get-CimInstance -ComputerName $SiteServer -Namespace $Namespace -Query $Qry | ForEach-Object {
        [PSCustomObject]@{
        PSTypeName             = "PSCMContentMgmt"
        ObjectName             = $_.Name
        Description            = $_.Description
        ObjectType             = ([SMS_DPContentInfo]$_.ObjectType).ToString()
        ObjectID               = getObjectID($_)
        SourceSize             = $_.SourceSize
        DistributionPointGroup = $TargetDPGroup
        }
    }
}

#endregion [Set-PSCMContentMgmt]
 

Commenter cet article