CCMEXEC.COM – System Center blog

CCMEXEC.COM – by Jörgen Nilsson

Browsing Posts published in March, 2011

The support statement for Configuration Manager 2007 is released that it now supports Windows 7 SP1 and Windows 2008 r2 SP1

The following software update is required to add Windows 7 SP1 and Windows Server 2008 R2 SP1 to the Supported Platforms list:

  • KB 2489044 – Update rollup for System Center Configuration Manager 2007 SP2 to add support for Windows Server 2008 R2 SP1 and Windows 7 SP1 clients
  • KB 977203 – User state migration is unsuccessful on a SCCM 2007 SP1 client or on a SCCM 2007 SP2 client

Microsoft Application Virtualization 4.6 SP1 is now supported on Configuration Manager 2007 R2 with Configuration Manager 2007 SP2 is now supported.

System Center Configuration Manager SP2, R2 and R3 now supports WinPE 3.1.

Steps to upgrade to WinPE 3.1 within the existing Configuration Manager Environment and known limitations with Win PE 3.1 can be found here http://blogs.technet.com/b/configmgrteam/archive/2011/03/24/configuration-manager-2007-sp2-and-windows-pe-3-1.aspx 

Checkout the whole supported statement here: http://blogs.technet.com/b/configmgrteam/archive/2011/03/24/configuration-manager-support-announcements-for-march-2011.aspx

Call to Action!

Microsoft needs our feedback on the upcoming 70-243 & 70-242 certification exams that will cover System Center Configuration Manager 2012 and System Center Operations Manager 2012. Wouldn’t it be great with two tests per product? one for day-to-day admins and one for IT-Pros?

Tell Microsoft your opinion using this 5 question survey for each upcoming test which can be answered on here: http://borntolearn.mslearn.net/btl/b/weblog/archive/2011/03/24/system-center-folks-we-need-your-input.aspx

Garth Jones published a list with examples for items to be included, the following list is examples of topics:

  • Create a basic app model
  • Create a basic SSRS report
  • Create a collection
  • Create a task sequence
  • Deploy Win 7 (OSD)
  • How to create Software Metering Rules
  • How to deploy SU
  • How to setup Power Management
  • How to troubleshoot client deployment issues
  • How to use AI
  • How to use DCM
  • How to use NAP
  • How to use Remote control ( and what is new with RC!)
  • Mobile support
  • Name all the feature and what they do
  • Set client setting via a collection
  • Setup up RAC
  • Understand all the site roles and what they do.
  • Use the help file or Superflows (Yes this is important! It is surprising how many people don’t RTFM)
  • What is OBB and what does it do
  • What is WOL and what does it do

The complete blog post published by Garth Jones a few days ago about this survey can be found here: http://smsug.ca/blogs/garth_jones/archive/2011/03/25/70-243-amp-70-242-call-to-action.aspx

Thanks Garth for putting together the list and making the community aware of it.

During today’s keynote the announcement we all were waiting for was made – System Center Configuration Manager 2012 Beta 2 available for download now!

Beta 2 is also feature-complete which means that all features which will ship in the finished product are now in there. I can’t wait to start playing with it. I encourage everyone to download it and start testing it so you can start thinking about the possibilities and challenges your organization or customers will have when moving to Configuration Manager 2012. It truly is a major technology change compared to Configuration Manager 2007.

The second announcement is that System Center Configuration Manager 2012 can now manage settings on IPAD, Iphone and Android devices! One Console will rule them all.

Forefront Endpoint Protection 2010 is now a part of the Core CAL. So for all of us that have purchased the Core CAL are licensed to use FEP 2010 as well which integrates in Configuration Manager 2007 today. A new version of FEP 2012 which will integrate with Configuration Manager 2012 will be released within 90 days of the release of SCCM 2012.

Microsoft Bitlocker Administration and Monitoring, will give us a toolset for Bitlocker. It will ship as part of MDOP and is available in Beta today.

Windows Intune is now released, client management in the Cloud.

The Keynote was full of great demos of really cool new features in Configuration Manager 2012. The roadmap for all System Center products was announced as well. It is a great experience attending, thank you Microsoft for a great event!

keynote1

SCCM 2012 will support managing Unix/Linux

During the “Configuration Manager – State of the union” breakout session which as always is a highlight at MMS, a Super-secret announcement was made that it is now official that Configuration Manager 2012 will support managing Unix/Linux.

The focus is to manage the server side of Unix/Linux not the desktop systems.
Configuration Manager 2012 will support the same platforms as Operations Manager supports today.

They are:

  • Red Hat
  • SUSE
  • Solaris
  • HP-UX, AIX

This will align System Center Configuration Manager 2012 with the support provided for Unix/Linux as in Operations Manager 2007 R2 and will fill that gap in the area of system management in the cloud.

Fantastic!

Today I had the great opportunity to attend the MMS 2011 Keynote delivered by Brad Anderson, let me tell you it was great!
Thanks Brad for a great keynote!

The clear message is that the cloud is all about the applications, quote:  “It’s all about the apps!”
The definition for cloud management was explained where System Center will fill a major role where self-service which probably is the most important part if you ask me, as it is the user experience for the service consumer.Cloud2

A short summary of the highlights if the keynote and demos:

  • System Center Opalis changes name to System Center Orchestrator
  • System Center Project Codename “Concero” – Self-service for the cloud service consumers.
    Makes it possible to manage both services and virtual machines in the cloud in a web browser with great performance and possibilities.
  • System Center Virtual Machine Manager 2012 Beta
    New great interface for managing clouds and support for Xenserver
  • System Center Operations Manager 2012 Beta
    New great network monitoring functionality for monitoring the services in the cloud including network problems.
  • System Center Advisor – RC available today!
    System Center Advisor will provide Best Practice configuration for customer configurations through the cloud. IT will make troubleshooting so much easier through ongoing configuration assessment, so Cool!
    You can track configuration changes for instance if an admin make a change you can track it back with System Center Advisor.
    Be sure to check it out!
  • Server App-V together with Virtual Machine Manager 2012 will be really powerful, making it possible to virtualize the server applications which will reduce the number of templates needed to be maintained in VMM.
  • Avicode – Fantastic application performance monitoring and troubleshooting, integrating with Operations Manager 2012

 

I strongly recommend that you check out the keynote, when it is available I will post the link here: http://www.microsoft.com/presspass/presskits/cloud/videoGallery.aspx

When reinstalling a computer which is already present in Configuration Manager 2007 it sometime obsolete the existing client record specially when reinstalling it using PXE boot. When I wanted to use Direct Membership only in a project instead of using AD-groups for instance for targeting this became a major issue.

I then found this excellent script which merge conflicting records in SCCM it can be found here: http://kristianfthomsen.spaces.live.com/blog/cns!59A30145A64F8A9F!156.entry?wa=wsignin1.0

As the site has been down the script can be downloaded here: http://ccmexec.com/wp-content/uploads/2011/04/merge.vbs.txt

The blog post tells to schedule it as a schedule task, but I love status filter rules, it is amazing what you can do with them, so I created a status filter rule which will trigger the script as soon as a duplicate record is created.
The status filter rule looks like this: MergeRecords

The only negative with this solution is that the advertisement history for the client is kept after a reinstallation which can be a bit confusing sometimes.

If you want to implement the script as a status filter rule, these are the steps:

  1. Download the script and place it in a folder on the Primary Site server in this example: “E:\sccmtools”
  2. Change the site settings to “Manually resolve conflicting records” under the Advanced tab in site properties in the SCCM Console.
    MergeRecords2
  3. Create a new status filter rule with the following properties as displayed earlier:
    Component : SMS_DISCOVERY_DATA_MANAGER
    Message ID: 2642
  4. And on the next page select that it should “Run a Program” :  “cscript.exe E:\SCCMtools\merge.vbs”
    MergeRecords3

Then you will not have any obsolete records in your SCCM site anymore.

ServerManagerCmd -i Web-Server
ServerManagerCmd -i Web-Asp-Net
ServerManagerCmd -i Web-ASP
ServerManagerCmd -i Web-Windows-Auth
ServerManagerCMd -i Web-WMI
ServerManagerCmd -i Web-Mgmt-Compat
ServerManagerCmd -i Web-DAV-Publishing
ServerManagerCmd -i Application-Server
ServerManagerCmd -i BITS
ServerManagerCmd -i RDC
ServerManagerCmd -i WDS
ServerManagerCmd -i FS-Fileserver
%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /enabled:true /commit:apphost
%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost
%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowAnonymousPropfind:true /commit:apphost
%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowcustomproperties:false /commit:apphost
%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowInfinitePropfindDepth:true /commit:apphost
%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoringRules /+[users='*',path='*',access='Read'] /commit:apphost

After the last Configuration Manager 2007 installation I was tired of installing all the prerequisites so I thought I would solve it once and for all by finally complete the script for installation of the prerequisites. It has saved me a lot of time included the WebDAV configuration aswell today, I hope it will help more than me.

Installing WSUS however is not supported through ServerManagerCmd in Windows 2008 R2, so this is the only thing I install manually.The rest of the pre-requirements however was no problem on a Windows 2008 R2 server.

The cmd file below will install the following:

  • IIS with the necessary role services
  • BITS
  • Remote differential compression
  • .Net framework
  • WDS
  • WebDAV including the configuration of authoring rules and settings.

Here is how to use it:

  1. Copy the text below and save in a .cmd file
  2. Launch a Command Prompt using the “Run as Administrator” option.
  3. Execute the .cmd file

———————————————–

ServerManagerCmd -i Web-Server
ServerManagerCmd -i Web-Asp-Net
ServerManagerCmd -i Web-ASP
ServerManagerCmd -i Web-Windows-Auth
ServerManagerCMd -i Web-WMI
ServerManagerCmd -i Web-Mgmt-Compat
ServerManagerCmd -i Web-DAV-Publishing
ServerManagerCmd -i Application-Server
ServerManagerCmd -i BITS
ServerManagerCmd -i RDC
ServerManagerCmd -i WDS
ServerManagerCmd -i FS-Fileserver

%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost

%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowAnonymousPropfind:true /commit:apphost

%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowcustomproperties:false /commit:apphost

%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowInfinitePropfindDepth:true /commit:apphost

%windir%\system32\inetsrv\AppCmd set config “Default Web Site/” /section:system.webServer/webdav/authoringRules /+[users='*',path='*',access='Read'] /commit:apphost

Last week I got an idea that it must be possible to add a newly created software distribution package to distribution points automatically. I thought that using a status filter rule to trigger a script which will add the package to distribution points should be no problem. Status filter rules are awesome!

However I ran into some challenges on the way to getting it to work:

  • SMSPXEIMAGES$ should not be added as a distribution point
  • I didn’t want Driver Packages, Software Updates and OS Images to be added automatically
  • And if the package don’t contain source files it should not be added
  • The script has a debug option to write an event in the event-log with the packageID and how many Distributions Points were added.

The script can be downloaded here: http://ccmexec.com/wp-content/uploads/2011/03/addtoDp.txt

It is also posted in the bottom of this page.

These steps describes how to implement the script:

  1. Download the script or copy the text to notepad and save it as “AddtoDP.vbs” in for instance “E:\SCCMTools” or a folder of your choice.
  2. In the SCCM Console create a new status filter rule under Site Management/Site name /Site settings, Status Filter rules
  3. Name it AddtoDP and MessageID “30000″
    AddtopDp3
  4. On the next page, select Run a program and type in “cscript.exe e:\sccmtools\addtodp.vbs %msgdesc” (replace E:\SCCMTools with the path you saved our script in.
    AddtopDp4
  5. Then you are finished. All software packages you create are now automatically added to the standard distirbution points.

Note: As always use this in a test environment at your own risk.

The script:
——————————————————————————————————-

‘This script adds a SCCM package to all standard distribution

const EVENTLOG_INFORMATION = 4

Dim strDPcount
‘Change to 1 if you want the script to create an event-log entry each time a package is created.
sEventlog = “1″

set objShell = CreateObject(”WScript.Shell”)

‘collects command line arguments for the script passed down by the status filter rule
Set args = WScript.Arguments
PackageID = args.Item(7)
strPackageID = Mid(PackageID,2,8)

‘Connect to provider namespace for local computer.
Set objSWbemLocator = CreateObject(”WbemScripting.SWbemLocator”)
Set objSWbemServices= objSWbemLocator.ConnectServer(”.”, “root\sms”)
Set ProviderLoc = objSWbemServices.InstancesOf(”SMS_ProviderLocation”)

For Each Location In ProviderLoc
If Location.ProviderForLocalSite = True Then
Set objSWbemServices = objSWbemLocator.ConnectServer _
(Location.Machine, “root\sms\site_” + Location.SiteCode)
Set Site = objSWbemServices.Get(”SMS_Site=’” & Location.SiteCode  & “‘”)
End If
Next

CheckSource
Sub CheckSource
‘ Checks if the package contains sourcefiles and that the packagetype = Software Distribution Package ( value 0)
Set colItems = objSWbemServices.ExecQuery(”Select PkgSourceFlag from SMS_Package where PackageID = ‘” & strPackageID & “‘ and PackageType = ‘0′”)

For Each objItem in colItems
if objitem.pkgsourceflag = “2″ then
SetDP
end if
Next

End Sub

Sub SetDp
‘Adds the package to all standard distribution points
Set AllDPs = objSWbemServices.ExecQuery(”Select * From SMS_SystemResourceList WHERE RoleName=’SMS Distribution Point’ and Nalpath not like ‘%PXE%’ “)
strDPcount = “0″
For Each DP In AllDPs
Set newDP = objSWbemServices.Get(”SMS_DistributionPoint”).SpawnInstance_()
newDP.ServerNALPath = DP.NALPath
newDP.PackageID = strPackageID
newDP.SiteCode = Site.SiteCode
newDP.SiteName = Site.SiteName
newDP.Put_
strDPcount = strDPcount + 1
Next

End Sub

‘Write to eventlog if Seventlog = 1
If Seventlog = “1″ and strDPcount > “0″ then
strMessage = “Added Package: ” & strpackageID & ” to ” & strDPCount & ” Distribution Points”
objShell.LogEvent EVENTLOG_INFORMATION, strMessage
End IF