Sunday, September 28, 2014

windows - SCCM Client Image deployment options



At my organization, we are using SCCM to manage OS deployments. Right now, it's rather complicated to get an image out to a client and I'm looking for an easier way. Here is what we have to do right now to get this to work:



We first have to gather the computer name and MAC adress so we can properly target the machine. All of the computers we want to reimage are added to a collection that has one required task. This task reboots the drive into a PXE environment, wipes the hard drive, and drops the OS onto the drive.



The problem with this is that when you add a computer to the collection, the process doesn't run until the next scheduled task check. This can take up to 30 minutes depending on when you add it to the collection. On top of that, there is no way to set a timer so techs have to wait until off hours to drop any images.




What's worse is that we don't have a way to manually kick off the image process. If we have a clean harddrive, we have a choice on how to proceed. We can use non-SCCM images to get an OS on it, install the SCCM client, and then reimage. We can also hunt for the MAC address for the computer (assmuning there is a label somewhere), and PXE boot it once we add it to the collection.



Do you have a headache? Cause I do. SCCM is managed my another department, and it's like pulling teeth to get any of our 500 computers reimaged. They even flat out told me that a first pass image run has an average success rate of %60.



There has got to be a better way to do this.


Answer



The SCCM client polling interval is a configurable setting that applies to all clients in the site. Sounds like it's set to 30 minutes at your site but (depending on network limitations/server load) this can be safely changed down to 15 minutes by someone with the appropriate SCCM site access.



There are ways to force a machine to check outside of its normal polling schedule.




There's an open source tool called SCCM Client Center that you can use to connect to a client machine and check/set a lot of the SCCM details with (as long as you have the appropriate permissions).



What you can do is once you've placed a machine in a collection, rather than waiting for it to poll you can connect to it using the Client Centre, select Client Actions -> Download Machine Policy, then wait a minute or two and select Client Actions -> Apply Machine Policy. This forces it to connect to the SCCM server collect any pending policy changes (eg new adverts) and then once they're downloaded you tell it to run them.



Setting a timer on the job running is down to whoever set up the advert for the job in the first place, they had a number of options they can pick for scheduling the job once it's picked up by a machine and presumably in this case picked "As soon as possible". You can also set up Maintenance Windows on machines that set when jobs can/can't be run on them which would stop builds happening in working hours if that's what you want, but it sounds like these parts are outside of your control unfortunately?



I could be mistaking how you're set up but normally once a machine's set up in SCCM you don't need to know it's MAC, and if you ever do you can just find the machine in the console right click it and look at it's details. Adding machines to a collection can be done by machine name, MAC, IP or pretty much any criteria, you only need to know one unique thing about it.



New 'bare metal' builds are obviously slightly different but we don't currently use that part of SCCM (but are planning to move over to it) so I can't tell you much there.



No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...