The first time I worked with OS Deployment in SCCM 2007 many years ago I was frightened by the ability to inadvertently deploy an OS to an existing SCCM client. To allow Desktop Techs to reimage an existing computer the Task Sequence needs to be advertised to All Systems (or some other collection where the client eixsts). This will cause the Task Sequence to show up in Run Advertised Programs which generally is not desirable because it enables the user to reimage their computer.
Niall C. Brady and others provided the community with trick for not shooting yourself in the foot which was to set the Supported Platform for the Task Sequence to an operating system that you knew was not in your environment such as x64 Windows Vista original release. While this did work (as long as you remembered to set it) I never liked having to choose a real operating system which could potentially show up at a later time.
The below T-SQL code is a “hack” that is not supported or recommended by Microsoft. I have used this in a lab and in one customer environment. Use at your own risk.
[cc lang=’sql’ ]insert into SMS_LAB.dbo.SupportedPlatforms
select ‘IA64’, ‘Win NT’, ‘0.00.0000.0’, ‘0.00.0000.0001’, ‘*NONE*’, ‘baserc.dll’, ‘5000’,
‘<Operator OperatorType=”AND”> <Expression ExpressionType=”continuous” ExpressionLanguage=”WQL”> <![CDATA[SELECT * FROM Win32_OperatingSystem WHERE BuildNumber = ”0000” AND OSType=18 AND ProductType>1 AND OtherTypeDescription = NULL AND ServicePackMajorVersion=1]]></Expression><Expression ExpressionType=”continuous” ExpressionLanguage=”WQL”><![CDATA[SELECT * FROM Win32_Processor WHERE Architecture=6 AND DataWidth=64]]></Expression></Operator>’
After executing that we can review all of the supported platforms with this one-liner:
[cc lang=’sql’ ] select * from SMS_LAB.dbo.SupportedPlatforms order by StringId[/cc]
Now we get a “new” operating system in the Supported Platforms list for an operating system that really can never exist.