You are browsing the archive for 2010 November.

Fixing the statview 100% cpu issue on Windows Server 2008

11:35 am in Uncategorized by Kenny Buntinx [MVP]

Quite a few people have been hit by an issue where statview.exe, or the status message viewer in ConfigMgr2007 is taking 99 or 100% cpu and is taking a long time before displaying the status messages. The general fix for this has been to open the taskmanager and to set the process priority of the Sccm statview.exe to “Below Normal”.

Below you’ll find a script to set the status of these processes by vbscript. (Vbscript gladly re-used, with very minor modifications from this blog from the scripting guys, credit where credit is due, thanks guys.)


 

Now, the script is nice in and by itself, but still requires you to run it every time you open the status message viewer. That’s where WmiEventing comes in, lets just create a scripteventconsumer that modifies the process priority each time it is launched.


 

The ActiveScriptEventConsumer

The active script event consumer allows you do define a filter, where we filter on process creations using the __instancecreationevent class.

In here we filter on processes named statview.exe.

Subsequently, we create an activescripteventconsumer,  that embeds the above script from the scripting guys.

Lastly we bind the filter to the activescripteventconsumer.

Below, you’ll find the mof to have this implemented, just compile on any machine that has the ConfigMgr admin console by running Mofcomp -Autorecover statviewfix.mof

You can download the mof file here: http://cid-2c4ac2127eae73d5.office.live.com/self.aspx/Public/bloglinks/statviewfix.mof


 

#pragma autorecover

#pragma namespace (“\\\\.\\root\\subscription”)


 


 

instance of ActiveScriptEventConsumer as $Cons

{

Name = “StatviewFix”;

ScriptingEngine = “VBScript”;


 

ScriptText = “Const BELOW_NORMAL = 16384\n\n”

“Set objWMIService = GetObject(\”winmgmts:\\\\.\\root\\cimv2\”)\n\n”

“Set colProcesses = objWMIService.ExecQuery(\”Select * from Win32_Process Where Name = ‘statview.exe’\”)\n”

“For Each objProcess in colProcesses\n”

“\t objProcess.SetPriority(BELOW_NORMAL) \n”

“Next”;

};


 


 

instance of __EventFilter as $Filt

{

Name = “EF”;

EventNamespace = “\\\\domc02\\Root\\Cimv2″;

Query = “SELECT * FROM __InstanceCreationEvent WITHIN 2 “

“WHERE TargetInstance ISA \”Win32_Process\” “

“AND TargetInstance.Name = \”statview.exe\””;

QueryLanguage = “WQL”;

};


 

instance of __FilterToConsumerBinding

{

Filter = $Filt;

Consumer = $Cons;

};


 


 

Const BELOW_NORMAL = 16384

strComputer = “.”

Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2″)


 

Set colProcesses = objWMIService.ExecQuery (“Select * from Win32_Process Where Name = ‘statview.exe'”)

For
Each objProcess in colProcesses

objProcess.SetPriority(BELOW_NORMAL)

Next


 


 


 

Enjoy the dive into the Dark Magic of WMI.

“The M in WMI stands for Magic”
Kim Oppalfens – Sms Expert for lack of any other expertise
Windows Server System MVP – SMS
http://www.scug.be/blogs/sccm/default.aspx

http://www.linkedin.com/in/kimoppalfens

http://twitter.com/thewmiguy


 

del.icio.us Tags: SCCM,ConfigMgr,Wmi Eventing

Technorati Tags: SCCM,ConfigMgr,Wmi Eventing

Belgian System Center Day : ConfigMgr R3 – Lessons learned from the field Presentation online

8:39 pm in Belgian System Center Day, ConfigMgr, ConfigMgr 2007, configmgr2007, ConfigMgr2007 R3, R3, sccm, SCCM 2007 R3 by Kenny Buntinx [MVP]

Hi there ,

I have recently deployed Configuration Manager 2007 RTM in production at my TAP customer. Those who attended my Presentation at the Belgian System Center Day “http://scug.be/blogs/sccm/archive/2010/09/30/announcement-system-center-day-in-belgium.aspx” have seen already the best practices & lessons learned .

 

clip_image001

 

I want to thank everyone that has attended our event as it was a great success.

The presentation and the links to the recordings could be viewed by clicking on the following link below :

 

kennyscug

 

http://technet.microsoft.com/nl-nl/edge/system-center-day-configuration-manager-r3-lessons-learned-from-the-field.aspx

 

Hope it Helps ,

 

Kenny Buntinx

Softgrid 4.1 migration towards ConfigMgr with App-V 4.6 Integration : The story of automation , Part 4.

11:20 am in ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Deployment, Installation, migration, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007, SQL by Kenny Buntinx [MVP]

Today , I will continue explaining my little migration project to migrate away from a standalone Softgrid 4.1 infrastructure towards a fully integrated SCCM2007 SP R2 App-V 4.6 infrastructure . You can read my previous posts right here :

 

Below I will discuss the migration scenario once more in a few bullet points to migrate away from the Softgrid 4.1 standalone environment :

1. Deploy the new app-V 4.6 clients on all workstations and check for inconsistencies (luckily all packages where sequenced with 4.2) DONE in Part 1.

2. Pull all existing Softgrid 4.2 sequenced packages thru the new App-V 4.6 Sequencer to avoid any complications. DONE in Part 1.

3. Import all packages into ConfigMgr 2007 SP2 R2 DONE in Part 1.

4. Create all necessary collections and create a dynamic membership query with a AD group name. Partially explained in Part 2 , DONE in Part 3.

5. Create all the necessary advertisements.

6. Switch over from Softgrid standalone to Configmgr 2007 R2 SP2. (Think about network impact !)

 

So that will leave us to creating all the necessary advertisments (remember 400 Pieces) between the virtual Packages and the necessary collections.

As explained in Part 3, we have created a CSV file with all the necessary information as APP-V package Name , ResourceID & Collection Names. Now we need to add the PackageID , Advertisement Name and CollectionID to the CSV file  ( you can extract that kind of information out of your SQL DB (dbo.v_Package & dbo.v_collections)

image

Figure 1: The modified CSV file added with PackageID, Advertisement Name, CollectionID

Once the CSV file is filled up with the necessary data , we can start working on the script to create those advertisements based on that Csv file , as we need the PackageID , CollectionID and Advertisment Name tables to make it work .

Below I will post the VBS code to read out the csv file and create all advertisements :


 

Stay tuned for Part 5 very soon talking about the actual switch over from Softgrid standalone to Configmgr 2007 R2 SP2. ….

 

Hope it Helps ,

Kenny Buntinx

Softgrid 4.1 migration towards ConfigMgr with App-V 4.6 Integration : The story of automation , Part 3.

10:41 am in App-V, AppV, ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Deployment, migration, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007, script, Softgrid by Kenny Buntinx [MVP]

Today , I will continue explaining my little migration project to migrate away from a standalone Softgrid 4.1 infrastrucure towards a fully integrated SCCM2007 SP R2 App-V 4.6 infrastructure . You can read my previous posts right here :

 

Below I will discuss the migration scenario once more in a few bullet points to migrate away from the Softgrid 4.1 standalone environment :

1. Deploy the new app-V 4.6 clients on all workstations and check for inconsistencies (luckily all packages where sequenced with 4.2) DONE in Part 1

2. Pull all existing Softgrid 4.2 sequenced packages thru the new App-V 4.6 Sequencer to avoid any complications. DONE in Part 1

3. Import all packages into ConfigMgr 2007 SP2 R2 DONE in Part 1

4. Create all necessary collections and create a dynamic membership query with a AD group name. Partially explained in Part 2 , continued in this section.

5. Create all the necessary advertisements.

6. Switch over from Softgrid standalone to Configmgr 2007 R2 SP2. (Think about network impact !)

 

So that will leave us to creating all the necessary collections (remember 400 Pieces) and their lovely 400 AD Group Memberships as this was how the Softgrid environment worked (User Group Based) before.

As explained in Part 2, I tried to figure out a way to translate those GUID values into human readable format. It must be possible to read out the AD values with ADSIedit , but as I am not the biggest expert in scripting , it would cost me too much time and so I did it manually (monkey work).

To accomplish Part 3, you will need to pull out of SQL a *.csv file with all your Security group names and resource id’s as shown below .

clip_image001

Figure 1: This is how SCCM stores their security group information in the SQL db ( ResourceID/SecurityGroup)

Then merge the security group information from Softgrid into the excel. When done you should get something like shown below:

 

clip_image003

Figure 2: CSV file with all the necessary information as APP-V package Name , ResourceID & Collection Name

Now we start working on the script to create those collections based on the Csv file , as we need the ResourceID to and CollectionName tables to make it work .

Below I will post the VBS code to read out the csv file and create all collections with all the Security Groups as direct member :

 


 

Stay tuned for Part 4 very soon ….

 

Hope it Helps ,

Kenny Buntinx

ConfigMgr 2007 : PXE Cache Behavior

9:02 am in ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Deployment, OSD, PXE, R3, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007 by Kenny Buntinx [MVP]

Config Mgr OS deployments when using PXE boot , you’ve probably had machines that did not want to boot the task sequence as it stated “No task sequence found, booting onto the hard drive”.

This is most likely due to a previous task sequence being advertised to that machine. By default ConfigMgr will cache the PXE advertisement for 60 minutes (Default setting) and then it will expire. Most of the time you can speed up things when restarting the WDS services. Restarting the WDS services ( clearing the cache) isn’t the best solution. In ConfigMgr SP2 the cache expiry can be set in the registry.

  • On an x86 machine the located under:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\PXE
  • On an x64 machine the registry key is under:
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SMS\PXE

Create a new DWORD value CacheExpire, and set the desired value in seconds. For example, if you prefer the cache expired in 2 minutes, set the value to 120. If the value is set to 0, then the default 60 minutes value is used.

Note: Setting the value in CacheExpire is only supported in ConfigMgr 2007 SP2.

Be careful if you have R2 installed and unknown computer support enabled because if you set the cache expire value too low and you are using a mandatory task sequence your machine will continuously start the same task sequence every time it reboots.

 

Hope it Helps ,

Kenny Buntinx

ConfigMgr v.Next = ConfigMgr 2012

12:33 pm in ConfigMgr 2012, ConfigMgr V.next, SCCM 2012, SCCM v.Next by Kenny Buntinx [MVP]

A bit late maybe , but as expected, the name for the next release of ConfigMgr, will be System Center Configuration Manager 2012.

This was announced during TechEd Europe @ Berlin. The product is currently in Beta 1. Beta 2 is expected be released around H1 2011.

 

Hope it Helps ,

Kenny Buntinx

SCCM OSD issue with Win7 x86x64 bit deployment : Error 31

10:12 am in ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr Dashboards, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Deployment, Error 31, OSD, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, sccm2007, Windows 7 by Kenny Buntinx [MVP]

Hi,

I was deploying a windows 7 32/64 bit, at a customer but during the step “setup windows and Configmgr” it fails with the following error :

Windows setup failed, code 31

Failed to run the action: Setup Windows and ConfigMgr.
Unspecified error (Error: 80004005; Source: Windows)

Looking further in the SMSTS.log it looks like :

——SMSTSLog—–

Command line for extension .EXE is "%1" %*    OSDSetupWindows    4/29/2010 7:45:19 PM    1576 (0x0628)
Set command line: "\\<yourSCCMServer>\SMSPKGE$\ABC00014\SOURCES\SETUP.EXE" "/unattend:C:\_SMSTaskSequence\unattend.xml" /noreboot    OSDSetupWindows    4/29/2010 7:45:19 PM    1576 (0x0628)
Executing command line: "\\<yourSCCMServer>\SMSPKGE$\ABC00014\SOURCES\SETUP.EXE" "/unattend:C:\_SMSTaskSequence\unattend.xml" /noreboot    OSDSetupWindows    4/29/2010 7:45:19 PM    1576 (0x0628)
Process completed with exit code 31    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
Windows Setup completed with exit code 31    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
Entering ReleaseSource() for \\<yourSCCMServer>\SMSPKGE$\ABC00014\    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
reference count 1 for the source \\<yourSCCMServer>\SMSPKGE$\ABC00014\ before releasing    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
Released the resolved source \\<yourSCCMServer>\SMSPKGE$\ABC00014\    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
exitCode == 0, HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,440)    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
Windows setup failed, code 31    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
setup.run(), HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,1707)    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
Exiting with code 0x80004005    OSDSetupWindows    4/29/2010 7:45:34 PM    1576 (0x0628)
Process completed with exit code 2147500037    TSManager    4/29/2010 7:45:34 PM    1384 (0x0568)

——SMSTSLog—–

This error (error 31) could have multiple causes in my environment as described into a previous blog post , see http://scug.be/blogs/sccm/archive/2010/10/28/sccm-osd-issue-with-win7-x64-bit-deployment-on-hp-8740w.aspx.

In my particular case , it worked before and now suddenly it didn’t anymore . The only thing I did , was changing my advertisment to another collection. Now that I know my root cause , lets investigate.

Oh , I am using variables in my unattended.xml file to define my different Keyboard settings as described in one of my previous blog posts ( http://scug.be/blogs/sccm/archive/2010/02/02/sccm-windows-7-deployments-amp-unattended-xml.aspx ) . Did I define them on my new collection ? … Damn , No I didn’t …

Solution : After some testing it became clear that the solution was the following “Define my Collection Variables as shown below !”

I

n order to use the unattended.xml that where containing the variables for the regional , keyboard , etc settings as shown below we need to assign some variables to our collection first.

image

 

On your collection , you add collection variables as shown in the picture below. This gives you the flexibility to create multiple collections with different keyboard layouts , if you for example are a international company.

It now works back like a charm .

Hope it Helps ,

Kenny Buntinx

Forefront Endpoint Protection 2010 : RC available today

7:28 am in FEP, FEP2010, ForeFront by Kenny Buntinx [MVP]

The Release Candidate of Forefront Endpoint Protection (FEP) 2010 shipped today and is now available for download here.  FEP was built on Configuration Manager 2007 (R2 and R3 supported), so anyone with Configuration Manager deployed now has the unique ability to deliver desktop security on your existing infrastructure.  That means you’ll have:

– A single console to manage health and protection of user systems

– One server infrastructure to maintain

– A single mechanism to deploy software and updates to clients

– Central policy implementation for security and management

– A single solution that desktop administrators need to be trained on, regardless of role

 

As an added plus, FEP will even detect and remove the most common client antimalware agents currently residing on your current systems to streamline deployment.

Give it a spin and try it out ( we do in TAP ) …

 

Hope it Helps,

Kenny Buntinx

SCCM R3 : Power Management In Practice (Lessons Learned)

6:56 am in ConfigMgr, ConfigMgr 2007, ConfigMgr SP2, configmgr2007, ConfigMgr2007 R3, Deployment, Power Management, R3, sccm, SCCM 2007 R3, sccm2007, Windows 7 by Kenny Buntinx [MVP]

Hi there ,

I have recently deployed Configuration Manager 2007 RTM in production at my TAP customer. Those who attended yesterday my Presentation at the Belgian System Center Day “http://scug.be/blogs/sccm/archive/2010/09/30/announcement-system-center-day-in-belgium.aspx” have seen already the best practices & lessons learned .

I want to thank everyone that has attended our event as it was a great success. The presentations and the links to the recordings will be uploaded very soon , but for those who cannot wait , I’ll post a few teasers below :

 

  • Communication and User Preparation :

We created a communication plan that supported two main objectives:

Drive awareness : Client power management can reduce client computer power consumption, which in turn reduces both the carbon footprint and operational expenses.

Allow users adequate time to decline participation in the program, prior to enforcement:

–Established a four-week period between initial communications and the enforcement of the power management settings.

–Clear communication about the program, the extent of impact, and a link to a process to decline participation were critical to the success of the program. Even though the majority of users would perceive little or no impact, it was key that they reach the few that might.

  • Operational remarks :

 

    • You must Reboot the computer after installing the power mgmt. hotfix.
    • If you create your own Package/Program to install the hotfix, you must select: The program restarts the computer setting, even though the hotfix DOES NOT reboot the computer.
    • If you want to install the power mgmt hotfix during a task sequence for new computers, select “Continue on error”. Put it as the last step of the task sequence.
    • A computer requires an active keyboard/mouse, otherwise it might not go to sleep at all. Mostly this affects KVMs, but we had few examples where a computer is only used remotely (no KVM or a mouse/keyboard) & they don’t fall a sleep.
    • The basic principle: get rid of all your XP machines!
    • Windows XP machines could been switched on for too long. There are multiple processes that can block sleeping!
    • Use correct drivers. Especially display drivers. Fortunately (Vista and higher), R3 report nicely shows those problem machines.
    • It could be very difficult to pinpoint what is the culprit of machines that will not sleep. It could be a client/server app , a remoteApp (TS connection , Citrix , etc ). Regular rebooting helps the situation!
    • Change currency symbol in your reports from $ to €.
    • The following (non limited list) could cause sleeping issues on windows XP or other machines :
    • •Anti Virus scanner

      •Video Card Drivers

      •Report on “Standard VGA Graphics Adapter”

      •Report on “Video Controller”

      •Report on “Video Controller (VGA Compatible)”

      •Check at vendor if Video card supports S3/S4 principle (white brand desktop)

      •Capable hardware with power management features disabled in BIOS ( S3/S4 )

      •HW BIOS version ( Put them on the same level )

 

These lessons learned sections has been build up by sharing our own experiences at our TAP Customers. Thanks to Panu Saukko (MVP) for also sharing his experiences during his TAP assignment with me.

 

Hope it Helps ,

Kenny Buntinx