This script will send out an existing package in the site hierarchy to a single DP in the site.
' Save as LoadSingleDP.vbs, watch line wrap
strSMSServer = "<centralsite>"
arrPackageIDs = "<pkgid>"
strSiteCode = "<sitecode>"
strServer = "<dpname>"
Set objLoc = CreateObject("WbemScripting.SWbemLocator")
Set objSMS= objLoc.ConnectServer(strSMSServer, "root\sms")
Set Results = objSMS.ExecQuery _
("SELECT * From SMS_ProviderLocation WHERE ProviderForLocalSite = true")
For each Loc in Results
If Loc.ProviderForLocalSite = True Then
Set objSMS = objLoc.ConnectServer(Loc.Machine, "root\sms\site_" & _
Loc.SiteCode)
end if
Next
Set DPs = objSMS.ExecQuery _
("SELECT ServerName, SiteCode, NALPath " & _
"FROM SMS_SystemResourceList " & _
"WHERE (RoleName = 'SMS Distribution Point' AND SiteCode = '" & _
strSiteCode & "' AND ServerName = '" & strServer & "')")
For Each DP In DPs
Wscript.echo DP.SiteCode & vbTAB & DP.ServerName
Set Site = objSMS.Get("SMS_Site='" & DP.SiteCode & "'")
'create a list of packages already on the DP
Set AlreadyOnDP = objSMS.ExecQuery _
("SELECT PackageID " & _
"FROM SMS_DistributionPoint " & _
"WHERE SiteCode='" & strSiteCode & "' " & _
"AND ServerNalPath like '%" & strServer & "%'" )
for each tmpDP in AlreadyOnDP
strOnDP = strOnDP & tmpDP.PackageID
next
for each strPackageID in split(arrPackageIDs,",")
'if it doesn't exist on that sitecode/server, then
if instr(ucase(strOnDP), ucase(strPackageID)) = 0 then
wscript.echo "Adding " & strPackageID
Set newDP = objSMS.Get("SMS_DistributionPoint").SpawnInstance_()
newDP.ServerNALPath = DP.NALPath
newDP.PackageID = strPackageID
newDP.SiteCode = DP.SiteCode
newDP.SiteName = Site.SiteName
newDP.Put_
end if
next
Next