I haven’t done this, but here’s a thought. On your BES Server, run an Action at whatever frequency you need to generate a manifest file on the fly:
Example from QnA: to build strings matching prefetch statement parameters
q: (“name=” & name of it & " size=" & size of it as string & " sha1=" & sha1 of it & " url=http://myserver:52311/myfolder/" & name of it) of files of folder “c:\temp”
A: name=host1.txt size=5 sha1=8cf2f469b3323c76735159ca3331a17f2cc59ba4 url=http://myserver:52311/myfolder/host1.txt
A: name=host2.txt size=8 sha1=c43a1e80a1568a7164d77a053b144d86e885c9a4 url=http://myserver:52311/myfolder/host2.txt
A: name=host3.txt size=24 sha1=9dc50aea826825400c88bd35fafca1440d8933d9 url=http://myserver:52311/myfolder/host3.txt
// ActionScript to build manifest:
delete __appendfile
appendfile {concatenation “%0d%0a” of (“name=” & name of it & " size=" & size of it as string & " sha1=" & sha1 of it & " url=http://myserver/myfolder/" & name of it) of files of folder “c:\temp”}
// The path to wwwrootbes can be determined dynamically by looking at client settings on the bes server, leaving
// it hardcoded here for readability though
delete "c:\program files (x86)\Bigfix Enterprise\BigFix Server\wwwrootbes\myfolder\mainfest.txt"
move __appendfile “c:\program files (x86)\Bigfix Enterprise\BigFix Server\wwwrootbes\myfolder\mainfest.txt”
// End of Manifest Generating ActionScript
// Action on a client, downloads the manifest, then downloads additional based on what’s in the manifest
begin prefetch block
// Download the manifest file
add nohash prefetch item url=http://127.0.0.1:52311/myfolder/manifest.txt
collect prefetch items
// download the line, referenced in the manifest, that applies to this machine
add prefetch item {lines whose (it as string as lowercase starts with “name=” & computer name as lowercase & “.txt”) of file “manifest.txt” of download folder}
collect prefetch items
end prefetch block
// do something useful with {file (computer name & “.txt”) of download folder}
One last postscript. If you’re planning to run a webserver that isn’t BigFix on port 52311 just because your existing rules allow port 52311, then that would be a violation of your company’s security policy. Port 52311 is just a technical implementation; your Policy is “Allow BigFix between sites.”