You are browsing the archive for CM12 SP1.

Configuration Manager 2012 and the need of keeping your Driver database lean and clean !

8:03 pm in CM12, CM12 R2, CM12 SP1, Deployment, Drivers, OSD, sccm, SCCM 2012, sccm 2012 R2, SCCM 2012 R2, SCCM 2012 SP1, sccm RTM, Task Sequence by Kenny Buntinx [MVP]

 

Hi ,

Lately we had an issue on a CM2012 R2  production environment when exporting a “task sequence” from our Acceptance environment and importing that exported “task sequence” into production , and ran into an error where our task sequence import would fail with out of memory message.

The exact message was : “System.OutOfMemoryException , Exception of type ‘System.OutOfMemoryException’ was thrown” as shown in the picture below:

clip_image002

Several people recommended me to increase the WMI memory allocation by doing this : http://anoopcnair.com/2011/05/06/configmgr-sccm-how-to-increase-wmi-default-memory-allocation/ . Anoop links to the “_providerhostquotaconfiguration” class in his article. Anoop’s advice is not uncommon, although supportability of the matter is questionable without PSS/CSS support , it’s a common test/fix giving on PSS/CSS calls related to slow or underperforming console issues.

My advice : DON’T DO THIS BLINDLY or without PSS/CSS support . You’d be crazy doing anything to WMI on a ConfigMgr production environment that you don’t understand the impact off. And if it’s to a component as critical as WMI is to ConfigMgr than you’d better do your homework before implementing it in production.

And this blog post explains what the impact is: http://blogs.technet.com/b/askperf/archive/2008/09/16/memory-and-handle-quotas-in-the-wmi-provider-service.aspx

We increased the WMI memory allocation with PSS support until 8Gb memory (Server having 16 Gb physical memory) , but no luck at all.

A little recap and issue definition:

  1. 1. We created a OSD Task sequence deployment in our acceptance environment.
    2. Once validated , we exported the TS without content (Content is located on a shared UNC storage path) but with dependencies.
    3. We tried to import the exported TS into production, the import fails both trough the GUI and via the powershell cmdlts. The import in production of the exported tasksequence fails with an out of memory error as shown in the screenshot above
    4. We tested both on the Primary site server itself as via remote console –> same result
    5. We have sufficient memory available on the server. I saw that the PowerShell session on the primary site server used up to 1.5Gb ram during the import. (memory was not maxed out (74% used))

Further investigation leads us to the size of the exported Task Sequence , which was about 235 Mb ( without content , go figure ! ) . Probably you would say : “What the hell did you put into that task sequence ????? ”. Well , the customer needs to support 55 different hardware models because of the way they need to buy there hardware. Crazy , I know and the fact is that they know that as well , however they can’t change this purchase behavior.

That being said , they have 55 HW driver packs and they have around 4800 drivers imported in there CM12 Driver DB .

After testing , we discovered that if the imported task sequence is more or less bigger then 135Mb in size , it will fail to import with the error displayed above. Once we lowered the number of drivers being referenced in the driver packages and therefore also in the CM12 driver database itself and the exported TS would be below 135mb in size , the import succeeded. However we could never pinpoint the exact size of the task sequence when it would fail as this was between 135 and 145 Mb.

What I recommend you to do:

  • One of the biggest mistakes customers make is to go the manufacturer website and grab every driver with those so called “enterprise driver packs” that contain drivers for multiple models…. Hell no , mostly the drivers are out dated, full of additional crap…
  • Use common sense and  only import drivers that are applicable to machines in your environment. I do not recommend that drivers are blindly imported into ConfigMgr where there is no actual benefit. This will just cause the database to bloat and the task sequences to become unwieldy. I recommend that any unused drivers/driver packages are removed from ConfigMgr
  • If you have a large number of Manufacturers and models or you run into conflicts, you can apply the driver package based on category or apply a specific package, especially when exporting / importing task sequences .
  • Typically graphic cards , Intel Vpro , Soundcard drivers or custom “hotkey” drivers are “bad” drivers. Those should be installed with applications from the setup.exe or msi.

To give you an idea , we went for a Lenovo C30 desktop model from +_ 400 drivers to 22 drivers. Keep it clean and tight . It will cost you more energy in the beginning , but will save you a lot of time when you need to debug. That’s the message I am trying to give you !

Hope it helps ,

Kenny Buntinx

MVP Enterprise Client Management

ConfigMgr 2012 SP1 R2 Intune: CloudUserSync – delta sync to cloud failed

5:14 am in CM12, CM12 R2, CM12 SP1, ConfigMgr, ConfigMgr 2012, intune, MDM, sccm, SCCM 2012, sccm 2012 R2, SCCM 2012 R2, SCCM 2012 SP1, UDM, Windows Intune by Kenny Buntinx [MVP]

 

Hi,

After configuring a trial intune subscription I got a funny error in the CloudUserSync log:

ERROR: SetLicensedUsers exception The Dmp Connector cannot connect to Windows Intune. Verify that you are connected to the Internet,….
UserSync: Failed to perform delta sync. error = Unknown error 0x8013150C, 0x8013150C

further down in the log file :

ERROR: GetServiceAddresses – LSU cannot be reached: System.ServiceModel.ProtocolException: The content type text/html; charset=UTF-8 of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly

 

If you search for this error you can see this happening with other services as well (Azure) and it is where the binding from your local server doesn’t match the endpoint (in this case intune/Azure)

Turned out that the customer provide me with a demo lab environment and it was still sitting on System Center Configuration Manager R2 Preview Smile

#Notetomyself : Check all components on the correct versioning before you start . Never take it for granted Smile with tongue out

 

Hope it Helps ,

Kenny Buntinx

Enterprise Client Management MVP

Sysctr Configmgr 2012 and Intune : Provisioning Email Profiles and the why the profile may not turn up on devices such as an Ipad.

7:39 pm in CM12, CM12 R2, CM12 SP1, ConfigMgr 2012, configmgr 2012 R2, ConfigMgr 2012 SP1, email Profile, email Profiles, intune by Kenny Buntinx [MVP]

 

Hi All,

The ‘Extensions for Windows Intune’ feature provides frequent, dynamic feature updates to System Center 2012 R2 Configuration Manager without any on-premises infrastructure update. New extensions like email profile provisioning make it very easy for end users to connect to corporate email from their mobile devices while at the same time, it ensures that administrators can protect corporate data by having the ability to selectively wipe email from lost or stolen mobile devices.

Now my colleague MVP Nico Sienaert (http://www.linkedin.com/profile/view?id=19113864&locale=en_US&trk=tyah&trkInfo=tas%3Anico%20%2Cidx%3A1-1-1) and some other MVP’s including myself had issues around the provisioning of email profiles. Sometimes they never showed up on an iPad.

Nico did some investigation with the product team back in Redmond and found some interesting details , that can potentially block an email profile being delivered to the device

Problem description: Mail Profile not being provisioned through on iOS devices such as Ipad

Problem solution: They discovered that my mail property in AD was empty. Apparently this is required for email profiles. Once filled in that field in AD and made sure this was value was populated in the CM DB (User Discovery) the profile arrived almost immediately.

Anyway, lessons learned make sure you have ALWAYS a mail property filled in on your AD User. Currently this is not documented yet but it will be in the future.

When to need the AD mail attribute? :

  • IF you are using UPN for email addresses, then no AD attribute is needed. For Office 365, we already know the UPN and mail address, so not needed.
  • IF you are using SMTP, then you do need the mail attribute in AD.

Hope that Helps ,

Kenny Buntinx

Enterprise Client Management MVP

CM12 and intune : Deploying Windows *.ipa IOS Applications requires a *.plist file

7:18 am in Apple, CM12, CM12 R2, CM12 SP1, ConfigMgr 2012, configmgr 2012 R2, ConfigMgr 2012 SP1, deployment types, intune, iOS, ipa, Ipad, plist by Kenny Buntinx [MVP]

 

To side load an application *.ipa you need either to have developed it in-house or bought it from a developer who allows you to side load it and have a correct Apple developer account as well. https://developer.apple.com/programs/ios/

You cannot side load an app that you have downloaded and paid for in ITunes, that would be wrong in terms of license agreements. For those applications ,you can create a link to the application in Appstore and distribute that link.

So if you want to side load an application that you bought from Appstore, I would suggest that you Contact that Company/developer and see if they are interested in selling the application to you that way instead of through the Appstore.

There are a number of ways of deploying apps to iOS devices throughout your enterprise. You can purchase and assign apps with MDM through the Volume Purchase Program (VPP), or create and deploy your own in-house apps by joining the iOS Developer Enterprise Program. Additionally, if you are in a shared-device deployment scenario you can install apps and content locally with Apple Configurator or your MDM solutions such as Windows Intune.

Volume Purchase Program

The Volume Purchase Program (VPP) allows businesses to purchase iOS apps and books in volume and distribute them to employees. You can also get custom B2B apps for iOS that are built uniquely for you by third-party developers and procured privately through the VPP store. MDM solutions integrate with VPP and can be used to assign apps and books to users. When apps are no longer needed, MDM can be used to revoke and reassign them to a different user. Each app is automatically available for download on all the user’s devices, with no additional effort or cost to you. Redemption codes can also be purchased through VPP for use with Apple Configurator, or in situations where MDM is not applicable. To learn more about the Volume Purchase Program at http://www.apple.com/business/vpp

 

GOTCHA: The Volume Purchase Program (VPP) isn’t available in Belgium or Benelux. Up till now, European companies can only subscribe to the VPP program if they are resident in the UK or Germany. This isn’t really helping with our MDM solution, but later in this blog post we show you that we found an alternate solution (unfortunately NOT supported).

Enterprise in-house apps

Develop iOS apps for use by your company using the iOS Developer Enterprise Program. This program offers a complete and integrated process for developing,testing, and distributing your iOS apps to employees within your organization. Distributing in-house apps can be done either by hosting your app on a simple web-server you create internally, or by using a third-party MDM or app management solution. The benefits of managing in-house apps with MDM include the ability to configure apps remotely, manage versions, configure single sign on, set policies for network access such as per app VPN, and control which apps can export documents.

Distributing the app with your MDM solution such as Intune

To distribute an iOS application, you must have a valid .ipa package and a manifest (plist) file. The manifest file is an XML .plist file that is used to find, download and install any iOS applications that are located outside the App Store. The manifest file cannot exceed 10 KB. For more information, see the relevant Apple documentation.

· The .ipa package must be valid. This means that the package was signed by Apple and the expiration date indicated in the provisioning profile is still valid.

· For iOS applications, Windows Intune can distribute enterprise certificate iOS applications. Not all Apple developer certificate applications are supported.

· Your enterprise must be registered for the iOS Developer Enterprise Program.

· Make sure that your organization’s firewall allows access to the iOS provisioning and certification web sites.

I saw many people having difficulty to upload and deploy the IOS application in the forums and internet. Mainly because they do not have access to a VPP program from Apple. I managed to upload the IOS (*.ipa) application into Configuration Manager 2012 R2, and also manage to download and install the uploaded IOS application to the IPad from the Company Portal.

 

Creating a Manifest (plist) File from just an App File

All you need to do is find out the bundle-identifier and bundle-version for your app, then fill in in the template below.

GOTCHA: Not all applications have a plist file, it also depends on the MAC OSX (they have been changing the locations in 10.6 and again in 10.9.1. – checkout this thread http://hints.macworld.com/article.php?story=20121101064200135 and currently CM12 with Intune is not supporting it !

Getting the bundle-identifier and bundle-version from IPCU (iPhone Configuration Utility).

Unfortunately, the app’s bundle-identifier and bundle-version will not be directly readable because an .ipa file is usually signed. However, the data you need is made available through Apple’s iPhone Configuration Utility.

First, download and install the iPhone Configuration Utility (IPCU).

clip_image002

After opening IPCU, click the "Applications" library item, and drag your .ipa file into the list. You should see the following page. The "Identifier" and "Version" columns are the bundle-identifier and bundle-version values respectively.

Now you can create the manifest file. Just copy manifest file contents below and replace the three highlighted values in the metadata dictionary with your own.

1. Replace the bundle-identifier to your identifier..

2. Replace the bundle-version to your version.

3. Replace the app’s name with your custom display name. This will be displayed to the user in an alert asking for permission to install the app.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>items</key>

<array>

<dict>

<key>assets</key>

<array>

<dict>

<key>kind</key>

<string>software-package</string>

<key>url</key>

<string>http://placeholder/url/for/app.ipa</string>

</dict>

</array>

<key>metadata</key>

<dict>

<key>bundle-identifier</key>

<string>com.citrix.RecieverIpad</string>

<key>bundle-version</key>

<string>166</string>

<key>kind</key>

<string>software</string>

<key>title</key>

<string>Citrix Reciever</string>

</dict>

</dict>

</array>

</dict>

</plist>

 

Save the *.Plist file with the same name as the *.Ipa file in the same source folder and you would be able to import your Ipa DT (Deployment type) without any errors. However, I am not taking any responsibility here and this post is AS-IS with no liability what so ever.

Hope it Helps ,

Kenny Buntinx

Enterprise Client Management MVP

OSD Capture fails on a HP Gen8 Hyper-V cluster

12:12 pm in 2012R2, capture, CM12, CM12 R2, CM12 SP1, hyper-V, OSD, SCCM 2012, sccm 2012 R2, SCCM 2012 R2, SCCM 2012 SP1 by Kenny Buntinx [MVP]

 

I’ve seen lots of people saying to use VMs to create images and my customer decided to do it using Hyper-V as they see the Hyper-V scenario as possible replacement for Vmware. We did it on Hyper-V 2012 R2.

However, I am having a problem capturing the image with the Build & Capture Task Sequence. I have the VM (running Windows 7 x64 Enterprise) . The VM ran through Sysprep and rebooted into WinPE, but then the problem starts. I checked the Captures folder to see if it started creating the WIM file,  only written 1KB and then fails with “Exiting with return code 0x80004005”. That’s right, 1 freaky’ KB.

I do have the Legacy Network adapter installed so I can perform PXE boots on the VMs that I have created.

This was the first time I’ve worked with Hyper-V 2012 R2 so I wasn’t sure what to expect as I had experiences with Hyper-V 2008 R2 and 2012 . I’ve looked at all the threads that mention "Hyper-V’ but none have said they are having any problems.

I’ll have tried a few things to see what happens, and to figure out what was wrong here. Finally we found out the issue :

We immediately thought at networking issues and not to a share or permission issue as we could write a file of 1kb.

1.When the VM started in Winpe to start capturing the image , we checked for an IP (F8 command prompt) . We saw the correct IP , but suddenly 5 seconds later , it changed back to an auto assign IP , short term APIPA (Automatic Private IP Addressing) . That was weird and we blamed it to the Networking team Smile . ( for once we thought we had a reason as the DHCP server was a linux box )

2. After ruling out the network ( giving it a fixed ip , MAC reservation ) , we start to search a little deeper . Maybe it was the Hyper-V cluster or the virtual switch ?

3. To rule out any virtual switch issues , we started to create a VM on the Hyper-V Host itself and BINGO ! The creation of the WIM file succeeded .

4. To make sure it was the Hyper-V cluster , we created a VM and tried it again . Same problem, The VM ran through Sysprep and rebooted into WinPE, but then the problem starts. I checked the Captures folder to see if it started creating the WIM file,  only written 1KB and then fails with “Exiting with return code 0x80004005”. That’s right, 1 freaky’ KB.  .

The solution:

Ok , The problem is related to the Hyper-V cluster . After a little investigation , we discovered that people had reported issues with networking drops on HP Generation 8 hardware. I’ve got answer with my connectivity issue.

Our case is the same as described on the Hyper-V.nu blog:

http://www.hyper-v.nu/archives/marcve/2013/11/vnics-and-vms-loose-connectivity-at-random-on-windows-server-2012-r2/

http://www.hyper-v.nu/archives/pnoorderijk/2013/11/the-story-continues-vnics-and-vms-loose-connectivity-at-random-on-windows-server-2012-r2/

As a workaround , disabling VMQ works . More info what VMQ does : http://blogs.technet.com/b/networking/archive/2013/09/10/vmq-deep-dive-1-of-3.aspx

The issue has been reported to HP support. We are awaiting feedback . In the meanwhile we will try this hotfix http://support.microsoft.com/kb/2913659 It seems that after patching our cluster nodes with the hotfix, we haven’t had a VM guest lose network connectivity for over 24 hours. It was happening quit regularly with several VM’s that are sending/recieving lots of network traffic . If you haven’t applied this hotfix and you are experience this issue and/or others with your virtual switches, do it before opening a case at HP

Hope it Helps ,

Kenny Buntinx

MVP enterprise Client Management .

ADFS 2.1 in combo with windows Intune stops working with ‘Error: 15404, State: 19. Could not obtain information about Windows NT group/user ‘Domain\ADFS_srvc’, error code 0x5

12:17 pm in ADFS, ADFS 2.1, CM12, CM12 R2, CM12 SP1, intune, sso by Kenny Buntinx [MVP]

 

One day my ADFS authentication for Configmgr 2012 R2 and Windows Intune suddenly stopped. I  came across the following on the Active Directory Federation Services farm which uses WID (Windows internal Database) to store its configuration.

image

In words: An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 19. Could not obtain information about Windows NT group/user ‘<Domain>\ADFS_srvc’, error code 0x5.

The solution: is to give the “Authenticated Users”  “Read Permissions” on the ADFS service account.

Hope it Helps ,

Kenny Buntinx

Enterprise Client Management MVP

System Center 2012 Configuration Manager : Troubleshooting and Resolving Content Mismatch Warnings on a Distribution Point with Powershell

8:09 pm in CM12, CM12 R2, CM12 SP1, powershell, R2, SCCM 2012, sccm 2012 R2, SCCM 2012 SP1, script by Kenny Buntinx [MVP]

 

You might see content mismatch warnings in System Center 2012 Configuration Manager when content validation runs and determines that there is a discrepancy between the expected list of packages in WMI on the distribution point and the packages in the content library as shown in the screenshot below.

You can see an example of this scenario in the following screenshot where a distribution point has a Warning state and there is a status message in the Details tab in the Details pane that shows there was a failure to retrieve the package list.

image

How to detect it and how to fix it manually is described here in the following article : http://blogs.technet.com/b/configmgrteam/archive/2012/05/07/troubleshooting-content-mismatch-warnings-on-a-distribution-point-in-system-center-2012-configuration-manager.aspx

BUT , that is all manual work , and we hate that , don’t we Smile with tongue out . Doing this on around 35 Distribution points by hand isn’t an easy solution. Luckily we have an excellent PowerShell scripter in our team and all credits for creating this script goes to  Bart Serneels. He has written a PowerShell script to do all the work . He was happy to share this with you guys on the Technet Gallery.

As the package is not on the site and you must remove the package from WMI on the distribution point. The namespace to connect to is root\sccmdp. The class that contains the list of packages expected is SMS_PackagesInContLib.

Bart Serneels made a script to automate the removal of the invalid instances (those of which the package does not exist in the console anymore) in WMI on all distribution points. You can download it from gallery.technet.microsoft.com/Powershell-script-to-fix-81dc4e69

image

Hope it Helps ,

Kenny Buntinx

MVP Enterprise Client Management