System Center News & Updates – 2014 M1

“System Center News & Updates” is apart of an annual 4 part series of anything new & noteworthy in the System Center world. We publish it at the end of every HASMUG (Houston Area Systems Management User Group meeting). The publication has two placeholders: (ECM) Enterprise Client Management, and (CDM) Cloud and Datacenter Management. We hope it is useful and informative for the global System Center community.

The link to the slides is here: http://tinyurl.com/scnews2014m1

HASMUG Post (HTML format): http://wp.me/p1OE8p-8j

 

Microsoft, System Center , , , , , , , , , Leave a comment

Concerned about the merging of MMS with TechEd? Post your comments on Cameron Fuller’s blog!

Are you an MMS original? Concerned about the merger of MMS and TechEd? You have someone that can champion your thoughts to the upper echelons of Microsoft’s System Center product groups, give your feedback on Cameron Fuller’s blog.

http://blogs.catapultsystems.com/cfuller/archive/2013/10/30/mms-and-teched.aspx?id=607&List=52b49438-d7a8-4f25-91ea-392a6e92c57f&ItemID=607

Microsoft, System Center 2012 , , , , Leave a comment

Count of instances of specific software registered with Add or Remove Programs‏ – Wrong counts SCCM 2012

The problem with the query is that there can be multiple ProdID’s for the same DisplayName0, Publisher0, Version0 returned. So it counts them all, skewing the expected result. I fixed this by changing Count(ProdID0) to Count(Distinct arp.ResourceID) in the dataset…

SELECT DisplayName0, COUNT(DISTINCT arp.ResourceID) AS 'Count', Publisher0, Version0, @CollID AS CollectionID 
FROM fn_rbac_Add_Remove_Programs(@UserSIDs)  arp 
JOIN fn_rbac_FullCollectionMembership(@UserSIDs)  fcm ON arp.ResourceID=fcm.ResourceID 
WHERE ((Publisher0 LIKE @softwarenamefilter) OR (DisplayName0 LIKE @softwarenamefilter) ) 
AND fcm.CollectionID=@CollID 
GROUP BY DisplayName0, Publisher0, Version0  
ORDER BY Publisher0, Version0
Configuration Manager, Microsoft, System Center 2012 , , , , Leave a comment

System Center 2012 Configuration Manager (SCCM): Prevent automatic upgrade on deployment to device collection

UPDATE 10/15/2013: Microsoft changed the connect bug I filed a few months back from closed to active. Guess there was a change of heart? :) https://connect.microsoft.com/ConfigurationManagervnext/feedback/details/796927/automatically-upgrade-any-superseded-versions-of-this-application-grayed-out-for-device-collection-deployments

UPDATE 10/14/2013: Rusty Ratliff, a member of our user group (HASMUG) has brought to my attention this also affects task sequences that reference an application that supersedes a discovered application.

I use ConfigMgr to also manage server environments. I ran into an issue where I was trying to supersede an application and test the deployment however I cannot remove the “Automatically upgrade any superseded versions of this application” option during deployment. I am targeting servers (devices) and not users in this scenario. I want to test and manage the app upgrade without it being forced and still be able to take full advantage of the app model.

The only work-around I found thus far was to create the deployment prior to adding superseded applicaiton(s) to the deployed application. I’m assuming we should be able to create a deployment using PowerShell or the ConfigMgr 2012 SDK without forcing superseded applications to be upgraded as another workaround but haven’t tried it yet. I’ll update this post when I have any other confirmed workarounds. In the mean time please vote up the feedback I’ve posted on Microsoft Connect for this issue: https://connect.microsoft.com/ConfigurationManagervnext/feedback/details/796927/automatically-upgrade-any-superseded-versions-of-this-application-grayed-out-for-device-collection-deployments

Configuration Manager, System Center 2012 , , , , Leave a comment

System Center 2012 R2 Preview Highlights

This was announced at TechEd 2013 yesterday and they are anticipating a release by the end of the year. This release will be the successor to System Center 2012 SP1.

System Center 2012 R2 Preview: http://www.microsoft.com/en-us/server-cloud/system-center/system-center-2012-r2.aspx

White Paper: http://download.microsoft.com/download/7/7/2/7721670F-DEF0-40D3-9771-43146DED5132/System_Center_2012%20R2_Overview_White_Paper.pdf

System Center 2012 R2 Configuration Manager: http://www.microsoft.com/en-us/server-cloud/system-center/system-center-2012-r2-configuration-manager.aspx

System Center 2012 R2 Configuration Manager Highlights:

  • Support for Windows 8.1
  • Support for Windows Server 2012 R2
  • Maintenance Windows exclusively for Software Updates
  • UI Improvements
  • Automatic Deployment Rules (ADR) improvements for software updates
  • Clearer summary messages
  • Enhanced DP data usage reports
  • Creation, modification and offline servicing of VHDs and the uploading of VHDs to System Center 2012 R2 Virtual Machine Manager

System Center 2012 R2 Operations Manager Highlights:

  • Availability and performance metrics across storage, network, and compute for the datacenter administrator
  • New dashboard includes health metrics on a variety of resources, such as load balancers, IIS pools, storage LUNs, hosts, storage pools, file servers, VMs, VMM servers and host clusters.
  • System Center Advisor (Best practice workload configuration) accessibility in the Operations Manager console
  • Hybrid view of on-premise and cloud hosted components
  • Code level issue traceability – for .NET and Java applications
  • Java APM (Application Performance Monitoring) including Java Tomcat and other Java web services
  • Unified monitoring agent between System Center and Visual Studio to further simplify issue debugging and collaboration.

Windows Server 2012 R2: http://www.microsoft.com/en-us/server-cloud/windows-server/windows-server-2012-r2.aspx & http://technet.microsoft.com/en-US/windows/dn140266.aspx

Windows 8.1:  http://technet.microsoft.com/en-US/windows/dn140266.aspx

Microsoft, System Center 2012 , , , , Leave a comment

Configuration Manager 2012: SQL XPATH Query for Deployment Type

Below is an example of how to write a SQL XPATH query to extract details from a deployment type CI contained in an XML data type. In this query we are returning columns for deployment type Title, SDMPackageDigets (XML), Technology (MSI, Script, etc.), Content Location, and Install and Uninstall strings. I basically found an example in this link http://gallery.technet.microsoft.com/scriptcenter/Count-of-EP-Definition-59c06ea2 and added Install and Uninstall columns.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT 
	CI_ID,
	CI_UniqueID,
	SDMPackageDigest,
    SDMPackageDigest.VALUE('declare namespace p1="http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest"; 
    (p1:AppMgmtDigest/p1:DeploymentType/p1:Title)[1]', 'nvarchar(max)') AS DTTitle,
    SDMPackageDigest.VALUE('declare namespace p1="http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest"; 
    (p1:AppMgmtDigest/p1:DeploymentType/p1:Installer/@Technology)[1]', 'nvarchar(max)') AS DTTechnology,
    SDMPackageDigest.VALUE('declare namespace p1="http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest"; 
    (p1:AppMgmtDigest/p1:DeploymentType/p1:Installer/p1:Contents/p1:Content/p1:Location)[1]', 'nvarchar(max)') AS DTContentLocation,       
    SDMPackageDigest.VALUE('declare namespace p1="http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest"; 
    (p1:AppMgmtDigest/p1:DeploymentType/p1:Installer/p1:InstallAction/p1:Args/p1:Arg)[1]', 'nvarchar(MAX)') AS Install,
    SDMPackageDigest.VALUE('declare namespace p1="http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest"; 
    (p1:AppMgmtDigest/p1:DeploymentType/p1:Installer/p1:UninstallAction/p1:Args/p1:Arg)[1]', 'nvarchar(MAX)') AS Uninstall
FROM 
	v_ConfigurationItems
WHERE 
	CIType_ID = 21 -- DeploymentType CI's
Configuration Manager, Microsoft, System Center 2012 , , , , , , , , , , Leave a comment

Configuration Manager 2012: Query for the Application Owners and Support Contacts

Below is an example of how to formulate a SQL query to obtain the “first” app owner and support contact on an Application.

 

1
2
3
4
5
6
7
8
9
WITH XMLNAMESPACES ( DEFAULT 'http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest' )
SELECT
SDMPackageDigest.VALUE('(/AppMgmtDigest/Application/Title)[1]', 'nvarchar(MAX)') [Title],
SDMPackageDigest.VALUE('(/AppMgmtDigest/Application/Owners/User/@Id)[1]', 'nvarchar(MAX)') [Owners],
SDMPackageDigest.VALUE('(/AppMgmtDigest/Application/Contacts/User/@Id)[1]', 'nvarchar(MAX)') [Support Contact]
FROM  CI_ConfigurationItems
WHERE
CIType_ID = 10
AND IsLatest = 1
Configuration Manager, Microsoft, System Center 2012 , , , , , , , , Leave a comment

Add Adobe Acrobat XI and Reader XI catalogs to SCUP 2011

Adobe Acrobat XI (11):

http://armmf.adobe.com/arm-manifests/win/SCUP/Acrobat11_Catalog.cab

Acrobat11

AdobeReader XI (11):

http://armmf.adobe.com/arm-manifests/win/SCUP/Reader11_Catalog.cab

Reader11

Configuration Manager, Microsoft, System Center 2012 , , , , , , , , , , Leave a comment

SCCM 2012 Poor Console Performance In Software Updates

UPDATE 5/21/2013: Just heard from the MVP community that some folks are referencing this article to improve performance: http://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

From within Microsoft SQL Management Studio, run the query below to check fragmentation:

1
2
3
4
5
6
7
8
9
SELECT a.index_id, name, avg_fragmentation_in_percent FROM
 
sys.dm_db_index_physical_stats (NULL,NULL, NULL, NULL, NULL) AS a JOIN sys.indexes
 
AS b ON a.object_id = b.object_id AND a.index_id = b.index_id WHERE
 
avg_fragmentation_in_percent > 30
 
GO

 

2)    Run this command on the tables:

1
2
3
Exec sp_MSForEachtable 'DBCC DBREINDEX (''?'')'
 
go

 

3)    Once this was done, run the “Rebuild Indexes” task from Site Maintenance of the primary server.

 

4)    Finally run this command back on the SQL Server via SQL Management Studio.

1
2
3
EXEC sp_MSForEachTable "UPDATE STATISTICS ? with fullscan"
 
GO

 

 

Configuration Manager, System Center 2012 , , , , , Leave a comment

Move all your Windows 8 Hyper-V VM’s to SSD with PowerShell

I built a lab on my Windows 8 laptop consisting of System Center 2012 Configuration Manager, Operations Manager, Configuration Manager, a DC, SQL, and SharePoint. Although it runs so-so on my 7200RPM hard drive I decided to join the club and finally get an SSD for a secondary drive. After months of research I ended up with the Intel 330 240GB SSD and purchased it on Amazon for about 180$. This blog post addresses two items. First I had problems with my OS locking up when attempting to format my new SSD. And second moving Hyper-V VM’s to a new drive.

Trouble formatting new *Intel* SSD

I had some difficulty formatting the drive in Computer Management. Every time I attempt to format it, it would lock up my OS. So here are the steps I took to resolve it:

!!!! WARNING: this will destroy all data on the target disk !!!!

  1. Download and install Intel SSD Toolbox
  2. Open an elevated cmd prompt.
  3. Type diskpart.exe and hit enter
  4. list disk
  5. select disk # (the disk you want to clean)
  6. clean all (more info on this command and diskpart http://technet.microsoft.com/en-us/library/cc766465%28v=ws.10%29.aspx )
  7. It will take 10-20 minutes or so but after these steps I was able to format the drive.

Also note that 64K unit allocation size is recommended for drives where VHDX’s will be stored (since they will be large files). This unit size is not recommended for smaller files. You can use the wizard in computer management or run format FS=NTFS LABEL=”L.A.B.” UNIT=64k QUICK in disk part.

Moving your Hyper-V VM’s via PowerShell

After installing my shiny new SSD I sure as heck wasn’t going to move all my VM’s manually, so PowerShell it is!

Here is a good start to become familiar with the Hyper-V PowerShell cmdlets. Just be sure to run the PowerShell ISE is elevated mode! http://social.technet.microsoft.com/wiki/contents/articles/8700.windows-server-8-manage-hyper-v-3-0-with-powershell-en-us.aspx

After you familiarize yourself with some of the cmdlet’s there is some really slick ones for moving VM’s around:

  • Move-VM (Moves the VM to another host)
  • Move-VMStorage (Moves all of the VM’s dependencies to another location)

I’m moving my VM’s to my new SSD on my laptop so Move-VMStorage was the best route!

  1. Start with Get-VM to get a list of VM’s
    Get-VM
  2. Now you will want to copy that to a variable. Let’s say $VMs via
    1
    
    $VMs = Get-VM
  3. Now for each of these $VMs we will want to execute Move-VMStorage to (in my case) D:\.
    1
    2
    3
    4
    5
    6
    7
    
    $DestinationPath = "D:\SCSM Lab"
    ForEach ($VM in $VMs) {
    	$VMName = $VM.Name.toString()
    	Write-Output "Moving $VMName"
    	Move-VMStorage -VMName $VM.Name -DestinationStoragePath "$DestinationPath\$VMName"
    	Write-Output "Finished Moving $VMName"
    }

    A progress bar will appear indicating the move is occurring:
    Move-VMStorage

  4. That’s pretty much it :). You will also be able to migrate them while they are still running, although it could take longer.

Full script:

1
2
3
4
5
6
7
8
$VMs = Get-VM
$DestinationPath = "D:\SCSM Lab"
ForEach ($VM in $VMs) {
	$VMName = $VM.Name.toString()
	Write-Output "Moving $VMName"
	Move-VMStorage -VMName $VM.Name -DestinationStoragePath "$DestinationPath\$VMName"
	Write-Output "Finished Moving $VMName"
}
Microsoft, PowerShell, Windows 8 , , , Leave a comment