Posts

Showing posts from July, 2008

VBScript to Set SMS Client Cache Location

Need to set the SMS Client Cache Location? Well it's pretty easy, here's a basic VBScript to help you get started. This will set the Advanced Clients Cache Location, just be careful to set it correctly. Test, Test, Test! I'd suggest an SMS Package with different cache locations passed via command line (in seperate programs) for maximum flexibility. ---- Begin VBScript ---- On Error Resume Next Dim oUIResourceMgr Dim oCache Set oUIResourceMgr = CreateObject("UIResource.UIResourceMgr") Set oCacheInfo = oUIResourceMgr.GetCacheInfo ' Set the new location, default is "C:\WINDOWS\system32\CCM\Cache" oCacheInfo.Location = "C:\WINDOWS\system32\CCM\Cache" 'Return the error so SMS can report it WScript.Quit(Err) ---- End VBScript ----

SMS SQL for Duplicate Collection Names

Recently, I've found many collections with duplicate names. The dupes can cause problems when managing those collections. I quickly created the following SQL to find the offending collections. -- This SQL query will show collections with duplicate names. Select parentCollectionID, ParentCollection.Name, v_Collection.CollectionID, v_Collection.Name from v_Collection left outer join v_CollectToSubCollect on v_Collection.collectionid=v_CollectToSubCollect.subcollectionid left outer join v_Collection ParentCollection on v_CollectToSubCollect.parentCollectionID = ParentCollection.collectionid where v_Collection.Name in (Select Name from v_Collection Group By Name Having Count(*)>1)

SMS 2003 Error 10035, What to Do

Error 10035, or Waiting for Content, seems to be one of the most frequent errors people encounter. Clients often generate this error even when they succeeed. When things go bad, it's important to understand how to troubleshoot error 10035, and know how to fix it. How to troubleshoot 10035 Waiting for Content Errors List of Status Message IDs

SMS SQL for Program Failed Run Time Exceeded 10070

To create a query or collection of SMS clients which return a status of 10070, or program failed due to the runtime being exceeded, use the following WQL (replace advertID with your advertisement ID): select stat.*, ins.*, att1.*, att1.AttributeTime from SMS_StatusMessageasstat left joinSMS_StatMsgInsStrings as ins on stat.RecordID = ins.RecordID left joinSMS_StatMsgAttributes as att1on stat.RecordID = att1.RecordID inner join SMS_StatMsgAttributes asatt2 onstat.RecordID = att2.RecordID where stat.ModuleName = "SMS Client" and stat.MessageID =10070 and att2.AttributeID = 401 and att2.AttributeValue = "advertID"

SMS "Program failed (run time exceeded)" 10070

When a program fails due to error 10070, it does so because the Run Time was Exceeded. SMS Allows a program to run for 12 hours, afterwhich it will issue the failed status message if the program hasn't completed successfully. Note: The Maximum allowed run time within program properties is generally a guide for users running the program themselves, and is not enforced.