web analytics
Skip to content

Gatt's Ramblings

The Ramblings of an IT Professional

Advert

Archive

Category: Configuration Manager

I take a few weeks off work and one of my servers starts acting up :( Now need to look at how to migrate Config Manager to a new server and pray the existing one holds out till the summer hols…

{lang: 'en-GB'}
Bookmark and Share

Today, I needed to deploy Windows Live to a number of machines.

The problem with Windows Live is that,depending on your configuration,  there are about 10 individual files that need to be deployed..

Obviously, this becomes time consuming, creating all those packages, then advertising them all, and maybe even assign them to a few OSD Task Sequences..

Then I thought.. Task Sequences… ooh I wonder…

I recall from using MDT, that you can create Application Bundles that contain a list of applications, and then you only need to select that bundle to instantly deploy all the applications listed therein..

I had a quick look at OSD Task Sequences and it does give you the option to create a “Custom Task Sequence” which is basically blank

All you need to do is add all those applications into that one task sequence by going to “Add –> General –> Install Software” , and then advertise that to your collection..

This makes it a lot easier to manage – all you need to do is update the Sequence if there are any changes to the list.

{lang: 'en-GB'}
Bookmark and Share

What’s that? you set a password on the PXE Service Point, and now you cannot unset it?

Never fear folks for I have the solution:

  1. Open up the PXE Service Point properties and make sure the General Tab is active
  2. Delete the password from the two boxes
  3. Then remove the tick from the “Require a Password for computers to boot using PXE” box
  4. Click Apply then OK

Why its not just a case of removing the tick, I don’t know (If you do and dont delete the password – the password is re-enabled when you click OK…

I bet you, you’re kicking yourselves now aren’t you?

I know I was….

{lang: 'en-GB'}
Bookmark and Share

Thanks go to the guys over at ccmexec.com for the soluttion to this one.

They posted the following script that deletes a PC from specified collections when a Task Sequences successfully completes. This allows you to set the Task Sequence Advertisment to always rerun, and prevent endless rebuild loops..

Option Explicit
' Constants for type of event log entry
const EVENTLOG_INFORMATION = 4

Dim Args
Dim swbemLocator, SWbemServices, objCollection, oProviderLocation, oLocation
Dim strComputerName, arrComputers, objComputer, sCollectionIDs
Dim objDirectRule
Dim strmessage, objshell
Dim seventlog, sClearPxeflag

On Error Resume Next  

'CollectionIDs from which to remove the computer
'Should an eventlog entry be generated, set Seventlog=1

sEventlog = "1"
sCollectionIDs = "00100053:0010004A:00100069"  

'------------------------------------------------------------
'Get Command Line arguments

Set args = WScript.Arguments
strComputername = args.Item(0)

If strComputerName = NULL then
   wscript.quit
End if

'------------------------------------------------------------
'Main script 

set objShell = CreateObject("WScript.Shell")

    Set swbemLocator = CreateObject("WbemScripting.SWbemLocator")
    swbemLocator.Security_.AuthenticationLevel = 6 'Packet Privacy.
    Set swbemServices = swbemLocator.ConnectServer(".", "root\SMS")
    Set oProviderLocation = swbemServices.InstancesOf("SMS_ProviderLocation")
    For Each oLocation In oProviderLocation
        If oLocation.ProviderForLocalSite = True Then
            Set swbemServices = swbemLocator.ConnectServer(oLocation.Machine, "root\sms\site_" + oLocation.SiteCode)
        End If
    Next 

Set arrComputers = SWbemServices.ExecQuery("select * from SMS_R_System where Name='" & strComputerName & "' and Obsolete = 0")

For Each objComputer In arrComputers
   RemoveCollectionMembership objComputer.ResourceID

'Write to eventlog if Seventlog = 1
   If Seventlog = "1" then
   strMessage = strcomputername & " will be removed from the following collection ID's " & scollectionids
   objShell.LogEvent EVENTLOG_INFORMATION, strMessage
   End IF

Next

Set objCollection = Nothing
Set SWbemServices = Nothing
Set SWbemLocator = Nothing

Wscript.Quit

'------------------------------------------------
Sub RemoveCollectionMembership(intresourceid)
on error resume next

Dim mCollectionID, i
mCollectionID = Split (sCollectionIDs, ":")
for i = Lbound(mCollectionID) to UBound(mCollectionID)

	Set objCollection = SWbemServices.Get("SMS_Collection='" & MCollectionID(i) & "'")
	Set ObjDirectRule = SWbemServices.Get("SMS_CollectionRuleDirect").SpawnInstance_
	ObjDirectRule.ResourceID = intresourceid
	ObjCollection.DeleteMembershipRule objDirectRule
	next
End Sub

'------------------------------------------------

WScript.Quit(0)

Simply edit the following lines, replacing the IDs with the IDs of your Collections and save it as something like remove.vbs

Then, create a System Filter Rule in ConfigMgr with the following info:

General Tab

Component: Task Sequence Manager
Message ID: 11171

Actions Tab

Report to the Event Log
Run a program: cscript.exe e:\sccmtools\remove.vbs %msgsys

And thats it..

Have fun!

{lang: 'en-GB'}
Bookmark and Share

After many attempts and rebuilds.. I finally got Microsoft’s System Center Configuration Manager (aka SCCM, ConfigMgr) working – Yippee!

It now does virtually everything I need it to do

  • Software Updates
  • OS Deployments – Though only re-deployments – I Use MDT 2010 for new PCs
  • Software Deployments
  • Asset Management
  • Reporting

Many thanks to the guys at www.windows-noob.com and their excellent step-by-step instructions, without them I’d still be struggling to get this working

{lang: 'en-GB'}
Bookmark and Share

Switch to our mobile site