In Microsoft System Center Configuration Manager (SCCM) Current Branch two new fields were added to keep track of what type of build and version you are on. OSBranch01 and Build01 very useful when planning your next Build update
0 = CB
1 = CBB
2 = LTSB
I am still looking for the exact class but here is a whacky one today
Today I had a wonderful time speaking at HASMUG. One of the biggest issues is getting to Windows 10 securely which starts with UEFI configured and Secure Boot enabled. I will write a blog post about the need for that security shortly. This post are the links to resources about compelling events to go to Windows 10.
Windows 10 Compelling events
I am going to skip all the obvious reasons like W10 is better than previous versions. Lots of posts on that elsewhere.
Windows 7 goes End of Life (EOL) Jan 14 2020 (less than 38 months)
Like the end of XP support you will have to migrate soon. Better get off Windows 7 before it goes EOL Jan 14 2020. How long did you W7 project take … 2 years? You need to start in January 2017… in 3 months.
Lifecycle Start Date
Mainstream Support End Date
Extended Support End Date
Windows 7 Service Pack 1
Microsoft Modern Lifecycle Policy
Previously you would do a major OS upgrade every 5-7 years (NT > 2000 > XP > W7). With the Modern Lifecycle you are now doing a full OS upgrade at least once per year. Microsoft is talking about 4 OS updates cadence a year by 2018. 1E can make the change from W7 to W10 an automated process with SCCM. And every current branch afterwards.
Came into effect Aug 25th 2016. Short version: The official verbiage that Microsoft only supports supported versions (usually less than 1 year time frame) and you must be paying money to get support. Much faster than the old 5 + 5 Model. Change is coming fast and furious. What is this Change Control you speak of?
Customers must stay current as per the servicing and licensing requirements published for the product or service.
Nothing surprising here, except almost always less than 1 year now. Just look at LifeCycle dates.
Customers must have the rights to use the product or service.
You have to own / pay for it. This is usually now monthly SAAS models versus perpetual
Microsoft must currently offer support for the product or service.
To stay current, a customer must accept all servicing updates and apply them within a specific timeframe, per the licensing and service requirements for the product or service. The requirements may be found under the Notes column when searching by offering on theMicrosoft Product Lifecycle Search page.
What happens if a Roll-up Patch breaks apps… how do I Stay Current?
Generally, customers may contact Microsoft for support for products within their lifecycle if they encounter an issue with an updated product in their environment. If a customer rolls back a patch due to an issue related to it, Microsoft will work to fix the problem so the customer can stay current. If a customer calls about something unrelated, Microsoft will help them install the patch and then will try to resolve the new issue.
Microsoft Applications that are relevant to this post
Microsoft System Center Configuration Manager (SCCM) Current Branch
This means not only do we only use available bandwidth via ReverseQOS but we also only elect a single master to go across the WAN on SCCM deployment (unlike Peer Cache which only shares after a client has everything). Great for Azure hosted or Cloud DPs to save tons of money (Transfer data once if not already locally available – no servers)
Microsoft has announced an event to take place at Microsoft Stores around the world on Oct 26th 2016. The price drops of at least $150 for Surface Pro 4 and Surface Books and end of life for the Microsoft Band. I hope we get to see some new and excited products.
Office Hub rumors with HoloShell, HomeHub, UWP File Explorer, and more. An Amazon Echo competitor?
The Nintendo NX announcement on Oct 20th means console changes are happening again. Project Scorpio was teased for 2017 announcement.
Windows 10 Redstone 2 … 14951 is out for Windows Insiders today. Not likely as the builds have been coming really fast and we haven’t done any bug smashing yet.
Surface Desktop (Desktops aren’t dead yet?) for some reason we need something fixed again to a desk again. Project Cardinal is the code name floating around.
Conflicting news about a delay of Surface Pro 5 and Surface Book 2 until next year.
Surface Phone? I only hear rumors that they exist but that would be sold more places than Microsoft Stores.
Project Centennial push for older Win32 games and apps.. possibly but that doesn’t sounds like something you can buy.
Microsoft Band is dead in 2016. So no MS band 3.
I will unfortunately miss the 9 am CT Austin Domain store reveal as I will be flying to LAX at that time. Should be fun. So many projects going on at MS. Will be nice to see some transparency.
While working through a TechNet / Docs page recently I spotted a new (no idea how long it has been there) property in a ton of classes.
At first I thought it was related to Microsoft System Center Configuration Manager (SCCM) 2012 Current Branch (CB). Nope, apparently it is an attribute added to tons of WMI CIM and Win32 classes. Very useful to figure out why things are not functioning correctly with details. An oversimplified version is show in the Windows GUI…
..but ConfigManagerErrorCode provides details. Okay great, I found a property I didn’t know about. How does this help anyone?
Doing Windows 10 Operating System Deployment (OSD) at scale and for Windows Insiders I frequently find post migration driver issues. Too much time is spent guessing on what those errors are. The example below is about finding devices that do not have drivers in functioning status.
Example of using ConfigManagerErrorCode to find Machines with Device Driver issues
Win32_PNPEntity class allows you to query a machine remotely either via PowerShell (below) or via SCCM CB Hardware Inventory Classes (HINV) further down. Good news SCCM gathers this class and property by default.
Where any driver does not equal 0 for ConfigManagerErrorCode means we have driver issues. Look at the Link above, search for ConfigManagerErrorCode, to translate all non-zero values. I found a ton with status 28. And then went out to the OEM for the drivers.
The drivers for this device are not installed. (28)
Cool. This means I can quickly get a report on nonfunctional or available PNP devices in seconds. Creating a collection in SCCM CB is just as easy. Here is the same query in WQL. This is used for a Collection membership query.
From SMS_R_System inner join SMS_G_System_PNP_DEVICE_DRIVER on
SMS_G_System_PNP_DEVICE_DRIVER.ResourceID = SMS_R_System.ResourceID
Where SMS_G_System_PNP_DEVICE_DRIVER.ConfigManagerErrorCode != 0 or
SMS_G_System_PNP_DEVICE_DRIVER.Availability in (11,12,19,20)
I wrote a post about SMART hard drive queries a while ago. The Win32_DiskDrive class also has the ConfigManagerErrorCode property with useful details
I travel a lot. A long time ago I realized the rewards programs were great for doing nothing as I travel a lot. Most people know the airline, car, hotel, and train travel programs. ThanksAgain is one more for Airports.
Note: The website encourages you to download the app. I registered straight from the website.
Once everything is registered you’ll get emails like
You have earned 25 miles with your transaction listed below.
Earn Points in Over 100 Airports and 1000s of Merchants
Life as a frequent traveler is complicated enough. That’s why we’ve made earning points with Thanks Again® refreshingly simple. All you have to do is download our multi-airport app, enroll your Visa®, MasterCard® or American Express® credit or debit card(s) and use it to shop, park or dine in and around our more than 100 participating airports.
That’s it! It’s EASY, FREE and SECURE and you’ll automatically accumulate points above and beyond what you’ve already been earning from your existing airline and hotel loyalty programs.
Don’t want to download the App? Click “Register” above to get started.
When you’ve accumulated enough points to redeem for that long-awaited getaway, choose from a varying array of reward options including cash back, airline miles, hotel points, TSAPrecheck and other airport perks.
Recently while working through preflight checks for Windows 10 (W10) Redstone 1607 deployment we realized there were some spinning platter drive failures. To help identify potentially failing machines we were looking for the Hard Drive Smart status field. Turns out it is not gathered by default in SCCM. The following walks you through it.
WIN32_DiskDrive contains this info under the status field. It does not appear to be enabled by default (might just be the environment I am looking at)
I would suggest ensuring that the following are enabled
• Capabilities (Optional to see if bit 10 is set – SMART enabled)
System Center Configuration Manager (SCCM) Current Branch (CB)
This status field is NOT collected by default in SCCM. To have the Hardware Inventory Gather this information in your environment you must enable this class in Client Settings
Select Administrator node (bottom Left)
Select Client Settings (middle left)
Select the Client Settings you want to modify.
Best Practice is to create a policy and not use the Default Client Settings. As this is my lab I did use Default Client Settings
If you create a new one than you need Hardware Inventory
Select Set Classes
Filter on Win32_DiskDrive
Expand out the class then select Status field
If you changed the Default Client Setting it will automatically be sent out to every client in the environment. The v_GS_Win32_DiskDrive view will be updated with the Status Field. Use the Reference section below to understand what these values mean. I also found this field is not being read but not sure where it is ConfigManagerErrorCode
Current status of the object. Various operational and nonoperational statuses can be defined. Operational statuses include: “OK”, “Degraded”, and “Pred Fail” (an element, such as a SMART-enabled hard disk drive, may be functioning properly but predicting a failure in the near future). Nonoperational statuses include: “Error”, “Starting”, “Stopping”, and “Service”. The latter, “Service”, could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is online, yet the managed element is neither “OK” nor in one of the other states.
Problem: USMT Estimate tool rounds to a value of Zero if the value is less than 1 meg
I have been playing with the User State Migration Tool (USMT) Estimate switch recently. USMT Estimate has been around since 2008 at least. I found a scenario where the size returned may be less than 1 meg but above zero. However, the USMT estimate return apparently rounds down to zero and may cause issues.
During an OSD TS in SCCM you run a variation of the following command line
Check out the free 1E.com tool called TSEnv2.exe to read and modify variables on the fly (even hidden or protected ones)
Add a Set Taks Sequence Variable step to the TS just after the USMT Estimate step
Task Sequence Variable = USMTEstimate
Value = 1
On the Options Tab create a quick logic test.
Task Sequence Variable
Variable = USMTEstimate
Value = 1
This will sort the issue of very small USMT data being dropped. True it does force every machine to have at least one bit of backed up data but that is a minor concern if you have 1E Nomad Peer backup Assistant or SCCM State Migration Points everywhere.