locked
Adding a client to a collection is slow RRS feed

  • Question

  • Or "Help me like SCCM 2012"!

    I like it in principle, but it seems awfully fragile.

    For instance, we had it deploying an OS image just fine. The consultant who put this functionality in place included a VB script to place newly imaged machines in to the correct Departmental OU - based on the given host name - which I then edited to include all our OUs (a task which he left for us to do anyway) plus some error checking and logging. I didn't change the functionality of the Task Sequence itself, but then the process broke. This was a few months ago (Oct 2013) so I can't recall the exact error but I do recall it was after the Task Sequence commenced.

    Then clients wouldn't even get a response to their DHCP request although I realise this may not be an SCCM problem...

    Then other projects took higher priority until yesterday when I started to look at the issue again and found new problem! The client would get an IP address (from the correct range) but when I'd choose F12 to start the Network service boot it would fail with "PXE-M0F: Exiting Boot Agent". No other errors.

    So, having read an article about using troubleshooting SCCM I logged on to the server and ran trace32.exe opening up the SMSPXE.log then tried the client again...at which point the Network service boot worked and the OS image deployed correctly. Please note, I made NO changes to the server when I logged on to it.

    What to do now? Well, I decided to try the OS deployment again, just to be sure it's working before announcing to my colleagues that they can use it again. So, I deleted the client from the Devices folder in the SCCM console then ran the 'Import Computer Configuration' wizard to get it in the 'OS Deployment' collection but this time with a standard hostname to see if that VB script would work (previously I'd given it a name of "AAAA" just to see it at the top of any list). That was over an hour ago and I STILL can't see it in the Device Collection.

    This is just so frustrating. It works then it doesn't, then it doesn't but with a different symptom, then it works again, but then any 'simple' (in theory) operation like getting a client in to a Device Collection seems to do absolutely nothing.

    Why is it SO fussy and flaky?

    SCCM Service Pack 1 (Version Number is 5.0.7804.1000).


    • Edited by JPJ-UK Friday, January 31, 2014 1:43 PM Clarification of the hostname being used to place a computer account in an OU
    Friday, January 31, 2014 1:41 PM

Answers

  • Make sure that both x86 and x64 boot images are deployed to the DP
    Wednesday, February 5, 2014 7:26 PM

All replies

  • Any chance that this long posting is missing details? What is the script doing exactly? When is it running? Where's the connection between the script and PXE boot?

    Torsten Meringer | http://www.mssccmfaq.de

    Friday, January 31, 2014 1:48 PM
  • Just to add, the consultant said that adding devices to collections "can take 10 minutes to an hour".

    Now, either he's no good and so full of BS, or WHY ON EARTH IS SCCM SO SLOW AT SOMETHING APPARENTLY SO SIMPLE!

    Sorry to "shout", but I'm finding the SCCM experience less than stellar right now...

    Friday, January 31, 2014 1:57 PM
  • Any chance that this long posting is missing details? What is the script doing exactly? When is it running? Where's the connection between the script and PXE boot?

    Torsten Meringer | http://www.mssccmfaq.de

    Well, yes, it is possible there are missing details. I wouldn't focus too much on the script itself though, since it's just part of the Task Sequence. My bigger concerns are that

    1. We don't get to the WinPE environment at all or;
    2. when we do it's after we've apparently changed nothing and
    3. adding devices takes SO long.
    Friday, January 31, 2014 2:06 PM
  • OSD boot is depending on the WDS Services and most of the time it's fucked up. When the boot gives you an error like this try to reboot the WDS Service on your server that helps often.

    About adding computers to a collection, is your device available in the "All Systems" collection?

    If not then investigate there, try to reimport the computer with the same parameters and refresh the All Systems Collection.

    Then if present in there, right click on the Collection where you inserted the computer and select Update Membership then wait for 5 minutes and refresh the collection.

    Should do the trick.


    SCCM is a management tool and designed to do everything in a instant. That would also depend on your infrastructure and how your server was configured by the consultant.

    Friday, January 31, 2014 2:09 PM
  • OSD boot is depending on the WDS Services and most of the time it's fucked up. When the boot gives you an error like this try to reboot the WDS Service on your server that helps often.

    About adding computers to a collection, is your device available in the "All Systems" collection?

    If not then investigate there, try to reimport the computer with the same parameters and refresh the All Systems Collection.

    Then if present in there, right click on the Collection where you inserted the computer and select Update Membership then wait for 5 minutes and refresh the collection.

    Should do the trick.


    SCCM is a management tool and designed to do everything in a instant. That would also depend on your infrastructure and how your server was configured by the consultant.

    Yes, adding a Device does make it appear in All Systems pretty much straight away.

    My colleague just pointed out the 'Update Membership' option in the OS Deployment Device Collection and that has made it appear within there.

    So, I've calmed down a little, at least about that aspect. :)

    Did you mean "...designed to do everything in a instant..." or "...NOT designed to do everything in a instant..."? If the former, then the "Why is it so slow" question remains. If the latter, then I'm being impatient, but I'm still tending to ask "Why is it so slow?"  :D

    Friday, January 31, 2014 2:24 PM
  • How does your infrastructure look like? Standalone primary site or CAS? Importing a computer should take no longer than 10min (given that all settings involved are still at defaults).
    Have you already examined smspxe.log when PXE-booting a device?

    Torsten Meringer | http://www.mssccmfaq.de

    Friday, January 31, 2014 2:30 PM
  • How does your infrastructure look like? Standalone primary site or CAS? Importing a computer should take no longer than 10min (given that all settings involved are still at defaults).
    Have you already examined smspxe.log when PXE-booting a device?

    Torsten Meringer | http://www.mssccmfaq.de

    It looks like it's a standard primary site.

    Now that I've got the target test device appearing in the correct Device Collection the OS Deployment is working again. However, the smspxe.log file is still dated 10/10/2013...

    Friday, January 31, 2014 2:36 PM
  • I should quantify my position here, I've had no training on SCCM whatsoever, so I'm on a steep self-learning curve at the moment.
    Friday, January 31, 2014 2:40 PM
  • Now that I've got the target test device appearing in the correct Device Collection the OS Deployment is working again. However, the smspxe.log file is still dated 10/10/2013...

    A better search has found an SMSPXE.log dated today in C:\Program Files\Microsoft Configuration Manager\Logs (the older one I found was in C:\Program Files\SMS_CCM\Logs).
    Friday, January 31, 2014 2:46 PM
  • Using ConfigMgr in a production environment without being trained is ... well ... kind of dangerous. Don't get me wrong, but CM is a powerful product. You could install a new OS on every device on the network unplanned. Even on servers.
    Great that you found the log ... boot the device and see what happens. You can use cmtrace.exe to watch the log in real time.

    Torsten Meringer | http://www.mssccmfaq.de

    Friday, January 31, 2014 2:59 PM
  • Another thing to look at are the Properties of the OS Deployment Collection.

    Take a look at the membership rule node and check for the incremental update and full update schedule.

    Maybe that's what caused the machine to not get imported straight away.

    The incremental membership option is configured in the Task Maintenance and you can easily change this interval but be careful. Too many collections with that option will overload the CM Server.

    Friday, January 31, 2014 3:22 PM
  • OSD boot is depending on the WDS Services and most of the time it's fucked up. When the boot gives you an error like this try to reboot the WDS Service on your server that helps often.

    About adding computers to a collection, is your device available in the "All Systems" collection?

    If not then investigate there, try to reimport the computer with the same parameters and refresh the All Systems Collection.

    Then if present in there, right click on the Collection where you inserted the computer and select Update Membership then wait for 5 minutes and refresh the collection.

    Should do the trick.


    SCCM is a management tool and designed to do everything in a instant. That would also depend on your infrastructure and how your server was configured by the consultant.

    The problem is due to "Collection Limiting" which is new in 2012. The machine must be a member of the collection by which your current collection is limited by. The advantage of using limiting collections is that you can now implement role based administration and govern admin access by those limiting collections. For example if you had two help desks, you can create two main collections and populate those with only the members that you want each help desk to manage respectively. You then use those collections as the limiters for the other subsequent collections you create, thus creating role based access.

    So in order to get the most efficient membership evaluations for newly added members, do the following:

    • Limit the number of limiting collections in the collection hierarchy. The fewer collections in the chain, the less that have to be evaluated before you see your resource in your intended collection
    • If RBA is not an imperative, you can limit your collections to "All Systems" for the fastest turnaround
    • Enable incremental updates on your limiting collections. This will set them to evaluate new members every 5 minutes

    No matter how you tighten it, there will always be a variance in timing. Truly a stars and planets aligned scenario but I digress. 

    As far as the VB Script that is adding the newly created members to the collections, you can issue update membership commands from the script to help it along.

    I'm interested in how others are approaching these evaluation timing issues. What works for you?

    Saturday, February 1, 2014 3:18 PM
  • Our Device Collections are like this.

    • Endpoint Protection
      Managed Servers
      Managed Systems
      Managed Workstations
    • Endpoint Protection Managed Clients
      18x Departmental collections
    • Operating System Deployment
      All OSD collections
      Deploy Windows 7 Enterprise
    • Software Updates
      Servers Phase 1 Pilot
      Workstations Phase 1
      Workstations Phase 2
      Workstations Phase 3
      Workstations Phase 4

    These are used as a logical administrative structure rather than for RBA.

    We have about 170 workstations and 99 Servers (it says here, I can't believe we actually have THAT many!)

    So, it's not exactly a huge infrastructure.

    Back to my overall gripe about SCCM 2012 being so fragile, I went edit the Task Sequence (more to look at the properties than actually change anything) and got...quelle surprise...an error! I find this galling. Why? The last time I did this (in October) it was fine. Again...FRUSTRATING!

    I have a question about the VB script that runs halfway through the Task Sequence but I'll ask it in a separate thread, methinks.

    Monday, February 3, 2014 4:06 PM
  • Our Device Collections are like this.

    • Endpoint Protection
      Managed Servers
      Managed Systems
      Managed Workstations
    • Endpoint Protection Managed Clients
      18x Departmental collections
    • Operating System Deployment
      All OSD collections
      Deploy Windows 7 Enterprise
    • Software Updates
      Servers Phase 1 Pilot
      Workstations Phase 1
      Workstations Phase 2
      Workstations Phase 3
      Workstations Phase 4

    These are used as a logical administrative structure rather than for RBA.

    We have about 170 workstations and 99 Servers (it says here, I can't believe we actually have THAT many!)

    So, it's not exactly a huge infrastructure.

    Back to my overall gripe about SCCM 2012 being so fragile, I went edit the Task Sequence (more to look at the properties than actually change anything) and got...quelle surprise...an error! I find this galling. Why? The last time I did this (in October) it was fine. Again...FRUSTRATING!

    I have a question about the VB script that runs halfway through the Task Sequence but I'll ask it in a separate thread, methinks.

    What do you have set for your limiters on your OSD collections?
    Tuesday, February 4, 2014 3:11 AM
  • Do you mean the Limiting Collection option?

    Tuesday, February 4, 2014 10:31 AM
  • Looks good. The "All Systems" collection is doing incremental evaluation every 5 minutes. If you have incremental updates on the above collection set, you should see the clients in the collections within 10 minutes at the most.

    Keep in mind that you want to be judicious in your use of incremental evaluations. The way it works is that every 5 minutes, every collection set to incremental evaluation will evaluate. You can see where this becomes a bottleneck. If you have complex query rules and many incremental updates, they tend to run over each other. This creates a snowball effect of longer and longer wait times. If you want to see what's going on, check out the collection evaluation log on the primary site server.

    They say there is a theoretical limit of about 200 collections that can be set to incremental without degradation. In our organization, we have about 20 set to incremental. Mainly just our limiting collections.

    Tuesday, February 4, 2014 12:51 PM
  • OK, so something looks right at least. :)

    Today's problem is that now the client isn't even getting a PXE boot, but instead gets a WDSNBP Download, which errors out:

    What happened prior to this? I ran 'Configure ConfigMgr Integration' to rer-register the classes so that I could...Edit the Task Sequence to enter some network credentials to try to get script logging to work, then chose Update Distribution Points' to reflect the changes made to the script. Having started to get the issue with PXE non-responsiveness I rebooted the box.

    Tuesday, February 4, 2014 3:17 PM
  • Examine smspxe.log then. It looks as if ConfigMgr knows the MAC address of the booting system, but there are no task sequences deployed to it or it does not know the MAC and you are not using unknown computer support or a required deployment already ran and the PXE flag was not cleared.

    Torsten Meringer | http://www.mssccmfaq.de


    • Edited by TorstenMMVP Tuesday, February 4, 2014 3:22 PM
    Tuesday, February 4, 2014 3:22 PM
  • OK, after a nice long gap overnight, I've just tried another Network boot on the client and isolated the following lines from SMSPXE.log:

    <![LOG[Client lookup reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777548" ServerName="" ServerRemoteName=""><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>
    ]LOG]!><time="10:15:31.977+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="libsmsmessaging.cpp:6363">

    <![LOG[18:A9:05:F2:92:E3, 6908B0C0-2CEA-11DF-BBDA-05F292E318A9: device is in the database.]LOG]!><time="10:15:31.977+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="database.cpp:483">

    <![LOG[Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777548" ServerName="" ServerRemoteName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" PackagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
    ]LOG]!><time="10:15:32.024+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="libsmsmessaging.cpp:6561">

    <![LOG[18:A9:05:F2:92:E3, 6908B0C0-2CEA-11DF-BBDA-05F292E318A9: no advertisements found]LOG]!><time="10:15:32.024+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="database.cpp:483">

    <![LOG[18:A9:05:F2:92:E3, 6908B0C0-2CEA-11DF-BBDA-05F292E318A9: No boot action. Aborted.]LOG]!><time="10:15:32.065+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="database.cpp:483">

    <![LOG[18:A9:05:F2:92:E3, 6908B0C0-2CEA-11DF-BBDA-05F292E318A9: Not serviced.]LOG]!><time="10:15:32.066+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="database.cpp:483">

    <![LOG[Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777548" ServerName="" ServerRemoteName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" PackagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
    ]LOG]!><time="10:15:34.056+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="libsmsmessaging.cpp:6561">

    <![LOG[18:A9:05:F2:92:E3, 6908B0C0-2CEA-11DF-BBDA-05F292E318A9: no advertisements found]LOG]!><time="10:15:34.057+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="database.cpp:483">

    Wednesday, February 5, 2014 10:18 AM

  • <![LOG[18:A9:05:F2:92:E3, 6908B0C0-2CEA-11DF-BBDA-05F292E318A9: no advertisements found]LOG]!><time="10:15:34.057+00" date="02-05-2014" component="SMSPXE" context="" type="1" thread="3180" file="database.cpp:483">


    So there is no deployment available for that client. Make sure that it is member of a collection where an OSD task sequence is deployed to.

    Torsten Meringer | http://www.mssccmfaq.de

    Wednesday, February 5, 2014 11:01 AM
  • Well, this is what I don't get. It's in the same collection it was when I last deployed the OS image successfully on Friday. Unless that Task Sequence edit I did yesterday removed that association...
    Wednesday, February 5, 2014 11:31 AM
  • If I look at the collection itself it looks good to me (and my inexperienced-in-the-ways-of-SCCM-2012 eyes):

    Wednesday, February 5, 2014 11:37 AM
  • It appears I have it working.

    First I delete the device, then re-imported it.

    Update memberships of the collections and it re-appears (fairly quickly).

    But the PXE boot failed. A look at the log suggested it couldn't find the boot image. So I browsed to the boot image within the SCCM console and chose 'Update Distribution Points'.

    And the image seems to be deploying now...

    Wednesday, February 5, 2014 5:10 PM
  • Make sure that both x86 and x64 boot images are deployed to the DP
    Wednesday, February 5, 2014 7:26 PM
  • Make sure that both x86 and x64 boot images are deployed to the DP
    Good point. Thanks.
    Thursday, February 6, 2014 12:08 PM