You are browsing the archive for 2010 August.

ConfigMgr : Query builder Values box cannot display large item list

12:16 pm in AdminUi, ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007 by Kenny Buntinx [MVP]

This is still an old one , but I can imagine some admins are still freaking out when seeing this .

In Microsoft System Center Configuration Manager (SCCM) 2007 , when trying to build a query that contains add/remove programs , most of the times it does not gives you the complete list. To solve this , you need to do the steps below :

In Microsoft System Center Configuration Manager (SCCM) 2007, find the registry key below :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ConfigMgr\AdminUI\QueryProcessors\ValueLimit

ValueLimit is a registry entry under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ConfigMgr\AdminUI\QueryProcessors registry subkey.
ValueLimit should be a dword value. The value signifies how many items are returned when the user clicks the values button in the criterion dialog box. This is an optional value. The default value is 2000 if no key exists. If users want to override the default value, they can create the registry key.

 

Hope it Helps ,

Kenny

Configmgr Query : Not Installed Software & Subselect Query’s

8:48 am in AdminUi, ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007 by Kenny Buntinx [MVP]

Scenario :

You need to make a query where following items need to be taking into consideration :

  • Dot.net Framework 3.5SP1 is not installed or visible in add/remove programs
  • The machine needs to be a windows XP client
  • The machine must have a SCCM client installed

Problem :

Add Remove Programs / Display Name DOES NOT EQUAL "Microsoft .NET Framework 3.5 SP1" , gives me way to much records.
The problem that we are running into is that the query does not properly exclude the clients with .Net 3.5 SP1 because there are other programs on the Add Remove Programs list that aren’t .Net Framework 3.5 SP1. It simply does what you have been asking for.

Solution :

In Configmgr, you have to use a sub select query to accomplish this. To get the expected results you have to run one query that selects all computers that DO have .NET 3.5 SP1, then you run another query that gives you all of the computers that are NOT in the first query. This is called a subselect query. In my example we wanted all workstations without .NET 3.5 SP1.

Create a query  “All systems with .NET 3.5 SP1” query. This will be used by the subselect query later on.

******************************** Code *****************************************

select distinct SMS_R_System.ResourceId, SMS_R_System.Name from  SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "Microsoft .NET Framework 3.5 SP1"

******************************** Code End *****************************************

That query shows all computers that DO have .NET 3.5 SP1 installed. This will be used by the subselect query to not include those systems in the final results.

Create the Subselect Dynamic Collection Query that will filter out only those machine that do not have a  .Net 3.5 Framework Sp1 installed

******************************** Code *****************************************

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where SMS_R_System.ResourceId not in (select distinct SMS_R_System.ResourceId from  SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "Microsoft .NET Framework 3.5 SP1") and SMS_R_System.Client = 1 and SMS_R_System.OperatingSystemNameandVersion = "Microsoft Windows NT Workstation 5.1"

******************************** Code End *****************************************

Hope it Helps ,

 

Kenny Buntinx

Configmgr2007 : Change your packages source path after SCCM site migration with a script

6:39 am in AdminUi, ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Installation, migration, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007, script, SMS, Sms 2003 by Kenny Buntinx [MVP]

A few days ago , I explained in this blogpost “http://scug.be/blogs/sccm/archive/2010/08/10/configmgr-connecting-primary-child-sites-to-central-primary-parent-site-in-and-out-of-same-domain.aspx“ on how I was busy migrating one SCCM 2007 Primary site to another , because we wanted to start with a complete new environment (w2k8 x64) .As there is no supported direct upgrade path, I built an entire new SCCM server with SP2 -R2.I made it a child site of the existing SCCM primary site and let all the packages replicate.

After I solved a problem with locked padlocks on my packages in this blogpost :”http://scug.be/blogs/sccm/archive/2010/08/11/configmgr-locked-packages-after-sccm-site-migration-and-how-to-solve-it.aspx”, I needed to make sure that I would change all my old packages source paths ( a.e \\SCCM01\G$\src\<package folder> into my new package source paths (a.e \\Fileserver1\SCCMSRC\<package folder> that was residing on a DFS share .

To do that I needed a script , as doing +- 100 packages was a little to much work for a lazy admin :-)

I thought I had a great script from the site of Brian S. Tucker , as I used it already multiple times. It turned out that it was useless in this project as I needed to change not only the server name , but the complete path.

Script 1 : If you only need to change the server name in the package source path. Otherwise use my script “script 2” in the section under “script 1” below .

Copy code below this line—————————————————

Dim oWbemServices
If UCase(Right(Wscript.FullName, 11)) = "WSCRIPT.EXE" Then
    Wscript.Echo "This script must be run under CScript."
    Wscript.Quit
End If
If WScript.Arguments.Count <> 1 Then
    WScript.Echo "Wrong number of arguments were passed."
    WScript.Quit
End If
CONNSCCM()

For Each oPackage In oWbemServices.execquery("select * from sms_package")
  sOldPathString = oPackage.pkgsourcepath
  If InStr(sOldPathString,"\\") Then
                iStart = InStr(3,sOldPathString,"\")
                sNewPathString = Right(sOldPathString,(LEN(sOldPathString)-iStart))
                sNewPathString = "\\" & WScript.Arguments(0) & "\" & sNewPathString
                WScript.Echo "Setting Package Path for " & oPackage.Name & " from " & sOldPathString & " to " &  sNewPathString
                oPackage.pkgsourcepath = sNewPathString
                oPackage.put_
  End If
Next

WScript.Echo "Done"

Sub CONNSCCM()
  Set oWbemLocator = CreateObject("WbemScripting.SWbemLocator")
  Set oWbemServices = oWbemLocator.ConnectServer(".", "root\sms")
  Set oSCCMProvLoc = oWbemServices.InstancesOf("SMS_ProviderLocation")

  For Each oLoc In oSCCMProvLoc
        If oLoc.ProviderForLocalSite = True Then
            Set oWbemServices = oWbemLocator.ConnectServer(oLoc.Machine, "root\sms\site_" + oLoc.SiteCode)
        End If
  Next
End Sub

Copy code above this line—————————————————

Thanks to my fellow Belgium MVP ”Kim Oppalfens” , I was able to alter the above script to my needs and change the complete source path , except for the package source folder .

Script 2 : If you need to change the complete package source path , except the package folder name.

Copy code below this line—————————————————

on error resume next
Dim oWbemServices
Set fs = CreateObject ("Scripting.FileSystemObject")
Set logFile = fs.CreateTextFile ("pkg_log.csv")
CONNSCCM()

For Each oPackage In oWbemServices.execquery("select * from sms_package")
  sOldPathString = oPackage.pkgsourcepath
  If InStr(sOldPathString,"\\") Then 
  arrsrcPath = Split( soldPathString, "\")
  snewpathString = "\\Fileserver1\sccmsrc\" & arrsrcPath(Ubound(ArrSrcPath)-0)

                logFile.Write "Setting Package Path for " & oPackage.Name & " from " & sOldPathString & " to " &  sNewPathString
                logFile.WriteLine ""
                oPackage.pkgsourcepath = sNewPathString
                oPackage.put_
  End If
Next

WScript.Echo "Done"

Sub CONNSCCM()
  Set oWbemLocator = CreateObject("WbemScripting.SWbemLocator")
  Set oWbemServices = oWbemLocator.ConnectServer(".", "root\sms")
  Set oSCCMProvLoc = oWbemServices.InstancesOf("SMS_ProviderLocation")

  For Each oLoc In oSCCMProvLoc
        If oLoc.ProviderForLocalSite = True Then
            Set oWbemServices = oWbemLocator.ConnectServer(oLoc.Machine, "root\sms\site_" + oLoc.SiteCode)
        End If
  Next
End Sub

 

Copy code above this line—————————————————

 

Hope it helps ,

 

Kenny Buntinx

Configmgr : Locked Packages after SCCM site migration and how to solve it

7:37 am in ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, migration, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007 by Kenny Buntinx [MVP]

Background

Yesterday , I explained in this blogpost “http://scug.be/blogs/sccm/archive/2010/08/10/configmgr-connecting-primary-child-sites-to-central-primary-parent-site-in-and-out-of-same-domain.aspx“ on how I was busy migrating one SCCM 2007 Primary site to another , because we wanted to start with a complete new environment (w2k8 x64) .As there is no supported direct upgrade path, I built an entire new SCCM server with SP2 -R2.I made it a child site of the existing SCCM primary site and let all the packages replicate.

After that I broke the parent/child relationship. My old SCCM site code was UZA, and the new SCCM site name APL.

The Problem

Of all the 180 packages that came across, there was 1 package that still had a padlock on it , suggesting they it was still under the control of the parent site. 

Because of the locked package, I cannot delete or modify  it , delete the distribution point(s) or  change settings.

 

SNAG-0090

 

The Solution

This is the solution I figured out , but be aware that editing the DB directly is NOT supported. Use at your own risk.

1.You need to change the SourceSite for the PackageID in the SMSPackages table. Open up your SQL Management Studio and connect to your SCCM DB.
   Run the following query : “SELECT * FROM SMSPackages WHERE SourceSite <> ‘your_new_site_code’“ where in my case the query would be “SELECT * FROM SMSPackages WHERE SourceSite <> ‘APL’“

SNAG-0091

2. You should see a list of packages that are still under control of your old site. Then you need to update them to the new site code by running the following query :
    UPDATE SMSPackages SET SourceSite = ‘your_new_site_code’ where SourceSite = ‘your_old_site_code’ where in my case the query would be “UPDATE SMSPackages SET SourceSite = ‘APL’= ‘UZA’”

SNAG-0092

3. I’ve refreshed my package, and the padlock was unlocked shortly

SNAG-0093 

 

Hope it Helps ,

 

Kenny Buntinx

Configmgr : Connecting Primary Child Sites To Central Primary parent site in and out of same domain

1:45 pm in Asset intelligence, ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Installation, migration, R3, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007, script by Kenny Buntinx [MVP]

Today I was at a customer doing a migration from a Configmgr 2007 with site code APL to a new Configmgr 2007 site with site code ICT. I couldn’t get my new Configmgr site with Site code ICT attached to the central primary. The button for “ set parent site “ was grayed out. I hereby give you my checklist I followed to discover the error . I was stuck for an hour before I realized what was going on .

 

So here are my tips for troubleshooting it :

 

  1. Install your new SCCM 2007 SP(X) as a new primary server to match what you currently have as a SMS 2007 SP(X) Central Primary. Service Pack levels are important and must be thesame !! Releases however could be different ( one could have R2 and the other can be without R2 ).
  2. Add the Server$ account name to the local admin group on each server and give the new server permission as required on the System container in AD.
  3. Make sure that your AD schema is extended.
  4. Check the following settings are enabled (from Advanced tab in site properties) :
  5. · Publish this site in Active Directory Domain Services

    · Require secure key exchange between sites

  6. If these sites are NOT configured with these options ,then you should manually exchange the public keys :
  7. To manually transfer the child site public key to the parent site

    1. While logged on to the child site, open a command prompt and navigate to the location of Preinst.exe.

    2. Run the following command to export the child site’s public key: Preinst /keyforparent

    3. The Preinst /keyforparent command places the public key of the child site in the <site code>.CT4 file located at the root of the system drive.

    4. Move the <site code>.CT4 file to the parent site’s <install directory>\inboxes\hman.box directory.

    To manually transfer the parent site public key to the child site

    1. While logged on to the parent site, open a command prompt and navigate to the location of Preinst.exe.

    2. Run the following command to export the parent site’s public key: Preinst /keyforchild.

    3. The Preinst /keyforchild command places the public key of the parent site in the <site code>.CT5 file located at the root of the system drive.

    4. Move the <site code>.CT5 file to the <install directory>\inboxes\hman.box directory on the child site

  8. On the primary site server, Add the central site server computer account to the local Site to Site connection group Ex. SMS_SiteToSiteConnection_ICT. Then on the central site server, Add the primary site server computer account to the local Site to Site connection group Ex. SMS_SiteToSiteConnection_APL.
  9. And last but not least : If that button “ set parent site “ ïs grayed out , Make sure that there isn’t any Asset intelligence synch point installed on you Primary Child site installed . I was way to quick and was reading over it , as I was thinking that something else was wrong . Dumb Dumb .

 

After removing the AIS point in my hierarchy , the button finally came available .

 

Hope it Helps ,

 

Kenny Buntinx

Configuration Manager 2007 R3 RC Update now available

5:48 pm in ConfigMgr, ConfigMgr 2007, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Power Management, R3, sccm, SCCM 2007, SCCM 2007 R3, SCCM 2007 SP2, sccm2007 by Kenny Buntinx [MVP]

Hi SCCM guys & Girls,

I just wanted to let you know that the Release Candidate for ConfigMgr 2007 R3 was been signed off. 

The update is now available through the Connect Beta Program on https://connect.microsoft.com 

RTM is getting closer !

What’s changed/added in the R3 Release Candidate ? :

  • Changes in Power Computer Activity Report flow which helps admin to better understand trends between computer and user activity and associated drilldowns
  • New report Power Insomnia Report which reports most common insomnia reasons based on number of machines impacted for Vista/Win7 machines not sleeping
  • New report Power Computer Details Report to view all power data for a specific machine (plans applied, capability, inventory..)
  • Admin console improvements

Soon I will write a small blog post on how to go from Beta1 to RC , so have a look in a few days .

 

Hope it Helps ,

Kenny Buntinx

Managing Internet based Configuration Manager clients using Direct Access

7:08 pm in ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, DirectAccess, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007 by Kenny Buntinx [MVP]

Steve Rachui published another great post over on his blog, this time about using the Windows Server 2008 R2 Direct Access feature to manage Internet based clients of System Center Configuration Manager 2007:

"Do you have internet based clients that you want to manage?  Does the idea of switching to SCCM native mode to manage those client make you nervous?  Do you have Windows 2008 R2 servers in your environment and are the internet systems you want to manage running Windows 7 (Enterprise or Ultimate) or Windows Server 2008 R2?  If you said yes to all of these questions then you might just be interested in taking a look at Direct Access (DA)."

To read Steve’s excellent blog post see the following link:

http://blogs.msdn.com/b/steverac/archive/2010/07/31/direct-access-sccm-managing-internet-clients.aspx

 

Hope it helps ,

Kenny Buntinx