tag:blogger.com,1999:blog-55364818488013306722024-03-18T19:49:52.875+00:00Microsoft System Center SuiteA collection of thoughts and resources for Microsoft System Center products and the Private Cloud.Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.comBlogger345125tag:blogger.com,1999:blog-5536481848801330672.post-75819446486189489682017-05-13T16:08:00.000+01:002017-05-13T16:12:45.665+01:00Disable and Remove SMB1 via ConfigMgr Compliance SettingsIn the wake of the recent WannaCry worm wreaking havoc across the globe, I thought I'd knock up a quick set of Configuration Manager compliance settings and a baseline to easily disable and remove SMB1 from devices within an environment.
<br />
<br />
Just as I started to gather the information I would need about the various settings, I noticed that Alex Pooley had already documented what I was about to do.<br />
<br />
You can find his blog post with his methods here:<br />
<a href="https://alexpooleyblog.wordpress.com/2017/03/09/disabling-smb1-via-configmgr-desired-state-configuration-dsc/" target="_blank">https://alexpooleyblog.wordpress.com/2017/03/09/disabling-smb1-via-configmgr-desired-state-configuration-dsc/</a><br />
<br />
There's not much value in me repeating all of the steps in this post, refer to the excellent work that Alex has already done.<br />
However, I've made some minor changes to some of the PowerShell, set names consistently, tested it and exported it as a cab file for easy import into other environments.<br />
<br />
Download from the TechNet Gallery <a href="https://gallery.technet.microsoft.com/Disable-and-Remove-SMB1-9372e416" target="_blank">here</a><br />
<br />
This baseline will perform the following:
<br />
<ul>
<li>Disable SMB1 on Windows 8 & Server 2012 or newer </li>
<li>Remove SMB1 on Windows 8.1 & Server 2012 R2 or newer </li>
<li>Disable SMB1 Client on Windows 7 & Server 2008 R2 </li>
<li>Disable SMB1 Server on Windows 7 & Server 2008 R2</li>
</ul>
<div>
Importing the cab file should give you a new folder named Security with 4 CI's within it.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqGWbU6EmoG-OoGEo2j_yuVZOMvusf2Po9tqS1q0EBN41F9NbARD9vNmkIjUaTiDjwlGHTdmkfa-m9u2A7PWZ2URYD2SSRxV4Syevn4q-_O_mp1AGVG0EJqMJofrwY6n5gxlzH7O55nFPy/s1600/SMBCIs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="91" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqGWbU6EmoG-OoGEo2j_yuVZOMvusf2Po9tqS1q0EBN41F9NbARD9vNmkIjUaTiDjwlGHTdmkfa-m9u2A7PWZ2URYD2SSRxV4Syevn4q-_O_mp1AGVG0EJqMJofrwY6n5gxlzH7O55nFPy/s400/SMBCIs.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
These CI's are mainly using PowerShell scripts to discover and then remediate the various SMB1 configurations on the relevant Operating Systems except for the disabling of SMB1 (Server) for Windows 7/Server 2008(R2) which uses a registry value check and set.</div>
<div>
<br /></div>
<div>
These 4 CI's are wrapped into a Baseline called "Disable SMB1" that you can find in the folder named Security. This baseline then needs targeting at a collection that you would like to disable/remove SMB1 from.</div>
<div>
<br /></div>
<div>
I've run it across my estate, but I do only have 2012 R2 and Windows 10 devices. A few devices are reporting script timeout errors and I still need to dig into those further, but overall it runs fine and successfully disables SMB1.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx7LfSTUtwSMhvaW1IxtG9zMLVxG6YV-gq9K71tQ_4E5BMD94-rwYUxQNPQXKh8ryfEeE6mluZtBqgNxuq6Ok6yat-IClrYqtg-WaCxNvQjvVNktTT-As5QdeYM1u1g7t69_AuPg0JENAM/s1600/SMBMonitor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx7LfSTUtwSMhvaW1IxtG9zMLVxG6YV-gq9K71tQ_4E5BMD94-rwYUxQNPQXKh8ryfEeE6mluZtBqgNxuq6Ok6yat-IClrYqtg-WaCxNvQjvVNktTT-As5QdeYM1u1g7t69_AuPg0JENAM/s400/SMBMonitor.png" width="400" /></a></div>
<div>
<br /></div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com45tag:blogger.com,1999:blog-5536481848801330672.post-92142149475784497372016-04-12T00:39:00.000+01:002016-04-12T00:43:20.754+01:00OMS and Solution Data FlowSince the beginning Operations Management Suite (OMS) and System Center Operations Manager (SCOM) have been able to work in conjunction, by that I mean you could have SCOM and it's agents reporting data up via the management group into OMS for analytics.<br />
<br />
In fact, way back at the very start before it was OMS, that was the only method, but I digress.<br />
<br />
We also have direct connected agents for those environments where SCOM isn't present, but OMS can still add great value giving the flexibility for customers who don't want/require the overhead of managing SCOM.<br />
<br />
In the early days, if you were doing a Hybrid SCOM/OMS deployment, all was fine, just allow your designated SCOM Management Servers to access the OMS service on the Internet and watch the data flow.<br />
<br />
However, as some of the new solutions started to emerge, the data volumes and frequencies meant that going via the SCOM Management Servers wasn't always practical, so certain solutions bypassed the management servers and attempted to upload their data directly to the OMS service.<br />
<br />
Not all environments allow direct internet access so thankfully we got the ability to <a href="https://technet.microsoft.com/en-us/library/mt484101.aspx" target="_blank">specify a proxy server</a> for the agent, and recently we saw Microsoft introduce the concept of the <a href="https://blogs.technet.microsoft.com/msoms/2016/03/17/oms-log-analytics-forwarder/" target="_blank">OMS Log Analytics Forwarder</a>.<br />
<br />
So how do you know or decide when/where to use the OMS Forwarder, Proxy or just let the SCOM Management Group (MG) handle things?<br />
<br />
Well, there is a nice table on the following TechNet documentation article that halfway down shows you the various solutions, whether they can upload via a SCOM MG or require direct upload (which can be done via proxy/forwarder).<br />
<br />
<a href="https://technet.microsoft.com/en-us/library/mt674635.aspx">https://technet.microsoft.com/en-us/library/mt674635.aspx</a><br />
<br />
Because I found the layout of the table a little "meh" and as I'm much more of a visual person, I decided to try and map the data out in Visio, more for my quick reference than anything.<br />
<br />
<b>N.B. </b>I've only focused on the Windows based agents here, Linux is basically direct agent based only.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiltLVHnQKlBuFwK5zcQRehNuMONrw0DX_msaVV1XmUuDwVAhV3R3HDKtwoLermV0nlBnpTuRLiZ91gmhv_MbMDly9OCyx5MVNUCNIp1cfx0jcTRhaJH6_msQZSuuYigLOtyI8bAgiwa1q8/s1600/DataUpload.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="OMS Solution Data Flow" border="0" height="624" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiltLVHnQKlBuFwK5zcQRehNuMONrw0DX_msaVV1XmUuDwVAhV3R3HDKtwoLermV0nlBnpTuRLiZ91gmhv_MbMDly9OCyx5MVNUCNIp1cfx0jcTRhaJH6_msQZSuuYigLOtyI8bAgiwa1q8/s640/DataUpload.png" title="" width="640" /></a></div>
Basically, everything agent based bar Alerts, Capacity and Configuration Assessment can be done via direct OMS agent and therefore either direct to OMS, via proxy or via a forwarder.<br />
<br />
A gateway is great for areas of your network which may not have internet connectivity (air gapped etc) or maybe you just want to streamline your connections to one device and out rather than multiple servers hitting your proxy server.<br />
<br />
The other thing to note is the AD Replication and Wire Data solutions, along with IIS, Windows Security and Windows Firewall log collection don't go anywhere near a SCOM environment. So even if you are using your SCOM environment in a hybrid deployment with OMS, take note that you still need to handle the data upload for these solutions as you would if they were direct attached agents.<br />
<br />
I've also included an embedded Excel version of the table that allows you to quickly filter the data to see what the requirements are.<br />
<br />
<br />
<iframe frameborder="0" height="600" scrolling="no" src="https://onedrive.live.com/embed?cid=39C3A025297820A4&resid=39C3A025297820A4%21718151&authkey=AMT3ukUv7Mzatio&em=2&ActiveCell='Sheet1'!A1&wdHideGridlines=True&wdHideHeaders=True" width="800"></iframe>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com32tag:blogger.com,1999:blog-5536481848801330672.post-49148610697469611312016-01-01T16:22:00.000+00:002016-01-01T16:22:20.718+00:00What's coming for System Center in 2016?So, 2015 has drawn to a close and 2016 has been ushered in.<br />
<br />
While System Center Configuration Manager may have managed to squeeze <a href="http://blogs.technet.com/b/in_the_cloud/archive/2015/12/08/the-ga-of-system-center-configuration-manager-1511.aspx" target="_blank">out of the gates early</a>, we already knew that the wider System Center suite (along with Windows Server as well) wouldn't be seeing a generally available release until 2016.<br />
<br />
We still don't have a confirmed date as of yet, but with licensing details (<a href="http://download.microsoft.com/download/7/2/9/7290EA05-DC56-4BED-9400-138C5701F174/SC%202016%20SE_DC_Licensing_Datasheet.pdf" target="_blank">here</a> and <a href="http://download.microsoft.com/download/7/2/9/7290EA05-DC56-4BED-9400-138C5701F174/WSSC2016LicensingFAQ.pdf" target="_blank">here</a>) having been announced and the previews being at the Technical Preview 4 (TP4) stage, if I was a betting man I would place it towards Q3 of 2016 for release.<br />
<br />
<h3>
Based on the TP4 release, what do we know at present?</h3>
The Technical Preview is available to download from here:<br />
<a href="https://www.microsoft.com/en-us/evalcenter/evaluate-system-center-technical-preview">https://www.microsoft.com/en-us/evalcenter/evaluate-system-center-technical-preview</a><br />
<br />
<br />
Well the core components that were in the 2012 R2 release are mainly still staying around to get an upgrade in the 2016 release.<br />
<br />
These are:<br />
<ul>
<li>Virtual Machine Manager</li>
<li>Operations Manager</li>
<li>Data Protection Manager</li>
<li>Service Manager</li>
<li>Orchestrator</li>
<li>Service Management Automation</li>
<li>Service Provider Foundation</li>
</ul>
<div>
<br /></div>
<ul>
</ul>
<h4>
If that's what's in, what if anything is not getting a refresh for 2016?</h4>
Well, <b>App Controller</b> has been deprecated, but this has been known for a while.<br />
The on-premises functions are basically replaced with Windows Azure Pack and, let's be honest, not many people used it for deploying VM's into Azure<br />
<br />
A little more surprising, well for me at least, is the removal of <b>Service Reporting</b>.<br />
This was used in conjunction with Windows Azure Pack and gave the ability when used with VMM and SCOM to provide usage monitoring and reporting for billing purposes.<br />
<br />
The suggestion from Microsoft is to utilise a third-party utilisation/billing system. So if you needed this functionality I'd suggest starting to look at things like Cloud Cruiser (which has an express "free" version for Windows Azure Pack only deployments).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicU7CMY5rnY1ytJyOtQ0qj1HpLmzcKZydDtiUFRnnI4LDwPGizZGr5UUzY0Ie3nfmOpR3gVbRAiLIL48qFp9vTMJqV0jlA_Qh0Sp68tgGLztTkNsE347FGy0fg5FaiV01xcBBpUSdRlSv-/s1600/SC2016.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicU7CMY5rnY1ytJyOtQ0qj1HpLmzcKZydDtiUFRnnI4LDwPGizZGr5UUzY0Ie3nfmOpR3gVbRAiLIL48qFp9vTMJqV0jlA_Qh0Sp68tgGLztTkNsE347FGy0fg5FaiV01xcBBpUSdRlSv-/s640/SC2016.png" width="640" /></a></div>
<br />
<br />
There are also some other side features/addons for System Center that have finally had the curtains drawn on them:<br />
<ul>
<li><b>Service Manager:</b></li>
<ul>
<li>IT GRC Process Management Pack</li>
<li>Cloud Service Process Pack</li>
</ul>
<li><b>Operations Manager:</b></li>
<ul>
<li>Visio Management Pack Authoring</li>
</ul>
<li><b>Virtual Machine Manager:</b></li>
<ul>
<li>Server App-V Support</li>
<li>Citrix XenServer Support</li>
<li>Vmware vCenter 4.1 & 5.1 Support (5.5 and 5.8 are still supported)</li>
</ul>
</ul>
<br />
So there's no doom and gloom, a bit of fat trimming, but nothing scary.<br />
<br />
Source: <a href="https://technet.microsoft.com/en-us/library/mt162212.aspx" target="_blank">Features Removed from System Center Technical Preview</a><br />
<br />
<h4>
On a positive note, what's new?</h4>
Well as expected, all components will be getting Windows Server 2016 support, both from an underlying OS to install on as well as a supported OS for management, monitoring and deploying (where applicable). Also SQL 2014 will be supported as a target for component installation.<br />
<br />
<b>Virtual Machine Manager</b> <b>(VMM)</b> is getting the biggest amount of new features, which is quite understandable since it is driven by new features that come in the virtualisation and storage parts of Windows Server 2016.<br />
<br />
A high level summary of these features are:<br />
<ul>
<li>Management capabilities for Guarded Hosts and Shielded VM's</li>
<li>Consistent naming of VM Network Adapters</li>
<li>Easier Logical Switch creation</li>
<li>Conversion of standard switches created outside of VMM into Logical Switches</li>
<li>Better failure reporting on failed logical switch creation/modification tasks</li>
<li>Enhanced Quality of Service (QoS) for storage</li>
<li>Support (finally!!) for creating storage tiers for Storage Spaces</li>
<li>Support for Storage Spaces Direct</li>
<li>Mixed Cluster Support and Rolling Upgrades</li>
<li>VM Static Memory Configuration while VM is running</li>
<li>Hot add/remove network adapters</li>
<li>New VM Checkpoint support ("Production" checkpoints in Server 2016)</li>
</ul>
<br />
<b>Operations Manager</b> <b>(SCOM)</b> so far in TP4 doesn't have a huge list, but what we are seeing are more and more cool features being lit up within Operations Manage Suite, of which SCOM can extend and integrate to.<br />
<ul>
</ul>
<div>
A high level summary of these features are:</div>
<ul>
<li>Updates and Recommendations of management packs running in the SCOM environment</li>
<li>Further management pack catalog improvements (including mpb support)</li>
<li>Monitoring support for Nano Server</li>
<li>Maintenance Mode Schedules</li>
<li>Performance Improvements</li>
</ul>
<br />
<b>Data Protection Manager</b> <b>(DPM)</b> again doesn't have a massive new feature set in TP4.<br />
<br />
A high level summary of these features are:<br />
<ul>
<li>Protect mixed mode clusters</li>
<li>New form of change tracking to replace VSS snapshot-based backups - Resilient Change Tracking (RCT)</li>
<li>Storage Spaces Direct (S2D) support</li>
<li>Virtual TPM support for protection of Shielded VMs</li>
</ul>
<br />
<b>Service Manager</b> <b>(SCSM)</b> has a few new bits in TP4.<br />
<br />
<div>
A high level summary of these features are:</div>
<ul>
<li>The default Self-Service Portal will be the new HTML5 portal introduced in Update Rollup 8 for 2012 R2 and replaces the Silverlight & SharePoint based portal</li>
<li>Support for presence awareness and IM with Lync 2013 & Skype for Business</li>
<li>Performance Enhancements</li>
<ul>
<li>ECL Logging can be optionally disabled</li>
<li>Grooming improvements for ECL logs</li>
<li>Reduction in lag for Incident Workflows (batch size increased)</li>
<li>AD Group expansion integrated into AD Connector tasks</li>
<li>SQL AlwaysOn installation changes</li>
</ul>
</ul>
<div>
SCSM also had some updates in TP3 that get carried across:</div>
<ul>
<li>Write collision avoidance to help deal with conflicting changes</li>
<li>AD Connector no longer performs a full sync after changing target domain controller</li>
<li>MPSync jobs are now more reliable</li>
<li>Further performance improvements for connectors</li>
<li>AD Connector sync schedules can now be configured to a schedule you choose.</li>
</ul>
The latest #LyncUp call also announced that the Service Request area enumeration list will get moved into an unsealed management pack (sounds like a small change, but is long overdue!)<br />
<br />
<b>Service Management Automation (SMA) </b>has the following planned:<br />
<ul>
<li>Support for PowerShell 5.0</li>
<li>PowerShell ISE add-on</li>
<li>Native PowerShell script support</li>
<li>Designate a runbook worker</li>
<li>Caching of Runbooks for more predictable execution</li>
</ul>
<br />
<b>Orchestrator (SCORCH)</b>… don't be expecting anything new for this component in the 2016 release, other than splash screens being changed to say 2016 and some updates to the Integration Packs to support the other System Center 2016 components.<br />
<br />
We have however seen the "beta" release of the migration tools for Orchestrator that will allow runbooks to be migrated to Azure Automation.<br />
<br />
I have a previous post on the migration tools:<br />
<a href="http://www.systemcenter.ninja/2015/11/system-center-orchestrator-migration.html">http://www.systemcenter.ninja/2015/11/system-center-orchestrator-migration.html</a><br />
<br />
Source: <a href="https://technet.microsoft.com/en-us/library/mt445442.aspx" target="_blank">What's New in System Center Technical Preview</a><br />
<br />
<h4>
In Summary...</h4>
The core of System Center remains the same in the 2016 release, with improvements, some new features and OS support but with a strong focus on Cloud based service integration with Azure and Operations Management Suite (which includes Automation, Backup and Site Recovery under that umbrella).<br />
<br />
Please keep in mind, all of this is based on Technical Preview information (i.e. beta's) so is subject to change at any point.<br />
<br />
<h4>
Have your say</h4>
It's never too late to influence the future of System Center. If you have an idea or a request, make sure you head over to the Uservoice sites and make it heard!<br />
<br />
<ul>
<li>VMM - <a href="https://systemcentervmm.uservoice.com/forums/280803-general-vmm-feedback/filters/top">https://systemcentervmm.uservoice.com/</a></li>
<li>SCOM - <a href="http://systemcenterom.uservoice.com/forums/293064-general-operations-manager-feedback/filters/top">http://systemcenterom.uservoice.com/</a></li>
<li>DPM - <a href="https://feedback.azure.com/forums/258995-azure-backup-and-scdpm/filters/top">https://feedback.azure.com/forums/258995-azure-backup-and-scdpm/</a></li>
<li>ConfigMgr - <a href="https://configurationmanager.uservoice.com/forums/300492-ideas">https://configurationmanager.uservoice.com/forums/300492-ideas</a></li>
<li>WAP - <a href="https://feedback.azure.com/forums/255259-azure-pack">https://feedback.azure.com/forums/255259-azure-pack</a></li>
</ul>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com260tag:blogger.com,1999:blog-5536481848801330672.post-88748546113968685672015-12-26T15:19:00.002+00:002016-04-12T10:30:46.598+01:00Customising the Service Manager HTML5 PortalMicrosoft have released a new HTML5 Portal, released as Update Rollup 8 for Service Manager, and we again have a few different areas in which to do customisations.<br />
<br />
In this post I will outline both the most common basic customisation you will want to do after installation (branding the portal for your organisation) and a slightly more deeper customisation (adding a new item to the side bar).<br />
<br />
<b>Basic Customisation:</b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMq9Rx8x6FGKAr3hytJbJTTvl3L6gqRTkssVWchyphenhyphenkmsnPUubBfOBqs8sGR3UHlayZEmLrgKQ9rjyJVOi4GbRPKBxsxo3E20Q-OeOrzHUR3vzYVeHkutwuT3yADp31R1tMBaeVCbYWDHMyT/s1600/Basic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMq9Rx8x6FGKAr3hytJbJTTvl3L6gqRTkssVWchyphenhyphenkmsnPUubBfOBqs8sGR3UHlayZEmLrgKQ9rjyJVOi4GbRPKBxsxo3E20Q-OeOrzHUR3vzYVeHkutwuT3yADp31R1tMBaeVCbYWDHMyT/s400/Basic.png" width="335" /></a></div>
<br />
After a default installation, one of the first things you're likely going to want to change is the basic info.<br />
<br />
This consists of:<br />
<ul>
<li>Site Tile (Default Contoso Service Desk)</li>
<li>Support Contact Information (Defaults to Contoso Support with a 12345 number).</li>
</ul>
This is done via the web.config file found in the root of the installation folder (by default C:\inetpub\wwwroot\SelfServicePortal).<br />
<br />
Lines 18 - 37 are the ones to focus on (for now) and allow you to change the defaults to something more suitable for your environment.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAVQVEDtJQco6j-dTkl9tH4v1N0y3vZ7jOtVvpOUWefVrXATCucUlo2tFsxjlOGNnnPoseCFBIqFGD0cR3z_6d8r1wawnADDM_9PIq8w0_47fopy4LtDat3SPIeXWiGGqTXQwMz0TKrcwO/s1600/webconfig.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAVQVEDtJQco6j-dTkl9tH4v1N0y3vZ7jOtVvpOUWefVrXATCucUlo2tFsxjlOGNnnPoseCFBIqFGD0cR3z_6d8r1wawnADDM_9PIq8w0_47fopy4LtDat3SPIeXWiGGqTXQwMz0TKrcwO/s400/webconfig.png" width="375" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<ul>
<li>Lines 20 - 23 alter the site title and basic contact information.</li>
<li>Line 25 usually gets set to French, so amend to reflect your preferred default language.</li>
<li>Line 27 should be changed if you have a custom template that needs using for logging a basic incident request.</li>
<li>Line 29 should have been set correctly during installation and will reflect the SCSM Management server to use for all SDK calls.</li>
<li>Line 30 controls how much data is pulled back from a query in a request offering</li>
<li>Lines 32 & 33 control the timeouts on the caching of information used by the portal (only play with when testing or have a specific need, these defaults should suffice for most)</li>
<li>Line 35 will control the upload of telemetry data to Microsoft.<br /><b>N.B. </b>Please don't immediately go and turn this off as a knee jerk reaction to "Microsoft are invading my privacy!!". The more telemetry Microsoft can get around usage of the portal, the better they can make it!</li>
</ul>
<br />
<b>Deeper Customisation:</b><br />
One example of a more deeper customisation is modification of the side bar. For example there may be a requirement to add your own link to perhaps an external site.<br />
<br />
In the following example, I'll add a link to the Configuration Manager Software Catalog.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMSD8FHSNP9p_8bhoB6Fec5dajYKBJTQ5RQOAE51V3x-JvkjrWfALV9UhVgpeUt9cnI9_9JFFnNCF9JBWiBIMX9J4AEVhkxIUaVXEdlnteMo94AXTBV87JztVRyJS3lLRXjXL9uRUA1P_s/s1600/sidebar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMSD8FHSNP9p_8bhoB6Fec5dajYKBJTQ5RQOAE51V3x-JvkjrWfALV9UhVgpeUt9cnI9_9JFFnNCF9JBWiBIMX9J4AEVhkxIUaVXEdlnteMo94AXTBV87JztVRyJS3lLRXjXL9uRUA1P_s/s400/sidebar.png" width="247" /></a></div>
<br />
<br />
Open the Sidebar.cshtml file in either notepad, or some other editor (Default location is C:\inetpub\wwwroot\SelfServicePortal\Views\Shared\Sidebar.cshtml)<br />
<br />
The first DIV section controls the collapsed state of the sidebar (Usually line 13)<br />
<div class="side_nav_bar col side_menu"><br />
<br />
Within this section adding the following code will add a new item:<br />
<br />
<div class="row side_nav_sccm" accesskey="S" tabindex="9" data-toggle="tooltip" title="Software Catalog"><br />
<span class="icon-Dictionary icon icon-pos icon-medium"></span><br />
</div><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSBNMlcdV1SR_m4f-AuSJ92T6gzr8iMAwM5KAOxeTdZ6_vhIyzJ6ktJSsGkLUlhXjVhqDqjUAchebXBi8grp0q2V3A5rVkA0ElTOGEsgVtehV0PzWlzjEqhzKaBlYWV5Km6NLFnfQhwghC/s1600/sidebar1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSBNMlcdV1SR_m4f-AuSJ92T6gzr8iMAwM5KAOxeTdZ6_vhIyzJ6ktJSsGkLUlhXjVhqDqjUAchebXBi8grp0q2V3A5rVkA0ElTOGEsgVtehV0PzWlzjEqhzKaBlYWV5Km6NLFnfQhwghC/s400/sidebar1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<ul>
<li><b>Class="row side_nav_sccm"</b> is used to name this section artefact</li>
<li><b>accesskey=""</b> part to bind the icon to the S Key</li>
<li><b>tabindex=""</b> assigns the order of which pressing the tab key cycles through the items.</li>
<li><b>title=""</b> is the text shown as a tooltip when hovering over icon</li>
</ul>
The span class code is used to choose the icon displayed, in this example I've specified the Dictionary icon using icon-Dictionary which is the same icon used for accessing the Service Catalog at the top of the sidebar.<br />
<br />
The list of icons already defined for use in the portal can be found in the main.css file in the .\Content\CSS folder from usually about line 2024. These are basically friendly name mappings for the character codes used within the fonts found in the .\Content\CSS\fonts folder.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigPTrS9U_5yKudq72KYGZaEdXCCUtTEsattZxWqFQZiPPLqUVhJnNyGHIicaaCsoCG5tlI44Gfcv8ZqVqOqNoicFzxA0zoRzQv2gOChBLCJh2hENL4d4289vR6qCo8fgrNALOIKoq8DkeB/s1600/iconsinmaincss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigPTrS9U_5yKudq72KYGZaEdXCCUtTEsattZxWqFQZiPPLqUVhJnNyGHIicaaCsoCG5tlI44Gfcv8ZqVqOqNoicFzxA0zoRzQv2gOChBLCJh2hENL4d4289vR6qCo8fgrNALOIKoq8DkeB/s400/iconsinmaincss.png" width="225" /></a></div>
<br />
You can either reference one of these friendly names, like I have in this example using icon-Dictionary, or dig deeper into the font file, find the icon you like and then create your own friendly name for reference.<br />
<br />
<b><strike>TIP:</strike></b><strike> If you can't convert the woff file to a ttf to be able to view it in Character Map, then you might want to check the OneDrive API GitHub site which hosts a copy.</strike><br />
<a href="https://github.com/OneDrive/onedrive-api-docs/tree/master/html-template/css"><strike>https://github.com/OneDrive/onedrive-api-docs/tree/master/html-template/css</strike></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4hFIWugXtTrv0FRI8m9OF-HwgRJ4ZBhwiAtqHt97gEzLXJZmKgynumx58vIJNXt1qiFm8x2NNotRFLHlw9WvHctohsBDwpXGxN_NQUBhOK5oHuPpJrVBZ6jdQ0VQ8Hpy0k1DmUHmjrkw_/s1600/fontmapping.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4hFIWugXtTrv0FRI8m9OF-HwgRJ4ZBhwiAtqHt97gEzLXJZmKgynumx58vIJNXt1qiFm8x2NNotRFLHlw9WvHctohsBDwpXGxN_NQUBhOK5oHuPpJrVBZ6jdQ0VQ8Hpy0k1DmUHmjrkw_/s320/fontmapping.png" width="298" /></a></div>
<br />
<b>** Updated 12/04/2016**</b><br />
The link I had previously to the font for use in CharMap is now dead :(<br />
<br />
However, thanks to Donato Pasqualicchio @ MSFT, here is a link to this useful cheat sheet for the font: <a href="http://modernicons.io/segoe-mdl2/cheatsheet/">http://modernicons.io/segoe-mdl2/cheatsheet/</a><br />
<br />
Back in the Sidebar.cshtml file that we're customising... <br />
<br />
The second DIV section controls the expanded state of the sidebar<br />
<div class="side_nav_bar_expand col side_menu"><br />
<br />
Within this section add the following code to control how the button looks like in the expanded state, along with the URL to use when clicked.<br />
<br />
<div class="row side_nav_sccm"><br />
<span class="icon-Dictionary icon-medium icon icon-pos"></span><br />
<span class="icon-text icon-text-pos"><a href="http://ponconfigmgr01/cmapplicationcatalog/#/SoftwareCatalog" target="_blank">Software Catalog</a></span><br />
</div><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-hrhrA-NMePpHWxluWbix_A-byqahHXbosSafs_cTIAgk0XkNIo8TUhs2qqEusyAzSXmweo_ab3Z_zbLuq9D-OwimXocHH-Lbf5PrXrP6QFUCjSFTZDiWdsUp1OTToUkAYtorkvgUU33u/s1600/sidebar2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-hrhrA-NMePpHWxluWbix_A-byqahHXbosSafs_cTIAgk0XkNIo8TUhs2qqEusyAzSXmweo_ab3Z_zbLuq9D-OwimXocHH-Lbf5PrXrP6QFUCjSFTZDiWdsUp1OTToUkAYtorkvgUU33u/s400/sidebar2.png" width="400" /></a></div>
<br />
<br />
<div>
<b>Class="row side_nav_sccm"</b> is used to name this section artefact</div>
<br />
The first bit of span class code is used to choose the icon displayed, so I've kept it the same as the icon in the minimised state (icon-Dictonary).<br />
<br />
The second bit of span class code is used to define the text to show alongside the icon. <br />
It's also here that I insert a URL that becomes the icon text and will open a new tab to the URL when clicked.<br />
<br />
Save the sidebar.cshtml file, refresh the page and the new icon should be there and working!<br />
<br />
I'm working on some further customisation posts, but feel free to post a comment if there is any specific customisation scenario you would like me to cover.<br />
<b></b>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com55tag:blogger.com,1999:blog-5536481848801330672.post-24834804951961324132015-12-23T23:15:00.001+00:002015-12-23T23:15:23.826+00:00Using Azure Automation DSC to configure and deploy the new SCSM Portal (Part 2)So in the previous post I outlined creating a basic configuration file for DSC to deploy the new HTML5 Self-Service Portal for System Center 2012 R2 Service Manager.<br />
<br />
Previous Post: <a href="http://www.systemcenter.ninja/2015/12/using-azure-automation-dsc-to-configure.html">http://www.systemcenter.ninja/2015/12/using-azure-automation-dsc-to-configure.html</a><br />
<br />
In this post I thought I'd produce a quick video showing adding a server as a DSC node, applying the Configuration to it and checking the configuration applied.<br />
<br />
Also, after the video break, I thought I'd detail a couple of additions I made to the configuration that weren't in the first post.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/IaCiumT9Vaw/0.jpg" src="https://www.youtube.com/embed/IaCiumT9Vaw?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
So if you just watched the video you'll have noticed I added a bit more configuration using something called DSC Resources.<br />
<br />
Specifically I used <b>xWebAdministration</b> and <b>xNetworking</b>, both of which can be found on the PowerShell Gallery.<br />
<br />
<a href="http://www.powershellgallery.com/">http://www.powershellgallery.com/</a><br />
<br />
<i>The PowerShell Gallery is the central repository for PowerShell content. You can find new PowerShell commands or Desired State Configuration (DSC) resources in the Gallery.</i> <br />
<br />
<b>xWebAdministration Module</b> - <a href="http://www.powershellgallery.com/packages/xWebAdministration/">http://www.powershellgallery.com/packages/xWebAdministration/</a><br />
<b>xNetworking Module</b> - <a href="http://www.powershellgallery.com/packages/xNetworking/">http://www.powershellgallery.com/packages/xNetworking/</a><br />
<br />
Both these modules contain multiple resources that can be used to aid in configuration.<br />
<br />
The cool thing here is modules can be either deployed directly from the PowerShell Gallery into your Azure Automation subscription, or along with custom resources, uploaded as a zip file via the Azure Portal.<br />
<br />
You can find them within your <b>Assets</b> > <b>Modules</b> section of the portal.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiytKfzh4OPoDv9J3mzkG0wiavku9_Mln5vUe7Pxe_e6Xw5WMpbJ55H8YUHrQCmynngylMCcVQZa7ohp6qDW_Zppf4EhrwmKQquY8wZnxDKzlZldMHy3SdR58iTW3G8G0ZDENXr7oMPKpBs/s1600/Modules.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiytKfzh4OPoDv9J3mzkG0wiavku9_Mln5vUe7Pxe_e6Xw5WMpbJ55H8YUHrQCmynngylMCcVQZa7ohp6qDW_Zppf4EhrwmKQquY8wZnxDKzlZldMHy3SdR58iTW3G8G0ZDENXr7oMPKpBs/s640/Modules.png" width="640" /></a></div>
<br />
<br />
I'm using from the <b>xWebAdministration</b> module the <b><i>xWebsite</i></b> resource to change the port of the default web site in IIS from port 80 to 81 so that I can reutilise port 80 for the new SCSM SSP.<br />
<br />
I do this by creating a new <b><i>xWebsite</i></b> section named DefaultWebsite and then use the BindingInfo section to declare which port the web site (Identified in the Name = "Default Web Site" part) should be using.<br /><b><br />xWebsite DefaultWebsite <br /> { <br /> Ensure = "Present" <br /> Name = "Default Web Site" <br /> State = "Started" <br /> PhysicalPath = "C:\inetpub\wwwroot"<br /> BindingInfo = MSFT_xWebBindingInformation <br /> { <br /> Protocol = "HTTP" <br /> Port = 81<br /> } <br /> DependsOn = "[WindowsFeature]WebServer" <br /> }</b> <br />
<br />
Deeper details and resources can be found on the projects GitHub site:<br />
<a href="https://github.com/PowerShell/xWebAdministration">https://github.com/PowerShell/xWebAdministration</a><br />
<br />
<br />
I'm then doing a similar thing with the<b><i> xFirewall</i></b> resource from the<b> xNetworking</b> module to create a new firewall rule<br />
<br /><b>xFirewall SCSMSSPFirewallRule <br /> { <br /> Direction = "Inbound" <br /> Name = "SCSM-SSP-Web-TCP-In" <br /> DisplayName = "SCSM SSP Web Server (TCP-In)" <br /> Description = "Allow incoming web site traffic to SCSM SSP." <br /> DisplayGroup = "PowerONPlatforms" <br /> Enabled = "True"<br /> Action = "Allow" <br /> Protocol = "TCP" <br /> LocalPort = "80" <br /> Ensure = "Present" <br /> }</b><br /><br />
Deeper details and resources can be found on the projects GitHub site:<br />
<a href="https://github.com/PowerShell/xNetworking">https://github.com/PowerShell/xNetworking</a><br />
<br />
<br />This is by no means a production ready example, but does give some basics around using some of the built in resources (WindowsFeature & Package) along with some custom resources (xWebAdministration and xWebsite) and where to go find them (PowerShell Gallery).<br />
<br />
Also, please note the SCSM Portal still requires both modifications to the web.config file and the Update 1 hotfix installing afterwards.<br />
<br />
<a href="https://www.microsoft.com/en-us/download/details.aspx?id=50362">https://www.microsoft.com/en-us/download/details.aspx?id=50362</a><br />
<br />
<br /><br />Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com6tag:blogger.com,1999:blog-5536481848801330672.post-43256568315037386832015-12-22T15:30:00.001+00:002015-12-23T23:16:14.099+00:00Using Azure Automation DSC to configure and deploy the new SCSM Portal (Part 1)On Nov 10th Microsoft released a new HTML portal for System Center Service Manager 2012 R2.<br />
<br />
The installation is fairly straight forward, however there are still some pre-requisites that need to be in place and I also thought it would be good to introduce delivering this via Azure Automation Desired State Configuration (DSC).<br />
<br />
The main reason for looking to do this via DSC is also the ongoing maintenance.<br />
Things happen. People can make mistakes, features and roles can be accidently removed.<br />
<br />
DSC provides a set of configuration that;<br />
<ul>
<li>should be applied to a server</li>
<li>will be applied to a server to bring it into compliance</li>
<li>will then continue to check the server for compliance</li>
<li>will attempt to remediate and bring it back into compliance should it drift.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkHtwd_u7zYSYWcFvfJT3V3kqDthv5pwQpnkwGVjtwT3FSsyodIGvNiHFK3oHMwpIRbKG3KD9AawBioAtj79xyOjR-ovF9dAqWl-tVwRJp77L3qJtt-B83jjlb86WRJEm8uVlalkdeg7-a/s1600/DSC_Overview.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkHtwd_u7zYSYWcFvfJT3V3kqDthv5pwQpnkwGVjtwT3FSsyodIGvNiHFK3oHMwpIRbKG3KD9AawBioAtj79xyOjR-ovF9dAqWl-tVwRJp77L3qJtt-B83jjlb86WRJEm8uVlalkdeg7-a/s640/DSC_Overview.png" width="640" /></a></div>
<br />
So what do we need?<br />
<br />
Well the new portal is an IIS site and therefore requires some windows features to be installed. These are:<br />
<br />
<ul>
<li>Web-Server</li>
<li>Web-Filtering</li>
<li>Web-Basic-Auth</li>
<li>Web-Windows-Auth</li>
<li>Web-Mgmt-Console</li>
<li>Web-Mgmt-Compat</li>
<li>Web-Net-Ext45</li>
<li>Web-ASP</li>
<li>Web-Asp-Net45</li>
<li>NET-Framework-45-ASPNET</li>
<li>NET-WCF-HTTP-Activation45</li>
</ul>
<br />
These can be easily added using a single PowerShell line:<br />
<span style="color: blue; font-family: "lucida console"; font-size: xx-small;"><span style="color: blue; font-family: "lucida console"; font-size: xx-small;"><span style="color: blue; font-family: "lucida console"; font-size: xx-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Add-WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Server</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Filtering</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Basic-Auth</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Windows-Auth</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Mgmt-Console</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Mgmt-Compat</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Net-Ext45</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-ASP</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">Web-Asp-Net45</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">NET-Framework-45-ASPNET</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">NET-WCF-HTTP-Activation45</span></span></span></span></span></span><span style="font-family: "lucida console"; font-size: xx-small;"><br />
</span><br />
<br />
But installation, as I mentioned, is only part of the story. Making sure these features remain in place is where DSC come in.<br />
<br />
In DSC we create a "Configuration" file which lays out how the assigned server should be configured.<br />
For Windows features there is a specific DSC Resource we use, aptly named, WindowsFeature.<br />
<br />
For each windows feature that we require we use a block like this:<br />
<br />
<span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebServer</span></span></span>
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><br />
<span style="font-family: "consolas"; font-size: x-small;">{<br />
</span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Ensure</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Name</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Server"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">}</span></span><br />
<br />
So basically we name the code block with something meaningful (as we may reference later) with the <b>WindowsFeature</b> resource, use the <b>Name</b> property to specify the Windows Feature to check (Use Get-WindowsFeature in PowerShell to check for the name you require) and then use the <b>Ensure</b> property to state whether the named feature should either be present on the server or not (our intention).<br />
<br />
Further properties and information can be found here:<br />
<a href="https://technet.microsoft.com/en-us/library/dn282127.aspx">https://technet.microsoft.com/en-us/library/dn282127.aspx</a><br />
<br />
So for all our Windows Feature requirements for the SCSM Portal we get:<br />
<span style="color: darkgreen; font-family: "consolas"; font-size: x-small;">#Install the required IIS features</span><br />
<span style="color: darkgreen; font-family: "consolas"; font-size: x-small;"><span style="color: darkgreen; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebServer</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Server"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebFiltering</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Filtering"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebBasicAuth</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Basic-Auth"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebWindowsAuth</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Windows-Auth"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebMgmtConsole</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Mgmt-Console"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebMgmtCompat</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Mgmt-Compat"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebNetExt45</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Net-Ext45"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebASP</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Asp"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebASPNet45</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Asp-Net45"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">NETFramework45ASPNET</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"NET-Framework-45-ASPNET"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">NETWCFHTTPActivation45</span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">{</span><br />
<span style="font-family: "consolas"; font-size: x-small;">Ensure </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">Name </span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span><span style="font-family: "consolas"; font-size: x-small;"> </span><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"NET-WCF-HTTP-Activation45"</span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<span style="font-family: "consolas"; font-size: x-small;"><br /></span>
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />
Well, that's the Windows Features sorted.<br />
Now please, bear with me here as so far it looks like a lot more work as opposed to that single PowerShell one liner...<br />
<br />
Next is the installation of the SCSM Portal.<br />
<br />
For this we utilise the <a href="https://technet.microsoft.com/en-us/library/dn282132.aspx">DSC Package Resource</a> and it looks something like this:<br />
<br />
<span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Package</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">SCSMSSP</span></span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">{<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Name</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"SCSM SSP"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Path</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"C:\DSC\SSP\SetupWizard.exe"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">ProductId</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"17F5D20F-47FB-485E-8CFC-4768C3C3F460"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Arguments</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"/Install:SelfServicePortal /silent /accepteula /CustomerExperienceImprovementProgram:No /EnableErrorReporting:No /SMServerName:</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKServer</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"> /PortalWebSiteName:SCSMPortal /PortalWebSitePort:81 /PortalAccount:</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$Domain</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">\</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMUser</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">\</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMPassword</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Ensure</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span>
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">DependsOn</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> @(</span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebServer"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebFiltering"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebBasicAuth"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebWindowsAuth"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebMgmtConsole"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebMgmtCompat"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebNetExt45"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebASP"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebASPNet45"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]NETFramework45ASPNET"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]NETWCFHTTPActivation45"</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;">}</span><br />
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />
<br />
So again, we provide a name for the Package Resource code block (SCSMSSP) and a more friendly name for the <b>Name</b> property.<br />
The <b>Path</b> property denotes where the installation file resides.<br />
The <b>ProductId</b> property is the unique GUID for the application to allow DSC to check for it's presence.<br />
The <b>Arguments</b> property is used for any command line to be passed to control the installation.<br />
Again, the <b>Ensure</b> property denotes if the software should be installed (present) or not installed (absent).<br />
<br />
The DependsOn property allows us to specify various resources that DSC should first ensure are compliant before attempting to run this resource.<br />
<br />
It's easy to specify a dependant resource, just wrap the DSC Resource type name in square brackets and then specify the name of that feature.<br />
So WindowsFeature WebASPNet45 becomes [WindowsFeature]WebASPNet45.<br />
<br />
One thing to note is that if you need to specify multiple dependencies then you need to specify them as a string formatted as an array.<br />
Do this by putting each feature formatted as just discussed in quotation marks " " and separating with a comma. Finally enclose it as an array - @( ).<br />
<br />
So if we required two features, WebMgmtCompat and WebASP we would have the following:<br />
<br />
<span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">DependsOn</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> @(</span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebMgmtCompat"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebASP"</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><br />
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />
So we're almost there...<br />
<br />
For those that were paying attention, you may have noticed that the arguments property string contained some variables.<br />
This allows us to prompt when compiling the DSC configuration for various settings to prevent hard coding data and allow for reuse.<br />
Just like normal PowerShell we put these at the beginning in a Param block.<br />
<br />
<span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Param</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">(</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;">Parameter</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">(Mandatory</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$true</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;">string</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKServer</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;">Parameter</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">(Mandatory</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$true</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;">string</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$Domain</span></span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)<br />
</span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKCred</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Get-AutomationPSCredential</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-Name</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"SCSMSDKCredentialAsset"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMUser</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKCred</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">.</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">UserName</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMPassword</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKCred</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">.</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">GetNetworkCredential()</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">.</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">Password</span></span><br />
<div>
<b></b><i></i><u></u><sub></sub><sup></sup><strike><br /></strike></div>
<div>
I'm also going to leverage the Credentials Asset feature of Azure Automation.</div>
<div>
This allows you to securely store username and password combo's within Azure Automation as an asset to then be reused in Runbooks and DSC. Again, allowing us to avoid hardcoding sensitive data and not having to prompt for them at each compilation.</div>
<div>
<br /></div>
<div>
I'm using the Get-AutomationPSCredential command to retrieve it and then split the PSCredential object down to username and password.</div>
<div>
<br /></div>
<div>
However, because I'm utilising this for the command line arguments for the executable installation I can't use it as a PSCredential and have to supply a non encrypted password, hence the use of the .GetNetworkCredential().Password to pull the unencrypted password out of the object.</div>
<div>
<br /></div>
<div>
<b>N.B.</b> This has the side effect of storing the password in clear text within the MOF that gets compiled and pushed down to the DSC node.</div>
<div>
<br /></div>
<div>
Because of this, it also means that compilation of the configuration can not be done via the Azure Portal and only by PowerShell as you will need to add configuration to the compilation task to tell it to allow the use of plain text passwords. More on this later.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The final DSC Configuration script looks like this:</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">Configuration</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">SCSMPortal</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">param</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">(</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;">Parameter</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">(Mandatory</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$true</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><br />
<span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;">string</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKServer</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><br />
<span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;"><span style="color: deepskyblue; font-family: "consolas"; font-size: x-small;">Parameter</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">(Mandatory</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$true</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><br />
<span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">[</span></span></span><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;"><span style="color: teal; font-family: "consolas"; font-size: x-small;">string</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">]</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$Domain</span></span></span><br />
<span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
)<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKCred</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Get-AutomationPSCredential</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-Name</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"SCSMSDKCredentialAsset"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMUser</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKCred</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">.</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">UserName</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMPassword</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKCred</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">.</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">GetNetworkCredential()</span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">.</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">Password</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">Node </span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">"WebServer"</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
{<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgreen; font-family: "consolas"; font-size: x-small;"><span style="color: darkgreen; font-family: "consolas"; font-size: x-small;"><span style="color: darkgreen; font-family: "consolas"; font-size: x-small;">#Install the required IIS features</span></span></span><br />
<span style="color: darkgreen; font-family: "consolas"; font-size: x-small;"><span style="color: darkgreen; font-family: "consolas"; font-size: x-small;"><span style="color: darkgreen; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebServer</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Server"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebFiltering</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Filtering"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebBasicAuth</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Basic-Auth"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebWindowsAuth</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Windows-Auth"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebMgmtConsole</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Mgmt-Console"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebMgmtCompat</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Mgmt-Compat"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebNetExt45</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Net-Ext45"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebASP</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Asp"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">WebASPNet45</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Web-Asp-Net45"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">NETFramework45ASPNET</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"NET-Framework-45-ASPNET"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">WindowsFeature</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">NETWCFHTTPActivation45</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"NET-WCF-HTTP-Activation45"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;"><span style="color: darkblue; font-family: "consolas"; font-size: x-small;">Package</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">SCSMSSP</span></span></span><br />
<span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;"><span style="color: blueviolet; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> {<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Name </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"SCSM SSP"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Path </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"C:\DSC\SSP\SetupWizard.exe"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> ProductId </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"17F5D20F-47FB-485E-8CFC-4768C3C3F460"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Arguments </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"/Install:SelfServicePortal /silent /accepteula /CustomerExperienceImprovementProgram:No /EnableErrorReporting:No /SMServerName:</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMSDKServer</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"> /PortalWebSiteName:SCSMPortal /PortalWebSitePort:81 /PortalAccount:</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$Domain</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">\</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMUser</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">\</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$SCSMPassword</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> Ensure </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"Present"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> LogPath </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"C:\DSC\SSP\SSP_Setup.log"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> DependsOn </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> @(</span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebServer"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebFiltering"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebBasicAuth"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebWindowsAuth"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebMgmtConsole"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebMgmtCompat"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebNetExt45"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebASP"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]WebASPNet45"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]NETFramework45ASPNET"</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">,</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"[WindowsFeature]NETWCFHTTPActivation45"</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">)</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
}<br />
}<br />
}</span></span></div>
<br />
Notice the Node reference?<br />
The DSC Resources used are wrapped within a Node <Name> section.<br />
This isn't mandatory, if you're only using this to configure a single server, but as a side effect of using Plain Text password and Azure Automation DSC this is required.<br />
<br />
<b>N.B.</b> <b></b>Thanks to <a href="http://twitter.com/bgelens">@bgelens</a> for pointing me at that requirement as I couldn't get it to work!!!<br />
<br />
<br />
So I mentioned you can't just import and compile this within the Azure Portal.<br />
You can still import it via the console, so go ahead and open your Azure Automation account | Click DSC Configurations | Add a Configuration | Browse to your Config File | Click OK.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSypshHVwDeWdk_kBgyj2N6nmqfGaDM7CqEvEfWFyiM6vjEo6Ie-VoMjvQTm8BeOdkElEhU-sARYAzRFhiV1Rb3i6Kp6FLlNIw82T0lPWLe698EEmvqojBF62fdeUVXIzq_MVMBniqKfBt/s1600/ImportDSCConfig.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSypshHVwDeWdk_kBgyj2N6nmqfGaDM7CqEvEfWFyiM6vjEo6Ie-VoMjvQTm8BeOdkElEhU-sARYAzRFhiV1Rb3i6Kp6FLlNIw82T0lPWLe698EEmvqojBF62fdeUVXIzq_MVMBniqKfBt/s640/ImportDSCConfig.png" width="640" /></a></div>
<br />
PowerShell code to compile the DSC Configuration:<br />
<div>
<b></b><i></i><u></u><sub></sub><sup></sup><strike><br /></strike></div>
<div>
<span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$ConfigData</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> @{</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> AllNodes </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> @(</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
@{<br />
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> NodeName </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"*"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> PSDscAllowPlainTextPassword </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$True</span></span></span><br />
<span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> }<br />
)<br />
} <br />
</span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"></span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$Parameters</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> @{</span></span><br />
<span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"SCSMSDKSERVER"</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"PONSCSM04"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"DOMAIN"</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"PowerON"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">}<br />
</span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"></span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$ResourceGroup</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"xxxxx"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"></span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$AccountName</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"xxxxx"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"></span></span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$ConfigurationName</span></span></span><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;"><span style="color: darkgrey; font-family: "consolas"; font-size: xx-small;">=</span></span></span><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">"xxxxx"</span></span></span><br />
<span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;"><span style="color: darkred; font-family: "consolas"; font-size: x-small;">
</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;">
</span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Login-AzureRmAccount<br />
</span></span></span><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;"><span style="color: blue; font-family: "consolas"; font-size: x-small;">Start-AzureRmAutomationDscCompilationJob</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-ResourceGroupName</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$ResourceGroup</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-AutomationAccountName</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$AccountName</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-ConfigurationName</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$ConfigurationName</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-ConfigurationData</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$ConfigData</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;"><span style="color: navy; font-family: "consolas"; font-size: x-small;">-Parameters</span></span></span><span style="font-family: "consolas"; font-size: x-small;"><span style="font-family: "consolas"; font-size: x-small;"> </span></span><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;"><span style="color: orangered; font-family: "consolas"; font-size: x-small;">$Parameters</span></span></span></div>
<br />
Main thing is the PSDscAllowPlainTextPassword. This flags the config to allow us to store the password in plain text within the MOF that gets downloaded to the DSC node, which we're doing by pushing the plain text password from the PSCredentialObject into a variable. <br />
(<b>N.B.</b> See update note below)<br />
<br />
Make sure you replace the $ResourceGroup, $AccountName, $ConfigurationName with relevant variables as well as the Prameters (SCSMSDKServer & Domain).<br />
<br />
All that is left is to assign this configuration to a node and sit back and watch the SCSM Portal install.<br />
I've not covered that piece in this post, but will have a "part 2" soon, along with a quick video showing the process end to end.<br />
<br />
<b>Now read Part 2 -</b> <a href="http://www.systemcenter.ninja/2015/12/using-azure-automation-dsc-to-configure_23.html">http://www.systemcenter.ninja/2015/12/using-azure-automation-dsc-to-configure_23.html</a><br />
<br />
<br />
** Updated 23/12/2015 ** <br />
Minor revision to installation command as I realised it wasn't using the RTW command line. Replaced SDKServerName with SMServerName and added PortalWebSiteName switches.<br />
<br />
**Updated 23/12/2015 **<br />
Joe from the Azure Automation team left a comment regarding the transfer of the MOF file is fully encrypted, and I must admit I didn't realise that WMF5 also encrypted the MOF locally so any worries of plain text passwords isn't really a worry at all!Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com8tag:blogger.com,1999:blog-5536481848801330672.post-49735148863311293812015-12-08T10:10:00.002+00:002015-12-08T10:10:40.316+00:00Adding Windows 10 Edge support for ADFSAfter implementing ADFS the other day we noticed that users on Windows 10 weren't seeing SSO via ADFS when using the edge browser.<br />
<br />
As a default, ADFS looks for certain strings from the browser to identify what the user is using and which ones are supported.<br />
<br />
Since Edge came out after the version of ADFS that ships with Server 2012 R2, the edge string isn't included, only the following by default:<br />
<br />
MSAuthHost/1.0/In-Domain<br />
MSIE 6.0<br />
MSIE 7.0<br />
MSIE 8.0<br />
MSIE 9.0<br />
MSIE 10.0<br />
Trident/7.0<br />
MSIPC<br />
Windows Rights Management Client<br />
<br />
This link gives you some information on configuring intranet forms based authentication: <a href="https://technet.microsoft.com/en-us/library/Dn727110.aspx">https://technet.microsoft.com/en-us/library/Dn727110.aspx</a><br />
<br />
The string we need to add is "Edge/12"<br />
<br />
The easiest way to do this is with a simple bit of PowerShell<br />
<br />
$Props=Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents<br />$Props=$Props+"Edge/12"<br />$Props<br />Set-ADFSProperties -WIASupportedUserAgents $Props<br />
Restart-Service adfssrv<br />
<br />
With this we read in the current browser strings into an array using Get-ADFSProperties<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Zs9I4fPVo0sGRBubYflq6nCEiRbYNXQAxFtcll3l6Gfh0ird-67gMx6nx6hBaxcmv4O3a4c0gUfOgdQeSQDFVc5Svx5ZciNZJZzlWhd-MSzr0a7PcEHxyuCudNO_HIg1odnQSeuX8_Bv/s1600/ADFS1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Zs9I4fPVo0sGRBubYflq6nCEiRbYNXQAxFtcll3l6Gfh0ird-67gMx6nx6hBaxcmv4O3a4c0gUfOgdQeSQDFVc5Svx5ZciNZJZzlWhd-MSzr0a7PcEHxyuCudNO_HIg1odnQSeuX8_Bv/s640/ADFS1.png" width="640" /></a></div>
<br />
We then append the new string for the Edge browser (Edge/12)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLo2QWYLn1O92_5Qq1y2ZNZLiBgHZ5nM9L12EMkQY9N7NNME4PEmLbmPb0t4NWFCnd5GJ-8LXNb9mKFdVqkcCKMVmU2lzRnBUJPEt5gQjLW0lwxMj-sB5hrFQVAgbiEBQd5yyfjLuUDMk0/s1600/ADFS2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLo2QWYLn1O92_5Qq1y2ZNZLiBgHZ5nM9L12EMkQY9N7NNME4PEmLbmPb0t4NWFCnd5GJ-8LXNb9mKFdVqkcCKMVmU2lzRnBUJPEt5gQjLW0lwxMj-sB5hrFQVAgbiEBQd5yyfjLuUDMk0/s640/ADFS2.png" width="640" /></a></div>
<br />
Then we set the WIASupportedUserAgents properties and then finally restart the ADFS service<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmZELsslzCpmsWfVzfN_ADjlGQHVsMrn0i7LKSwDsz0CB4nxJNLrHnxPPJAnQvbCfXFbq_ryFZMRRWMzUkzis90zpCSYtI6Q3YC82jx6NAl2wkHcqDVIXFfbR6F3zoskhGTxW4iHxm-E5w/s1600/ADFS3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmZELsslzCpmsWfVzfN_ADjlGQHVsMrn0i7LKSwDsz0CB4nxJNLrHnxPPJAnQvbCfXFbq_ryFZMRRWMzUkzis90zpCSYtI6Q3YC82jx6NAl2wkHcqDVIXFfbR6F3zoskhGTxW4iHxm-E5w/s640/ADFS3.png" width="640" /></a></div>
<br />
This will then allow users to benefit from SSO using the Edge browser.Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com4tag:blogger.com,1999:blog-5536481848801330672.post-48313034872039066212015-11-17T14:53:00.000+00:002015-11-17T15:01:33.774+00:00System Center Orchestrator Migration<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Microsoft have made
no secret of its love of all things cloudy and that same feeling certainly
encompasses the System Center components.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Microsoft's cloudy
re-imagining of System Center Orchestrator is known as OMS Automation (Also
known and still branded as Azure Automation). This has grown over the last
couple of years from a cloud hosted version of the on-premises version of the
Service Management Automation (SMA) subcomponent of Orchestrator which featured
a service that allowed PowerShell Workflow (PSWF) scripts to be executed on
Azure IaaS VM triggers and schedules through to the more recent incarnation
that can be found within the new (still in preview) Azure Resource Manager
Portal experience.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
This new version
added to the PSWF capabilities by adding a Graphical Authoring method, easier
navigation, methods to execute runbooks via API calls (and recently webhooks).
A gallery for searching to find modules and examples has been added, along with
pure PowerShell script support making it very easy to lift and shift those
scripts kicking around and organise them better.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Add to this ongoing
list the new ability to execute runbooks either within Azure or on a
"hybrid" worker, which is essentially any device that you install the
OMS agent on and register as a Hybrid Runbook worker, and you have a very nice
cloud managed hybrid automation solution.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm8YL7bDGbNueabiPrwOHrgwa0Egu35xJrv3quJwRrkVa0kUztaQZ_gu_a_gviKVouJ4FSsV7d2L7dMFSGz4LWBM055VDZR0RcPXrto7ZW-plGhCHOFzAo0oU95YJksrddQN_jkW0YAqzO/s1600/Portal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm8YL7bDGbNueabiPrwOHrgwa0Egu35xJrv3quJwRrkVa0kUztaQZ_gu_a_gviKVouJ4FSsV7d2L7dMFSGz4LWBM055VDZR0RcPXrto7ZW-plGhCHOFzAo0oU95YJksrddQN_jkW0YAqzO/s640/Portal.png" width="398" /></a></div>
<span id="goog_1594576855"></span><span id="goog_1594576856"></span><br /></div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
"So now you're
going to tell me to ditch Orchestrator and re-do all my work in OMS automation
aren't you… /sigh"</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Well… kind of… but
even then it's not all doom and gloom.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Microsoft have made
it perfectly clear, Orchestrator is not deprecated and there will indeed be a
new release (sometime in 2016 if we're lucky…) it's just that we won't see a
ton of new features nor improvements, just some bug fixes and version support (OS
& SQL most likely).</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
There's also the
fact that a fair few customers using Orchestrator are using it in conjunction
with Service Manager, which has a nice integration story, but currently has no
awareness nor integration with OMS Automation.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Therefore, until we
see anything change within that space, Orchestrator won't be up for full
migration for some time yet.</div>
<br />
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
However… time for
the good news.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
For those that are
interested in exploring OMS Automation, or maybe for those that are chomping at
the bit to use it more but the thought of re-working all your Orchestrator
runbooks was as scary as the thought of Pennywise hiding under your bed, here's
something to push away the darkness.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Microsoft have
released a collection of tools to ease the migration of Integration Packs and
Runbooks from Orchestrator to OMS Automation.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="https://www.microsoft.com/en-gb/download/details.aspx?id=47323">https://www.microsoft.com/en-gb/download/details.aspx?id=47323</a></div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
This toolkit
contains:</div>
<br />
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">All the standard activities
you find in a default installation of Orchestrator, pre-converted into
PowerShell modules ready to be imported into your Automation workspace.</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">An Integration Pack Convertor
to allow you to convert any other IP's with Activities you use.</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">Runbook Convertor to convert
your runbooks into new Graphical Runbooks for import and use within OMS
Automation.</span></li>
</ul>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Microsoft have also
released another download which contains all of the Microsoft released and
supported Integration Packs for Orchestrator, pre-converted and ready for
import into OMS Automation.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="https://www.microsoft.com/en-gb/download/details.aspx?id=49555">https://www.microsoft.com/en-gb/download/details.aspx?id=49555</a></div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
These cover the
following IP's:</div>
<br />
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">System Center Virtual Machine
Manager</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">System Center Data Protection
Manager</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">FTP</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">Exchange Admin</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">Exchange User</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">SharePoint</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">REST</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">Active Directory</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">Azure</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">VMware vSphere</span></li>
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: "calibri"; font-size: 11.0pt;">HP Operations Manager</span></li>
</ul>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
When you download
the Migration Toolkit, the first installation wizard is really just an
extraction of the files, so point it either at the default or some folder in
your downloads. Inside the extracted files you'll find installers for the IP
Converter, the Runbook Converter along with another zip file containing the
converted standard activities (leave this zipped as we will import the zip file
into OMS Automation).</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
First, get the
converted Integration Packs you need imported into your Automation Account.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Log into <a href="https://portal.azure.com/">https://portal.azure.com</a></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Click into Assets</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Then Modules</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
And click Add a
Module</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1C0WJMaO2k3oxROTjH638RaOXQnGkyoUgGBXpjtBtzCvFtwd89u6dPaLpDFIPct56ggpjIaw_b_Pgv0k4DYQRyh39k9jYzGJWsMv4RWLmpGK_q6p_ahYiUIiu1IrtFoxBetKdDAyBoILZ/s1600/Modules.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1C0WJMaO2k3oxROTjH638RaOXQnGkyoUgGBXpjtBtzCvFtwd89u6dPaLpDFIPct56ggpjIaw_b_Pgv0k4DYQRyh39k9jYzGJWsMv4RWLmpGK_q6p_ahYiUIiu1IrtFoxBetKdDAyBoILZ/s640/Modules.png" width="640" /></a></div>
</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Browse for the
Integration Pack zip file that you downloaded and keep repeating to get all the
modules you require.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Next, export the
runbook you want to convert from Orchestrator.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
I've chosen this
runbook to test (Example from the <a href="http://www.amazon.co.uk/Microsoft-System-Center-Orchestrator-Cookbook/dp/1849688508">System Center 2012 R2 Orchestrator Cookbook</a> from Packt).</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtv4Dr0DhQ9C2eKWs5w81szaQ_YgqwA1o6m22XWwVN9P2jLWBvXOce5Ifrv5zm7OmDoCBwVj3cGCwB-bxooOnH3oWxtSaA6RHsbeQRZmJ-NY9EDWDYDoSYAqJvuYkkWezUWg86XUcPnNGN/s1600/Orchestrator.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtv4Dr0DhQ9C2eKWs5w81szaQ_YgqwA1o6m22XWwVN9P2jLWBvXOce5Ifrv5zm7OmDoCBwVj3cGCwB-bxooOnH3oWxtSaA6RHsbeQRZmJ-NY9EDWDYDoSYAqJvuYkkWezUWg86XUcPnNGN/s640/Orchestrator.png" width="640" /></a></div>
</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br />
Once exported, it's
time to convert.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Either load the
Runbook Converter from the start menu, or import the PS Module (assuming a
default install location) by using:</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Import-Module
'C:\Program Files (x86)\Microsoft System Center 2012 R2\Orchestrator\Runbook
Converter\Orchestrator.ScoMigration.Cmdlet.psd1'</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Either way will give
you access to the ConvertFrom-SCORunbook cmdlet.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
The cmdlet has three
main parameters:</div>
<ul>
<li>Module</li>
<li>OutputFolder</li>
<li>RunbookPath</li>
</ul>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieT1C7Q_neGDbfMOiYV2z4yMKFGxt3i5_h9xMrF_J8CtgfqJjwf_BMC-jI1qXOfsfVYPhvYnhZQpdRmhFXjDJ9-a88decCWIV_6dv8qv5m0rh5VnTxmDlSefp4jJYXmsx4U0rLUzVVWLap/s1600/Convert-Cmdlet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieT1C7Q_neGDbfMOiYV2z4yMKFGxt3i5_h9xMrF_J8CtgfqJjwf_BMC-jI1qXOfsfVYPhvYnhZQpdRmhFXjDJ9-a88decCWIV_6dv8qv5m0rh5VnTxmDlSefp4jJYXmsx4U0rLUzVVWLap/s640/Convert-Cmdlet.png" width="640" /></a></div>
</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
You can however get
away with just running the command with RunbookPath and allow it to use the
same folder as the source for exporting to with the export name based on the
runbook name.</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
ConvertFrom-SCORunbook
-RunbookPath C:\Runbooks\ConvertTest.ois_export</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Once you have the
exported .graphrunbook file, importing it into OMS Automation should give you a
graphical runbook something like this:</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-ANiaTGvh3A0_BqSOsreVLTRAmbjC224_i0lck_RC6EflgRe0584I0mszAwOdcaQEDjuMXoyqfjEec66eSuMjRmEdd5TcS0XZsgFSq5X9TZLrRcLQ_JJRQcL7_OHdumL-TT2ZoIDKKsl/s1600/OMSGraphical.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-ANiaTGvh3A0_BqSOsreVLTRAmbjC224_i0lck_RC6EflgRe0584I0mszAwOdcaQEDjuMXoyqfjEec66eSuMjRmEdd5TcS0XZsgFSq5X9TZLrRcLQ_JJRQcL7_OHdumL-TT2ZoIDKKsl/s640/OMSGraphical.png" width="640" /></a></div>
</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
So… While
Orchestrator is still an awesome tool for integrating with and automating
System Center Service Manager processes, you now have options at looking to
migrate other workloads into a much more scalable automation solution, where in
effect, you only need worry about the automation processes rather than the
infrastructure they're running on!</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Now this release is
a preview and that means it certainly isn't without it's nuances.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
You will need to do
some post conversion fixes and not all activities may migrate successfully.
Start your testing and planning now while Microsoft listens to feedback and
refines the tool.</div>
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com3tag:blogger.com,1999:blog-5536481848801330672.post-33401151424159036042015-10-16T17:46:00.001+01:002015-10-16T17:46:19.944+01:00Azure Automation PowerShell ISE AddonMicrosoft recently released to GitHub and the PowerShell Gallery a new solution that adds an extension to the PowerShell ISE allowing you to author, maintain and test Azure Automation PowerShell Workflows locally.<br />
<br />
<a href="http://www.powershellgallery.com/packages/AzureAutomationAuthoringToolkit/">http://www.powershellgallery.com/packages/AzureAutomationAuthoringToolkit/</a><br />
<br />
I've created a quick video to show the installation and initial configuration:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/CRUrXbyEb98/0.jpg" src="https://www.youtube.com/embed/CRUrXbyEb98?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<span id="goog_1435574795"></span><span id="goog_1435574796"><br /></span>
<br />
The next day after creating the video I realised that I had uninstalled the module while doing the video so I went to re-install it, only to be told that I had version 0.2.2.4 installed already, but version 0.2.2.6 was now available.<br />
<br />
Thankfully, adding the -Force switch to the Install-Module AzureAutomationAuthoringToolkit command makes it very easy to update.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpfjnYG_GrrKVPXEseVB-NbQsMo8jU1IHea1bTnijpnXZvQ_3qP0yzyRsZSPOoaoHO7Aa4oK6INBrWDJD9pPTrUL8kbldxrmAkkJJ6KEpZbzslM91hWSgVswUrUdcyUdjzmxoW7sN_dFC-/s1600/versionupdate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpfjnYG_GrrKVPXEseVB-NbQsMo8jU1IHea1bTnijpnXZvQ_3qP0yzyRsZSPOoaoHO7Aa4oK6INBrWDJD9pPTrUL8kbldxrmAkkJJ6KEpZbzslM91hWSgVswUrUdcyUdjzmxoW7sN_dFC-/s400/versionupdate.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="left" class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
I'll be following up soon with a quick guide on usage.Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com5tag:blogger.com,1999:blog-5536481848801330672.post-45820941865481027332015-10-06T19:45:00.000+01:002015-12-02T16:31:55.385+00:00Problem Installing Intune Extension for ConfigMgrMicrosoft recently released the iOS 9 Intune extension for System Center 2012 R2 Configuration Manager.<br />
<br />
While I had updated my locally installed desktop consoles ok, the installation on our RDS server decided it didn't want to play ball.<br />
<br />
Every time the console was opened, I received the prompt that a new extension was available and to install now or suffer having the console in read only mode.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRCgZ7H-asJFCIOsKFb1bVQ4REb2GLXkWRIU8ZeU9X2-spbRDhnZoCljxLgmWyfU2tN_v7Yum-U6_2aRxiGq3BY-GFOSVVDsjroCSm5n5i7SAuB37Vtj0bwFYwYN6E-odKYaohQMgch5lj/s1600/Install.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRCgZ7H-asJFCIOsKFb1bVQ4REb2GLXkWRIU8ZeU9X2-spbRDhnZoCljxLgmWyfU2tN_v7Yum-U6_2aRxiGq3BY-GFOSVVDsjroCSm5n5i7SAuB37Vtj0bwFYwYN6E-odKYaohQMgch5lj/s400/Install.png" width="400" /></a></div>
<br />
<br />
However... each time I clicked yes to install, the console would close and then I would get a prompt saying the console was still open.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu3m3WXB48o3EQOOJeu4pK6SPM0wmmNhFwJHzSFdvtUX-EQAPYqPUCWJHYRFMrQSFZB4KaWbVWk9rU0NayUgrLefQfptjfX9IjlQUuDhhP__lLRQPBRraedjffeWeBFF_1GvCECMBolFYB/s1600/Retry.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu3m3WXB48o3EQOOJeu4pK6SPM0wmmNhFwJHzSFdvtUX-EQAPYqPUCWJHYRFMrQSFZB4KaWbVWk9rU0NayUgrLefQfptjfX9IjlQUuDhhP__lLRQPBRraedjffeWeBFF_1GvCECMBolFYB/s400/Retry.png" width="400" /></a></div>
<br />
Checking task manager and logs etc. verified that no consoles were actually open, but when clicking retry, nothing appeared to happen and reopening the console would bring me back to the start off the loop.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQu_reWwfun3p2J4bTfCX83leSnWXyvaJ-mCnOxWWEkB1eC2nmPPOl8QMog8MikhiWL8_dA7QL9DnMj3IcjrMTOZCSkeMt4wT99exPxSQMFFRe2leo8ecGRi8zHJWr3gd0ney0iFrI7aTI/s1600/ConstantQuit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQu_reWwfun3p2J4bTfCX83leSnWXyvaJ-mCnOxWWEkB1eC2nmPPOl8QMog8MikhiWL8_dA7QL9DnMj3IcjrMTOZCSkeMt4wT99exPxSQMFFRe2leo8ecGRi8zHJWr3gd0ney0iFrI7aTI/s400/ConstantQuit.png" width="400" /></a></div>
<br />
<br />
Upon checking deeper, I could see the update process in task manager, which would go into a suspended state then resume then just quit.<br />
<br />
A check of the event log revealed an error message with some form of .NET exception... oh...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSxHjbbXW8-R3lD_6oWFFi0Wl9H5qDwLTM86GwQWNYqMgNk7bvuEQxmOy7DS6yuLrVJ_dEbhFuMmQVfUUdPUv8jL6ayzMTKys-q4d5LAlf20qpgDDGGGBshrFZ0t6hZ1gHBvtfzX1_fKln/s1600/EventLog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSxHjbbXW8-R3lD_6oWFFi0Wl9H5qDwLTM86GwQWNYqMgNk7bvuEQxmOy7DS6yuLrVJ_dEbhFuMmQVfUUdPUv8jL6ayzMTKys-q4d5LAlf20qpgDDGGGBshrFZ0t6hZ1gHBvtfzX1_fKln/s400/EventLog.png" width="400" /></a></div>
<br />
<br />
I'll cut a long story short and after trying various things I finally tried running the installation process silently and it worked.<br />
<br />
If you navigate to the ConfigMgr console installation folder (by default it's in C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole and run an elevated admin command prompt (or PowerShell) then navigate to the bin folder and then run:<br />
<br />
AdminUI.ExtensionInstaller.exe /Q<br />
<br />
This ran the installation smoothly with no errors and the console now opens fine with no prompts.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYRPput2yC-YsZf_Ogkf7-atCQqTyb7rHxvGY7rhqx1SXrK4E25K0WC11aOnHRlohyphenhyphenJl9Z0xCwsjQ9p8CrAo8RaCdyGvhVmxCwVEjQ7DRvLZ4VWsjDexvfkzl33bCt93FjrDcs0oMWmY0J/s1600/Success.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYRPput2yC-YsZf_Ogkf7-atCQqTyb7rHxvGY7rhqx1SXrK4E25K0WC11aOnHRlohyphenhyphenJl9Z0xCwsjQ9p8CrAo8RaCdyGvhVmxCwVEjQ7DRvLZ4VWsjDexvfkzl33bCt93FjrDcs0oMWmY0J/s400/Success.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b>** Update 2nd Dec 2015 **</b></div>
<div class="separator" style="clear: both; text-align: center;">
I've just had this same error after updating to SP1/2 CU2 and with the latest Conditional Access extensions, however the information above didn't work this time.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Looking at the log file, it recognised that the /Q parameter was being passed for a silent installation, but was complaining that no source had been specified.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Looking at the logs of a successfully updated device there was another parameter: SiteServerName=<<server name>></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
So the new full command to run was:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
AdminUI.ExtensionInstaller.exe /Q SiteServerName=serverFQDN</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com3tag:blogger.com,1999:blog-5536481848801330672.post-74293209969956035672015-10-05T01:26:00.000+01:002015-10-05T01:26:29.780+01:00Microsoft MVP Award 2015I almost forgot last week that it was "that time of year" again.<br />
<br />
No, not Christmas, but the renewal period time that I am part of for the Microsoft Most Valuable Professional (MVP) award.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmJOXIeLUWkg8jkI713lFtjW6kjoIy_J9ajOwmJycLKSyjjHLUtXq5LAQMu9yEBvVb3YtnT3VO-FM26wjC0zHx4x6VM8tnKEy5PEK9z_oxz5PX98NvTaN3sFjNLLVQqvbpvgJOoc0OSbud/s1600/MVP.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmJOXIeLUWkg8jkI713lFtjW6kjoIy_J9ajOwmJycLKSyjjHLUtXq5LAQMu9yEBvVb3YtnT3VO-FM26wjC0zHx4x6VM8tnKEy5PEK9z_oxz5PX98NvTaN3sFjNLLVQqvbpvgJOoc0OSbud/s640/MVP.png" width="640" /></a></div>
<span id="goog_625221429"></span><span id="goog_625221430"><br /></span>
<br />
I'm still so very humbled to have received the award, let alone for 3 years running now.<br />
<br />
While I may have been a little quiet on the blogging front (that will change with lots of 2016 content to come) I've been busy with other bits like getting the <a href="http://www.amazon.co.uk/Microsoft-System-Operations-Manager-Cookbook/dp/1782176241">Operations Manager Cookbook</a> out and speaking at various events.<br />
<br />
I've also been very, very (can't stress just how very busy), within my working life setting up and growing PowerONPlatforms.<br />
<br />
I've always been quiet on this blog about my company, mainly as I don't want it to ever seem like it's just purely marketing, however I'm extremely proud of what myself and the team have achieved (can you say <span id="goog_1753602169"></span><a href="http://www.poweronplatforms.com/our-offerings/solutions/cloud-management-appliance/">full production ready System Center deployments<span id="goog_1753602170"></span></a> in under a day anyone?) and as the team continues to grow with even more talent I will start to make more references and comments to things that we're building and deploying.<br />
<br />
Not only that, but we're also actively creating new community solutions and publishing them for all to benefit and learn from, one quick example is the ConfigMgr PowerBI report set recently released by Rafael from the team: <a href="http://www.poweronplatforms.com/power-bi-and-sccm-dashboard-reporting/">http://www.poweronplatforms.com/power-bi-and-sccm-dashboard-reporting/</a><br />
<br />
While I will be posting more content here soon, be sure to check out the PowerONPlatforms news section and add it to your favourites/RSS feeds as a consolidated view of various posts from across the team.<br />
<br />
<a href="http://www.poweronplatforms.com/news/">http://www.poweronplatforms.com/news/</a><br />
<br />
<br />Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com0tag:blogger.com,1999:blog-5536481848801330672.post-22070333059612350572015-08-27T12:41:00.001+01:002015-08-27T12:41:25.061+01:00System Center Universe Europe 2015Well, it’s a wrap!<br />
<br />
I’m just on my way back home from the awesome event that was System Center Universe Europe 2015.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_r-darSEHHHNSCD_EihnijblTiw9GtFyEP_k_g8qpOwpRSZ8qRx3SwpLOlUlY6VIzH1E70etld8NGcuYOSGrhzmbJQODzDHd6rh0trTgysh_Ogg7-bP38cu4AH4EvhqIFvtk3_HfNr8Dk/s1600/KeyNoteLayout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_r-darSEHHHNSCD_EihnijblTiw9GtFyEP_k_g8qpOwpRSZ8qRx3SwpLOlUlY6VIzH1E70etld8NGcuYOSGrhzmbJQODzDHd6rh0trTgysh_Ogg7-bP38cu4AH4EvhqIFvtk3_HfNr8Dk/s640/KeyNoteLayout.jpg" width="640" /></a></div>
<span id="goog_2139607684"></span><br />
<div style="text-align: center;">
<span id="goog_2139607685"><em>(Keynote Room laid out ready - Image by SCU Europe)</em></span></div>
It’s been a manically packed 3 days with 4 different tracks happening simultaneously throughout the day (with early starts from 08:30!) and smaller side sessions also as an extra.<br />
<br />
There’s been such a wide topic coverage this week (centred around IT management) covering the various component of System Center, Azure, Enterprise Mobility, PowerShell, there was even some fun with managing Tesla cars thrown in!<br />
<br />
I was lucky enough to get to present a couple of sessions this year, one covering the different ways that the System Center components connect, interact and why with another session on how you can start to leverage the Azure services to extend your on-premise datacentre into a hybrid model and start gaining IT Management benefits and scale now, without the wholesale approach of just shift everything.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_iRhPjHLG43xsu8Ah93-L7_i7_VJt_6WbLu07E7xIJ8-eQW7B5DuqtW_5hj1sfekOAsWmTx43FkSPbGxjbzNjA_O2KXfGA7fDAYRsdW8osTl8mmt3Jam7mu6w44BWw3DSxmD5P-fJBYY-/s1600/Session1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_iRhPjHLG43xsu8Ah93-L7_i7_VJt_6WbLu07E7xIJ8-eQW7B5DuqtW_5hj1sfekOAsWmTx43FkSPbGxjbzNjA_O2KXfGA7fDAYRsdW8osTl8mmt3Jam7mu6w44BWw3DSxmD5P-fJBYY-/s640/Session1.jpg" width="640" /></a></div>
<div style="text-align: center;">
<em>(People were keen for sessions and ensuring they had seats well before sessions started)</em></div>
<br />
But it never stops me cringing and wondering why or how I was lucky enough to get a speaking spot, just looking around the speakers room left me gaping in awe at the world class talent that an event like this manages to attract.<br />
<br />
Speakers/Experts/MVPs/Vendors from around the world happily flock to this event with renowned experts from the USA, Sweden, UK and even Sri Lanka in attendance. <br />
People that have been in this game far longer than me and who I can thank personally for helping me build my career to what it is now after spending many hours over the years reading/watching/listening to them sharing their knowledge.<br />
<br />
This is the other thing that makes these types of event so awesome, the attendees. <br />
<br />
Having been to many of these events as an attendee myself, it’s always refreshing to see crowds of people that are so willing to learn and absorb knowledge. <br />
But not just in a passive manner, this type of event sees the attendees willing to engage, ask questions (and there is no such thing as a stupid question in my opinion, it’s just something you don’t yet know the answer to so always ask!) and give helpful feedback.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Avdlg7b4rw2HCZJTX5SIffdq9036ItIG7Mc3ma4o_pZ9p6h-EZj2BScoh8rttfYbO-XDqkbqOUuantyWSMcx05kaLi3q6o4smkP-Q8xOz540KgE9qQnJLyw3gOcTYnaXIBqxXlNFKgNA/s1600/Attendees.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Avdlg7b4rw2HCZJTX5SIffdq9036ItIG7Mc3ma4o_pZ9p6h-EZj2BScoh8rttfYbO-XDqkbqOUuantyWSMcx05kaLi3q6o4smkP-Q8xOz540KgE9qQnJLyw3gOcTYnaXIBqxXlNFKgNA/s640/Attendees.jpg" width="640" /></a></div>
<div align="center">
<em>(Break time between sessions - Image by SCU Europe)</em></div>
<div align="center">
</div>
<div style="text-align: left;">
Well that might be a wrap for this year, but the good news is it's back again next year, bigger and better and this time... in Berlin!!</div>
<div align="left">
</div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com0tag:blogger.com,1999:blog-5536481848801330672.post-47793848578445571792015-08-06T20:40:00.001+01:002015-08-07T23:38:50.044+01:00Hotfix KB3081699 for ConfigMgr and Windows Phone Apps - Installation order matters!A few weeks ago, Microsoft consolidated their app stores ready for Windows 10 launch.<br />
<br />
This had a knock on effect that ConfigMgr and Intune could no longer create Windows Phone app deployments, nor could you configure the Allowed/Blocked compliance settings (Well you could work around it by using old URLs and pasting them in).<br />
<br />
Thankfully, Microsoft have just released a hotfix (KB3081699) to resolve this issue.<br />
<br />
<strong>** Update 07/08/2015 ** </strong>- See note at end of post<br />
<br />
It needs applying to your site server and your consoles, however there is an important thing to note.<br />
<br />
Microsoft have also released CU1 this last week.<br />
<br />
Not spending too much time thinking about it, since the hotfix was released AFTER CU1, I updated my site to CU1 and then applied KB3081699.<br />
<br />
Nothing seemed amiss and the installations completed successfully, but there appeared to be zero difference in behaviour... odd...<br />
<br />
I tried to apply the patch again, only to be greeted by an error message.<br />
<br />
This update applies to systems running cumulative update 0, this system has the more recent cumulative update 1 installed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJHaHbTf-F4O96xeMAH5UdKuqcaNKroH-f3vzZD0Vu7iSA-MHhJhDO2nGjgO6RYA0m_Fu__BAH7yitSZWpbIfX1bMCSJWrb_FENhV_6ovp3_f8r9R78a4osJpxXolBpJ3ax6coGxx_5kRc/s1600/KB3081699.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJHaHbTf-F4O96xeMAH5UdKuqcaNKroH-f3vzZD0Vu7iSA-MHhJhDO2nGjgO6RYA0m_Fu__BAH7yitSZWpbIfX1bMCSJWrb_FENhV_6ovp3_f8r9R78a4osJpxXolBpJ3ax6coGxx_5kRc/s400/KB3081699.png" width="400" /></a></div>
<br />
Erm, ok, I agree, but CU1 doesn't include this fix!?!?!?!<br />
<br />
Slightly my fault as I installed CU1, didn't reboot, then installed KB3081699 which didn't complain about CU1 as it wasn't fully installed, but didn't actually install properly either. /sigh<br />
<br />
Hopefully Microsoft will re-release this patch, or another CU very soon that includes it.<br />
<br />
In the mean time, make sure if you need the fixes in KB3081699 that you install it BEFORE CU1.<br />
Also, not that I can test, hope that CU1 doesn't roll back the fix in KB3081699.<br />
<br />
<strong>** Update 07/08/2015 **</strong> - Microsoft have also added to the hotfix download request page a CU1 version that resolves the above order issue i.e. it can be installed after CU1.<br />
<br />
Just ensure you select the version appropriate to your current update level.<br />
<br />
Also, it doesn't appear to be a quick install either, I'm seeing around a 20 minute installation time.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgDsb_xV_k7FWxYHkS4h3_ima5CZix-9HukrOrT83gCgFM4DosX3Ens1vspMDUPWQX-XpdLHRLMQEv1a9WC88YbmPwlsQgrmfEjuTGskc8lwXqNHBoYbZapRLK9E2uEqbcpFV5RUuIIy0_/s1600/SelectRightUpdate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="83" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgDsb_xV_k7FWxYHkS4h3_ima5CZix-9HukrOrT83gCgFM4DosX3Ens1vspMDUPWQX-XpdLHRLMQEv1a9WC88YbmPwlsQgrmfEjuTGskc8lwXqNHBoYbZapRLK9E2uEqbcpFV5RUuIIy0_/s400/SelectRightUpdate.png" width="400" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFifE2gEhoMJ2n-O3C_RBl7KsTi2lH4nD4MZ3iD3moHK6UUyWuW6lAhYKlbBamJGNg5WRE1Dr9f1hbr5ahdo5Mqo-7nPenBnYeP_Ge-dhtBimEhTOo8nOmcQjIGJXCAuezmYK-ISCCB9Pb/s1600/BeforeKB3081699.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFifE2gEhoMJ2n-O3C_RBl7KsTi2lH4nD4MZ3iD3moHK6UUyWuW6lAhYKlbBamJGNg5WRE1Dr9f1hbr5ahdo5Mqo-7nPenBnYeP_Ge-dhtBimEhTOo8nOmcQjIGJXCAuezmYK-ISCCB9Pb/s400/BeforeKB3081699.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJm7Zrd5XdSOEMN6VoyCF6x86M0enOV3b5CAzL7W3_kLF5Zc5hAUlh70zRMeFlk6WL9XQJHz1T4-CmYpzyTtbXXHTIHvss_OfRq-Cc7DS3B0Vy5wVxQ_PvBtLSyDeWlhlsQ033V2ZspHZ2/s1600/AfterKB3081699.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJm7Zrd5XdSOEMN6VoyCF6x86M0enOV3b5CAzL7W3_kLF5Zc5hAUlh70zRMeFlk6WL9XQJHz1T4-CmYpzyTtbXXHTIHvss_OfRq-Cc7DS3B0Vy5wVxQ_PvBtLSyDeWlhlsQ033V2ZspHZ2/s400/AfterKB3081699.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com7tag:blogger.com,1999:blog-5536481848801330672.post-46144933491138823642015-08-02T12:39:00.000+01:002015-08-02T12:39:12.442+01:00Operations Manager & OMS - Unable to access AppLocker event log on Server CoreI was doing a bit of housekeeping today and I noticed a Warning alert from a monitor that Operations Manager Failed to Access the Windows Event Log.<br />
<br />
Looking at the alert it showed that the Microsoft-Windows-AppLocker/EXE and DLL event log couldn't be accessed on my Hyper-V hosts.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5UtNnhlJpUG2S3B-HZpKv9vm7Cjc4fkjddRVn5stJ-V5lFVxrzEGdoAMbCjqDj7gw65d0yndeetrGpT2A9IBNn7ArnDnbq_LVTpcwwgbKkMCnEvyJx0uSyofC2jhFkwUhbq-g82mnw00q/s1600/Alert.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5UtNnhlJpUG2S3B-HZpKv9vm7Cjc4fkjddRVn5stJ-V5lFVxrzEGdoAMbCjqDj7gw65d0yndeetrGpT2A9IBNn7ArnDnbq_LVTpcwwgbKkMCnEvyJx0uSyofC2jhFkwUhbq-g82mnw00q/s400/Alert.png" width="400" /></a></div>
<br />
<br />
When I checked manually, it wasn't surprising that the event log couldn't be accessed, because it didn't exist...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI-1HD24EfMy_c1tKjWZDrwROmbEyvUwYNEaWKiRDZOwE-3sKqx6P6fm04imNtfmZObBGeceripLxPvfKI-YVh3WtlWqMkh6ve5Wf0Z8kTQbgv2AR7sCZVnA-heBmRmXjzX6w15IPvtvVg/s1600/EventLogs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI-1HD24EfMy_c1tKjWZDrwROmbEyvUwYNEaWKiRDZOwE-3sKqx6P6fm04imNtfmZObBGeceripLxPvfKI-YVh3WtlWqMkh6ve5Wf0Z8kTQbgv2AR7sCZVnA-heBmRmXjzX6w15IPvtvVg/s1600/EventLogs.png" /></a></div>
<br />
<br />
I use Server Core in my environment and doing a bit of initial digging it looks like AppLocker isn't supported on Server Core due to it having a requirement on the Application Identity Service.<br />
<br />
This alert is generated in SCOM when you have it integrated with Microsoft Operations Management Suite (or the Operational Insights part) and are using the Security and Audit Solution.<br />
<a href="http://www.microsoft.com/en-us/server-cloud/operations-management-suite/overview.aspx">http://www.microsoft.com/en-us/server-cloud/operations-management-suite/overview.aspx</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTJtx-9TVAuCNUXlezBRhcWF5MhlGhysl7cFNhsx04Tf2u6dHZmmyCDyVMXXUVjP97WM53qxDsFGmlY51235X0DGVWNQycswlFU5NL3gIF58uAxsvYOq1bWTo6i449S0472a10sbaBTg9L/s1600/OMSSecurity.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTJtx-9TVAuCNUXlezBRhcWF5MhlGhysl7cFNhsx04Tf2u6dHZmmyCDyVMXXUVjP97WM53qxDsFGmlY51235X0DGVWNQycswlFU5NL3gIF58uAxsvYOq1bWTo6i449S0472a10sbaBTg9L/s400/OMSSecurity.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="left" class="separator" style="clear: both; text-align: center;">
</div>
For now, this is a quick thing to override.<br />
<br />
<ul>
<li>In SCOM navigate to <strong>Authoring</strong> | <strong>Management Pack Objects</strong> | <strong>Rules</strong></li>
<li>Click the <strong>Scope</strong> button and search for <em>Microsoft System Center Advisor</em></li>
<li>Select the <em>Microsoft System Center AdvisorWindows Server</em> target</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOJajpJ76b0HZLm77R5YA0OOjI1bRwJnpw0T0uq64NwyD0I4QZI82VLOK5oiLAeZdQqmgu6lAWN0bPRv1GvaX5fqLE2BRklRHshz51-WSpxCNvbBlDnfOKOxqBtlU5GtvHsbs49U0wRcoB/s1600/OverrideScope.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOJajpJ76b0HZLm77R5YA0OOjI1bRwJnpw0T0uq64NwyD0I4QZI82VLOK5oiLAeZdQqmgu6lAWN0bPRv1GvaX5fqLE2BRklRHshz51-WSpxCNvbBlDnfOKOxqBtlU5GtvHsbs49U0wRcoB/s400/OverrideScope.png" width="400" /></a></div>
<br />
<ul>
<li>Use the <strong>Look for:</strong> filter to narrow down the rule to just <em>AppLocker</em></li>
<li>Right click the <em>Collect AppLocker Events</em> and choose <strong>Overrides</strong> | <strong>Override the Rule</strong> | <strong>For a group...</strong></li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn9VWQFkNmh4qhcdWI9Md3FpPiF_6lFQh72FDN84YB_JbDlBksM6XyUnz2YcjtvBcukLGfmlKCqECc3qOeQ24GCo1zYWYFyD6gzZah9hxD2ksOvpz55l94TiLWqb1JS4uhq-tYdGxsB7Oi/s1600/AppLockerOverride.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn9VWQFkNmh4qhcdWI9Md3FpPiF_6lFQh72FDN84YB_JbDlBksM6XyUnz2YcjtvBcukLGfmlKCqECc3qOeQ24GCo1zYWYFyD6gzZah9hxD2ksOvpz55l94TiLWqb1JS4uhq-tYdGxsB7Oi/s400/AppLockerOverride.png" width="400" /></a></div>
<br />
<ul>
<li>Filter or scroll through the object list and find a group containing your Windows Server Core OS devices, I'm using the <em>Windows Server 2012 R2 Core Computer Group</em></li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM56lKswBM9Lu-r3T_3lKnJG5SRuSQMwuyg6XBmFXqEf1wfTfbeRkZ9r-Y_sNpXCzTfmb1PXVR0ra4r9cwDlr7uVX4WKSzOoj7UUigayp7JhOaldrs54s4uLHrKZKG_F1uyfDM3aSCMGVf/s1600/CoreGroup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM56lKswBM9Lu-r3T_3lKnJG5SRuSQMwuyg6XBmFXqEf1wfTfbeRkZ9r-Y_sNpXCzTfmb1PXVR0ra4r9cwDlr7uVX4WKSzOoj7UUigayp7JhOaldrs54s4uLHrKZKG_F1uyfDM3aSCMGVf/s320/CoreGroup.png" width="295" /></a></div>
<br />
Now as default the override will show that it's already set at default, so why are we overriding it?<br />
That's because this rule has an override that enables it for all members of the <em>Microsoft System Center Advisor Monitoring Server Group</em> which is the group that devices you add in SCOM to have data uploaded to Operational Insights get added to and rules/monitors for the Operational Insights management packs get targeted at usually.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMNhkL-9zmjpxpRn1JfNZgYMPgTXwMwCJKc9TPkTgwDZqNZwIVF33g9Au13DZhhvjXz0munyAI3WODqny_UfhkK_k8vlp5AVrtr7WTiSXhMSOpptIlW5mSgdPdjNwYvqFOmtfKdlSeNGW/s1600/AdvisorDefaultOverride.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMNhkL-9zmjpxpRn1JfNZgYMPgTXwMwCJKc9TPkTgwDZqNZwIVF33g9Au13DZhhvjXz0munyAI3WODqny_UfhkK_k8vlp5AVrtr7WTiSXhMSOpptIlW5mSgdPdjNwYvqFOmtfKdlSeNGW/s400/AdvisorDefaultOverride.png" width="400" /></a></div>
<br />
Rather than mess with this one, as we still want it to gather AppLocker events for supported devices, we are going to override the rule with a value of <em>False</em>, but make sure the <em>Enforce</em> option is ticked so that it overrules the default Operational Insights override.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtaoPDYdgoF2i3UC-AIP7IitQXmzzbhHCG0xZ16rOonQSjcKdS7xqCZzj1dF_fBKSVUB0yb7Y83QQArbZpvsvlcZ-6m6r9pTpCYxQ6sXguyUegOBew8h3vNx9oUEMvb8EfR88LgkB3YPnf/s1600/Override.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtaoPDYdgoF2i3UC-AIP7IitQXmzzbhHCG0xZ16rOonQSjcKdS7xqCZzj1dF_fBKSVUB0yb7Y83QQArbZpvsvlcZ-6m6r9pTpCYxQ6sXguyUegOBew8h3vNx9oUEMvb8EfR88LgkB3YPnf/s400/Override.png" width="400" /></a></div>
<br />
And that's it. SCOM should no longer try to run that rule, therefore not trying to access a non-existent event log on the members of the group you selected (Server 2012 R2 Core OS devices in my case).<br />
<br />
<br />
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com4tag:blogger.com,1999:blog-5536481848801330672.post-71863178492311484912015-07-28T18:47:00.000+01:002015-09-04T11:52:53.654+01:00Update Rollup 7 for System Center 2012 R2It's that time of the Quarter again that we see Microsoft give us a lovely new set of Update Rollups to play with for System Center 2012 R2.
<br />
<br />
This time round we have updates for:
<br />
<ul>
<li>
Orchestrator (Tradditional) </li>
<li>Service Management Automation (SMA) </li>
<li>Service Provider Foundation (SPF) </li>
<li>Data Protection Manager (DPM) </li>
<li>Virtual Machine Manager (VMM) </li>
<li>Operations Manager (SCOM) - This is now delayed </li>
<li>Service Manager (SCSM)</li>
<li>Windows Azure Pack (WAP)</li>
</ul>
<br />
<h3>
Orchestrator (Tradditional)& Service Management Automation (SMA)
</h3>
<a href="https://support.microsoft.com/en-us/kb/3069115">https://support.microsoft.com/en-us/kb/3069115</a>
<br />
<h4>
Fixes:
</h4>
<strong><u>Orchestrator</u></strong><br />
<ul>
<li>The Monitor SNMP Trap activity publishes incorrect values for strings when a Microsoft SNMP Trap Service connection is used. </li>
<li>When you select Stop Job or Stop Runbook, you receive the following error message: </li>
<li>Error executing the current operation. Cannot change the job status to 'Canceled'.
</li>
</ul>
<strong><u>Service Management Automation (SMA)</u></strong><br />
<ul>
<li>SMA runbook execution fails if a PowerShell execution policy is set to "Unrestricted" through a Group Policy Object. </li>
<li>When you try to save or import a runbook in SMA, sometimes the following error in is logged in the event logs: Error occurred while uploading media resource.
</li>
</ul>
<br />
<h3>
Service Provider Foundation (SPF)
</h3>
<a href="https://support.microsoft.com/en-us/kb/3069355">https://support.microsoft.com/en-us/kb/3069355</a><br />
<br />
<h4>
Fixes:
</h4>
<ul>
<li>General API changes for quality improvements
</li>
</ul>
<br />
<h3>
Data Protection Manager (DPM)
</h3>
<a href="https://support.microsoft.com/en-us/kb/3065246">https://support.microsoft.com/en-us/kb/3065246</a><br />
<br />
<h4>
New Features:
</h4>
<ul>
<li>Windows 10 Support </li>
<li>Ability to use an alternate DPM Server to recover from Azure Backup vault
</li>
</ul>
<br />
<h4>
Fixes:
</h4>
<ul>
<li>Hyper-V Replica Backup preference functionality change. </li>
<li>You try to create a new Protection Group or change the Protection Group but DPM sometimes does not show the latest folder structure on the File Server. </li>
<li>When you open the Recovery tab and try to obtain all the recovery points for a data source by using the “Show all recovery points” option, DPM does not show online recovery points. With this update, DPM shows online recovery points also. However, in case that you have many online recovery points, it might take some time to fetch and display all recovery points.</li>
<li>End User Recovery/SSRT may not work in some cases for mirrored SQL databases. </li>
<li>You receive an error while you install DPM update rollups.</li>
<li>The Azure portal has some restrictions on Import Job name and Storage Account Name strings. These validations were missing in DPM causing an error when you try to transfer initial backup copy Offline to Azure by using the Azure import/export functionality.</li>
<li>You cannot protect an SQL database on an Availability Group (AG) in case different AGs have the same database name.</li>
<li>In some cases, alerts resolved in DPM are not synced up in the DPM Central Console.</li>
<li>If you try to protect large number of VMs in a single Protection Group and have the VMM Helper Service enabled, few backups may fail and you receive the following exception:
System.TimeoutException
</li>
</ul>
<br />
<h3>
Virtual Machine Manager (VMM)
</h3>
<a href="https://support.microsoft.com/en-us/kb/3066340">https://support.microsoft.com/en-us/kb/3066340</a><br />
Two other updates are available, but don't seem to have a KB page yet - KB3078314 & KB3078315<br />
<br />
<h4>
New Features:
</h4>
<ul>
<li>Support for Windows 10 Client Operating System </li>
<li>Support for new Linux Operating Systems </li>
<li>Support for VMWare vCenter 5.5 management scenarios </li>
<li>Support for Multiple External IP Addresses per Virtual Network </li>
<li>Option to Reassociate Orphaned virtual machines to their Service or VM role </li>
<li>Support for VMM DHCP Extension PXE/TFP Forwarding
</li>
</ul>
<br />
<h4>
Fixes:
</h4>
Too many to list, check the KB Articles.
<br />
However, I haven't spotted it, but I was hoping for a fix to the constant MSI reinstallation issues.
<br />
I'll check further and update.
<br />
<br />
<h3>
Service Manager (SCSM)
</h3>
<a href="https://support.microsoft.com/en-us/kb/3063263">https://support.microsoft.com/en-us/kb/3063263</a><br />
<br />
<h4>
Fixes:</h4>
<ul>
<li>Service Manager does not let users save any changes in a form, and the user receives the following error message. This issue occurs if any workflow or another user has made changes to same item at the same time. - Fixed (Kindof) </li>
<li>Employee-Manager relationship is not established when both the users are imported through different Active Directory connectors. </li>
<li>MPSync Data Warehouse job stops responding very frequently because deployer jobs in Data Warehouse try to re-create already existing Primary & Foreign keys. </li>
<li>During execution of the Active Directory connector, the Console may experience a significant decrease in performance because the Active Directory connector performs a full sync after every Domain Controller failover. </li>
<li>With this update installed, the Active Directory connector should sync only those items which have changed after a previous sync, including after a Domain Controller failover. </li>
<li>If a user changes from having a manager in Active Directory not to having a manager, the relationship is not removed or updated in the configuration management database (CMDB). </li>
<li>The Get-SCDWInfraLocations cmdlet (included in Update Rollup 5) is improved to support Automation and all PowerShell standards including the following:</li>
<ul>
<li>Now it is renamed to “Get-SCDWInfraLocation” – It was done to make it follow powershell naming convention standards. </li>
<li>Originally it expected “DWServer” parameter but now it was removed. Now it accepts the same parameters as other DW Cmdlets and parameter “ComputerName” can be used to pass DW Server name. and the parameter “Credential” is used for passing Credentials to log on to the DW Server. These parameters are same across most of the DW Cmdlets. </li>
<li>Now it returns an object to Powershell pipeline instead of just text output. It enables this Cmdlet to be automation friendly which means this Cmdlet can be used in scripting. </li>
<li>Default format of the output is Table format and can be customized. </li>
<li>Detailed Help documentation is added to the Cmdlet. </li>
</ul>
<li>The Actual Start Date and Actual End Date fields are not populated for most activities. After this update is installed, these fields should be populated for all types of activities in Service Manager. </li>
<li>The Service Manager console crashes when you try to open an email message with a colon (:) in its name that was attached to an Incident through Exchange Connector (such as for prefixes “RE:” and “FW:” that are added by Outlook). </li>
<li>The SLA information that appears in the Service Manager console does not reflect an updated status in Data Warehouse if there are multiple status changes during extract. </li>
<li>The request offering wizard displays a cryptic "XML parsing error" and prevents the user from continuing with the request offering creation. This causes a problem if management packs are changed in Visual Studio (or any program that "pretty-prints" XML).
</li>
</ul>
<br />
<h3>
Operations Manager (SCOM) <strike>- This is now delayed</strike>
</h3>
<a href="http://blogs.technet.com/b/momteam/archive/2015/07/28/scom-2012-r2-ur-7-release-is-delayed.aspx">http://blogs.technet.com/b/momteam/archive/2015/07/28/scom-2012-r2-ur-7-release-is-delayed.aspx</a><br />
<br />
The update is now available
- <a href="https://support.microsoft.com/en-us/kb/3064919">https://support.microsoft.com/en-us/kb/3064919</a><br />
<br />
<ul>
<li>
The home page link in the Web Console Noscript.aspx file is vulnerable to cross-site scripting (XSS)</li>
<li>"Agents by Health State" report shows duplicate entries and inconsistent data</li>
<li>Dependent tables are not groomed (Event.EventParameter_GUID table)</li>
<li>Management Packs do not synchronize between management servers</li>
<li>Leaked transaction causes over 100 SPIDs in SCOM database to be permanently blocked by the "p_DataPurging" stored procedure</li>
<li>Operations Manager SDK crashes because of SQL errors when QueryResultsReader.Dispose is called</li>
<li>You can't view dashboard performance counters that are created by using the TCP Port Monitoring template</li>
<li>Dynamic inclusion rule is added to a group definition unexpectedly if an explicit member instance of the group disappears</li>
<li>You can't create group by using the SQL Server 20XX Installation Seed</li>
<li>Add MPB support to the SCOM online catalog</li>
<li>Active Directory Integration in Perimeter Network fails when there is only an RODC present</li>
<li>System Center Operations Manager subscriptions that use the filter to search for specific text in the description (of the message) do not work</li>
<li>CLR load order change</li>
<li>Problems in obtaining monitoring objects by using "managementGroup.EntityObjects.GetObjectReader"</li>
<li>The "Threshold Comparison" setting in the consecutive-samples-over-threshold monitor cannot be configured</li>
<li>Agentless Exception Monitoring (AEM) causes the Health Service to crash because the maximum path length of 248 character is exceeded</li>
<li>After you update management packs, the newly added default (visible) columns to view are not visible automatically</li>
<li>Branding update for Operations Management Suite</li>
</ul>
<br />
<div>
Unix and Linux Management Packs</div>
<ul>
<li>In some cases, Unix and Linux agents report incorrect CPU Percent Processor Time</li>
<li>A Logical Disk Health alert is not generated for a UNIX or Linux Logical Disk (file system) that is unmounted if the mount point exists after the file system is unmounted</li>
<li>Debian 8 Support</li>
</ul>
<h3>
</h3>
<h3>
Windows Azure Pack (WAP)</h3>
<a href="https://support.microsoft.com/en-us/kb/3069121">https://support.microsoft.com/en-us/kb/3069121</a><br />
<br />
<h4>
Fixes:</h4>
<ul>
<li>Tenants cannot delete the checkpoints of their virtual machines</li>
<li>Support for VM Names of up to 15 characters</li>
<li>Displaying VHD items during virtual machine creation when there are no Hardware profiles in the plan</li>
<li>Incompatible VHDs are offered to the Tenant when attaching a VHD to a Virtual Machine</li>
<li>Support for Tenant Plan viewing and self-subscription permission based on Security Groups</li>
<li>Support for Shielded Virtual Machine Management when it is run on Windows 10 Server Preview</li>
<li>Virtual Machine performance data displayed in the tenant portal</li>
<li>This update includes other fixes to improve overall product quality.</li>
</ul>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com0tag:blogger.com,1999:blog-5536481848801330672.post-68506688172471937782015-07-17T14:06:00.001+01:002015-07-17T14:06:22.779+01:00No software shown in the SCSM CMDBThis is an old one, but just saw it again in a customers environment so thought I'd quickly blog it.
<br />
<br />
On a new implementation of Service Manager (SCSM), the Configuration Manager (ConfigMgr) connector was put in place to the customers existing ConfigMgr 2012 R2 deployment and the computer objects started to synchronise across.
<br />
<br />
However, when the checking the CMDB in SCSM it was noticed that there was no software listed as installed on the Computer CI's and nothing showing in the Software view.
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZf2gGl5C-n8BtrICAACa5DJfoQrkU4YT3NhGCKWzZ9rwkMCz0JqDivZ4DC1oW7eJw90AOcQmZRSE5IB5JEhm89BmS5D8D2stuDjOGbkDNubKRpkGnO0yCVg6OKl8HQoI59CuezGkwE-a2/s1600/NoSoftware.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZf2gGl5C-n8BtrICAACa5DJfoQrkU4YT3NhGCKWzZ9rwkMCz0JqDivZ4DC1oW7eJw90AOcQmZRSE5IB5JEhm89BmS5D8D2stuDjOGbkDNubKRpkGnO0yCVg6OKl8HQoI59CuezGkwE-a2/s320/NoSoftware.png" width="320" /></a></div>
<br />
<br />
A quick check showed that the customer, while having Asset Intelligence enabled, didn't have the SMS_InstalledSoftware class enabled.
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6WqZXiGpcBg-6uPQYRo38QqPF5nefWEBUlUEDTRvzhw5ilWqsQ9InFyVNw7SgP-AnQYqylMMsSE91IfnKEvHoSXbR32R5-_vqRLbrJqc7nxA3l6MMhBVzJ23S-5bODr6whQ3uRTyMJaQu/s1600/SMSInstalledSoftware.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6WqZXiGpcBg-6uPQYRo38QqPF5nefWEBUlUEDTRvzhw5ilWqsQ9InFyVNw7SgP-AnQYqylMMsSE91IfnKEvHoSXbR32R5-_vqRLbrJqc7nxA3l6MMhBVzJ23S-5bODr6whQ3uRTyMJaQu/s320/SMSInstalledSoftware.png" width="298" /></a></div>
<br />
Enabling this class then allows for the related software to be synchronised across via the connector.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2k9lbTlEdbEa5Fu7gHueIjG-iN2S2Hb3rCZ5P9Ajoioqea7EJ2AOEkMACxsd38uUo9mx-80WRHZ6SOtth8zyifggIRcXbKaaciqjZAnBSGmlqz-tKy3HK1md4OJcw58XypqJ0_0MyufHS/s1600/SoftwareVisible.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2k9lbTlEdbEa5Fu7gHueIjG-iN2S2Hb3rCZ5P9Ajoioqea7EJ2AOEkMACxsd38uUo9mx-80WRHZ6SOtth8zyifggIRcXbKaaciqjZAnBSGmlqz-tKy3HK1md4OJcw58XypqJ0_0MyufHS/s320/SoftwareVisible.png" width="320" /></a></div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com0tag:blogger.com,1999:blog-5536481848801330672.post-22890099432405650602015-07-01T21:48:00.001+01:002015-07-01T21:48:04.296+01:00Removing default Support Group Tiers (and other bits) from SCSM 2012 R2 with PowerShellWhen you install Microsoft System Center 2012 R2 Service Manager and open the console, one of the first things you see are some default views for Incident Management for Support Groups based on the default supplied Tier 1, Tier 2, Tier 3 list items.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XMpu2f67HvYbF2HFQYgnX4cZTsfcDtnLqiMQLPWGzyZ9IJo-OmNFKBTH-mCy7dJtYN_O5oIz7fjDL-8xRC2tdadmY1lIPKdPGNTkGbKMNxLXN2M_aPAM3uLhgUUN7xIudysilC-UWLHg/s1600/SCSMDefaultTiers.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XMpu2f67HvYbF2HFQYgnX4cZTsfcDtnLqiMQLPWGzyZ9IJo-OmNFKBTH-mCy7dJtYN_O5oIz7fjDL-8xRC2tdadmY1lIPKdPGNTkGbKMNxLXN2M_aPAM3uLhgUUN7xIudysilC-UWLHg/s400/SCSMDefaultTiers.png" width="400" /></a></div>
<br />
<br />
<br /><br />
This is to give newcomers at least a bit of a view of how you can start to organise the system, however these are supplied as part of the default ServiceManager.IncidentManagement.Configuration management pack are can't just be deleted from the console as the list enums are linked to some of the default Templates as well as the views.<br />
<div>
</div>
It's already a fairly well documented process and can be found here for example:<br />
<a href="http://scsm.us/2013/nuking-the-default-scsm-incident-support-group-folder">http://scsm.us/2013/nuking-the-default-scsm-incident-support-group-folder</a><br />
<div>
</div>
<a href="http://blogs.technet.com/b/servicemanager/archive/2012/05/09/removing-the-sample-incident-management-configuration-support-tiers-1-2-3.aspx">http://blogs.technet.com/b/servicemanager/archive/2012/05/09/removing-the-sample-incident-management-configuration-support-tiers-1-2-3.aspx</a><br />
<div>
</div>
<br />
However... I've never been a fan of doing things manually and after forgetting to remove them the other day and having an issue after importing a custom management pack, I thought I'd try to make the process easier.<br />
<div>
</div>
So I've uploaded a PowerShell script to the TechNet Gallery that automates the process.<br />
<br /><br />
<a href="https://gallery.technet.microsoft.com/Remove-Default-SCSM-Tier-ee23edb2">https://gallery.technet.microsoft.com/Remove-Default-SCSM-Tier-ee23edb2</a><br />
<div>
</div>
<br />
<br />
This script can be used with or without any parameters and should be run from an SCSM Management Server (it may work from a workstation with the console installed, I just haven't had chance to try) and will do the following:<br />
<br />
<br />
<ul>
<li>Export the ServiceManager.IncidentManagement.Configuration management pack</li>
<li>Read in the XML</li>
<li>Increase the version count of the MP by 1</li>
<li>Remove Support Group Tier Enums</li>
<li>Remove the Category references</li>
<li>Remove the Tier 1 Support Group assignment from the default Incident templates</li>
<li>Remove the Incident Support Group (Assigned and Unassigned) views</li>
<li>Remove the Support Group folder</li>
<li>Removethe Folder Items</li>
<li>Remove Image References</li>
<li>Remove String Resources</li>
<li>Remove Display Strings</li>
<li>Save the XML back to the file</li>
<li>Reimport the management pack</li>
</ul>
<div>
Bear in mind that updates and future versions of Service Manager may replace this management pack and add the removed items back. If they do (and things haven't changed too much) you should only need to re-run this script to remove them again.</div>
<div>
<br /></div>
<div>
As always, the usual disclaimer...</div>
<div>
Please test this script first in a non production test environment. While it works for me, I cannot take responsibility if it damages your environment.</div>
<ul>
</ul>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com0tag:blogger.com,1999:blog-5536481848801330672.post-49498528410316482022015-05-15T07:11:00.001+01:002015-05-15T07:11:09.961+01:00Configuration Manager 2012 R2 Service Pack 1 & Microsoft Intune Enhancements<br />
With the release of Configuration Manager 2012 R2 SP1, Microsoft have rolled up some of the Intune Extension functionality and introduced more of the Intune capabilities into the Hybrid management solution.<br />
<br />
Most of the highly used features are now there, including one I regularly get asked about, remote lock and passcode reset!<br />
<br />
From the "What's New" notes:<br />
<br />
<ul>
<li>You can now manage Windows 10 and Windows 10 mobile devices that are enrolled with Microsoft Intune. All existing Intune features for managing Windows 8.1 and Windows Phone 8.1 devices will work for Windows 10 and Windows 10 Mobile.</li>
</ul>
<br />
<ul>
<li>For System Center 2012 R2 Configuration Manager only: The following Extensions for Microsoft Intune that were released for System Center 2012 R2 Configuration Manager have been integrated into System Center 2012 R2 Configuration Manager SP1. If you previously installed any of these extensions, they will no longer be displayed in the Extensions for Microsoft Intune node of the Configuration Manager console.</li>
<ul>
<li>iOS 7 and iOS 8 Security Settings Extension</li>
<li>Enterprise Mode Internet Explorer Extension</li>
<li>Windows Phone 8.1 Extension</li>
<li>Conditional Access Extension</li>
<li>Email Profiles Extension</li>
</ul>
</ul>
<br />
<ul>
<li>You can deploy iOS apps that are free of charge from the app store. You can deploy this installer type as a required install to make it mandatory on managed devices, or deploy it as available to let users download it from the app store.</li>
</ul>
<br />
<ul>
<li>New mobile device configuration item settings for Samsung KNOX devices. This adds the same capabilities for Samsung KNOX device to Configuration Manager that exist in Intune, with the exception of kiosk mode.</li>
</ul>
<br />
<ul>
<li>Conditional access to Exchange On-premises for mobile devices. Only devices that are enrolled with Intune and compliant with device policy are allowed to access Exchange email.</li>
</ul>
<br />
<ul>
<li>Conditional access to Exchange Online and SharePoint Online for mobile devices. Only devices that are enrolled with Intune and compliant with device policy are allowed to access Exchange email, or access SharePoint Online files from OneDrive for Business. This feature also introduces new reports that help you identify devices that will be blocked.</li>
</ul>
<br />
<ul>
<li>You can now manage iOS devices purchased through Apple’s Device Enrollment program. This allows for over-the-air management of corporate-owned iOS mobile devices.</li>
</ul>
<br />
<ul>
<li>You can now remote lock, or reset the passcode on iOS, Android, or Windows Phone 8 and later devices from the Configuration Manager console.</li>
</ul>
<br />
<ul>
<li>Mobile application management (MAM) policies let you modify the functionality of compatible apps that you deploy to help bring them into line with your company compliance and security policies. For example, you can restrict cut, copy and paste operations within a managed app, or configure an app to open all web links inside a managed browser.</li>
</ul>
<br />
<ul>
<li>For System Center 2012 R2 Configuration Manager only: You can now associate apps to a VPN connection on devices that run iOS 7 and later. These apps will open the VPN connection when they are launched.<br /><br />Additionally, VPN profiles now support Android 4.0 and later versions.</li>
</ul>
<br />
<ul>
<li>Windows Phone 8.1 devices can be enrolled and managed without first uploading a Symantec certificate and a signed Company Portal app. You still have to have a Symantec certificate to side load your own software, but you can send applications that are a link to a store, or a web app to Windows Phone devices using the Company Portal.</li>
</ul>
<br />
<ul>
<li>Custom settings are used in a mobile device configuration item and let you deploy settings to iOS devices that are not selectable from the cmshort console. You create settings in the Apple Configurator Tool, import these settings into the configuration item, then deploy these to the required devices.</li>
</ul>
<br />
<ul>
<li>Kiosk mode allows you to lock a managed iOS mobile device to only allow certain features to work. For example, you can allow a device to only run one managed app that you specify, or you can disable the volume buttons on a device. These settings might be used for a demonstration model of a device, or a device that is dedicated to performing only one function, such as a point of sale device.</li>
</ul>
<br />
<ul>
<li>You can provision personal information exchange (.pfx) files to user’s devices including Windows 10, iOS, and Android devices. Devices can use PFX files to support encrypted data exchange.</li>
</ul>
<br />
<ul>
<li>System Center Endpoint Protection can be used to manage endpoint protection on Windows 10 technical preview devices with Windows Defender. The endpoint protection agent is included in Windows 10 and does not need to be deployed. Be sure to include malware definitions for Windows Defender in updates for managed devices.</li>
</ul>
<br />
<ul>
<li>For System Center 2012 R2 Configuration Manager only: App compliance policies let you create a list of compliant or noncompliant apps in your organization. For Windows Phone 8.1 devices, apps can be blocked from being installed or launched.<br /><br />For iOS and Android apps, you can use reports to find users and devices with noncompliant apps.</li>
</ul>
<br />
<ul>
<li>For System Center 2012 R2 Configuration Manager only: Configuration Manager email profiles now support Android Samsung KNOX 4.0 and later.</li>
</ul>
<br />
You can find the full "What's New" notes for SP1 here: <a href="https://technet.microsoft.com/en-us/library/mt131422.aspx">https://technet.microsoft.com/en-us/library/mt131422.aspx</a>Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com1tag:blogger.com,1999:blog-5536481848801330672.post-56296402415014550482015-05-13T12:33:00.000+01:002015-05-13T12:33:07.124+01:00Is Operations Manager dead now we have Azure Operational Insights?With the announcements at Microsoft Ignite the other week, the General Availability of Operational Insights (OpInsights) and the new over-arching service of Microsoft Operations Management Suite, some people are now starting to declare System Center Operations Manager (SCOM) as dead with OpInsights as it's "born in the cloud" replacement.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuyobl2YaRzQFn57wqSGCBUjFUhClbd4f8KwxeNK3dKwD9ud7lrbKzBHTimK5fJoVKO7T9GKDxpd-kKyFM7_PlGH1AZElWGWx1Qjzf1UPiA4XDAMcInQAt6m49l3asaCAyEv35ogGHWV3H/s1600/OMSLandingPage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuyobl2YaRzQFn57wqSGCBUjFUhClbd4f8KwxeNK3dKwD9ud7lrbKzBHTimK5fJoVKO7T9GKDxpd-kKyFM7_PlGH1AZElWGWx1Qjzf1UPiA4XDAMcInQAt6m49l3asaCAyEv35ogGHWV3H/s400/OMSLandingPage.png" width="400" /></a></div>
<br />
<br />
Lets try and address this, becuase quite simply, that's wrong.<br />
<br />
Operations Manager has a long history, with the current version being System Center 2012 R2 but stretching as far back to 2000 when Microsoft licensed the NetIQ technology and developed it into MOM 2000 and across MOM 2005, SCOM 2007, SCOM 2007 R2, SCOM 2012, SCOM 2012 R2 and soon the vNext 2016 release.<br />
<br />
So straight away, we know there's going to be a new release with the vNext wave in 2016 so this certainly isn't a discontinued product, but if we have this shiny new toy, Operational Insights, why would I consider the On-Premise Operations Manager?<br />
<br />
<h3>
They do the same thing, right?</h3>
Both solutions have slightly differing areas of functions/features/approaches or whatever you want to call them.<br />
<br />
<h4>
Operations Manager</h4>
This is designed to sit within your environment and based on a management pack model is extended to monitor for events, performance, availability and configuration across your infrastructure. This infrastructure could be Windows Servers. Unix/Linux Servers, Network Devices or even physical "tin" (HP/Dell/Cisco UCS Servers) SAN's etc.<br />
<br />
So we have a wide range of infrastructure we can monitor and get alerts for a wide range of "hicups" that can occur while also dragging out performance metrics like memory, CPU, Disk utilisation or SQL DB locks, Exchange message queue lengths etc.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_33GxpQVzC5gSH7_bayiatnu_26KNgTB75x_EkvdyY0hA-WYJPd4gj5H79kj1syYgfMgUOicHcLpTe5lLKRAeYwzYu_Te9YK7-rULZ-tzi1YJ9vNzKkd5p7CE1G9qfhw9n5hXjAq6aX4_/s1600/SCOMExample.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_33GxpQVzC5gSH7_bayiatnu_26KNgTB75x_EkvdyY0hA-WYJPd4gj5H79kj1syYgfMgUOicHcLpTe5lLKRAeYwzYu_Te9YK7-rULZ-tzi1YJ9vNzKkd5p7CE1G9qfhw9n5hXjAq6aX4_/s400/SCOMExample.png" width="400" /></a></div>
<br />
<h4>
Operational Insights</h4>
From the documentation site:<br /><em>Operational Insights is an analysis service that enables IT administrators to gain deep insight across on-premises and cloud environments. It enables you to interact with real-time and historical machine data to rapidly develop custom insights, and provides Microsoft and community-developed patterns for analyzing data.</em><br />
<br />
OpInsights is based on "Solutions" which in a simlar vein to management packs, extend the service with features/functions.<br />
At present there's only a selection but I think it's safe to say this will expand over time if/when partners and the community are allowed to develop for the platform.<br />
<br />
<div>
Currently you can use solutions to provide:</div>
<ul>
<li><strong>Malware Assessment</strong> - Shows which servers do/dont have protection installed and any with threats present (i.e. malware installed)</li>
<li><strong>System Update Assessment</strong> - Shows which servers have missing Windows Updates</li>
<li><strong>Capacity Planning</strong> - Using Operations Manager & Virtual Machine Manager (VMM) to analyse CPU, Memory, Network and Storage metrics to provide forecasting and what if scenarios such as over or under utilised VM's or when hosts will be exhuasted or resources.</li>
<li><strong>Change Tracking</strong> - Shows which servers have the most changes, what changed (service status, workload changes to Exchange, SharePoint etc, application installation)</li>
<li><strong>Security and Audit</strong> - Performs forensic analysis and security breach pattern investigations while enabling audit scenarios.</li>
<li><strong>Active Directory Assessment</strong> - Assesses the risk and health of your AD environment</li>
<li><strong>SQL Server Assessment</strong> - Assesses the risk and health of your SQL Server environments</li>
<li><strong>Alert Management</strong> - Surfaces the alerts from Operations to allow detailed searching and analysis to help with root cause identification.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi47AeftOo1QUPoEqjzJjVsKB5Nb_qhTza9m7OwK3IwUPNitucxWbwKgBjUNKP96Miwn-f-HhvWbQ7SP0Mbaa1aH1FHh6HMKnW43poA9ldBw6YUwAYsh5XGsjauo1ZhRS2ytApKjdphPIw-/s1600/OpInsightsExample.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi47AeftOo1QUPoEqjzJjVsKB5Nb_qhTza9m7OwK3IwUPNitucxWbwKgBjUNKP96Miwn-f-HhvWbQ7SP0Mbaa1aH1FHh6HMKnW43poA9ldBw6YUwAYsh5XGsjauo1ZhRS2ytApKjdphPIw-/s400/OpInsightsExample.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<h3>
So what's the difference then?</h3>
While Operations Manager is focused on gathering raw performance data, checking things are running and available and capturing events, OpInsights is focused on taking information and applying machine learning algorithms and best practice analysis to it to provide forcasting, trending and <br />
recommendations.<br />
It can also be clearly seen that a couple of the solution packs in OpInsights actually require an Operations Manager infrastructure in place (Capacity Planning and Alerts) to gather the right type of information to analyse and you have two options for connecting servers to OpsInight in the first place;<br />
<ul>
<li>Operations Manager Management Group Connection</li>
<li>Direct Server Attachment</li>
</ul>
<br />
The two solutions basically share the same agent (Microsoft Monitoring Agent) but have the two distinct connection methods.<br />
<br />For an environment with more than a few hundred servers, my personal approach would always be to deploy SCOM locally and use that to control deployment and management of agents and therefore use the SCOM management servers as "proxies" to OpInsights while it would certainly make more sense for smaller SMB customers with a handful of servers to use the direct connection method.<br />
<br />
<h3>
And this is where OpInsights could be seen as a replacement</h3>
Not so much a replacement, but an alternative... If you only had 10 Servers for example, that's a lot easier to manage through say Server Manager to see if it's up or down, it's unlikely you have a big team with delegated responsibilites for Exchange, SharePoint etc and you might not need the indepth <br />
monitoring SCOM provides but would welcome an overview of your servers and some cool analytics and best practice recomendations would be welcomed.<br />
<br />
<h3>
Compliments to the Chef...</h3>
In essence, both of these solutions are complimentary to each other.<br />Operations Manager is and will be for the foreseeable future the best solution for monitoring and managing your infrastructure at a granular level and is extensible in a much greater way than OpInsights can be (scoped tasks and delgated administration for example) but Operations Manager doesn't have the raw analytics and pattern detections that OpInsights can leverage from Azure and therefore provides a new level of informational view of your infrastructure.<br />
<br />
In short, no, OpInisghts isn't a replacement to Operations Manager. It's a new solution for sure, yes it can be used standalone but with a break point in usefullness without Operations Manager.<br />
But if you haven't tried it yet, go do so NOW!<br />There's a basic free tier meaning you can try this without risk and you'll undoubtedly fall in love with the service very quickly like I have, as have the customers I've shown it to and onboarded to it.<br />
<br />
Go here to signup now:<br />
<a href="http://www.microsoft.com/en-us/server-cloud/operations-management-suite/default.aspx">http://www.microsoft.com/en-us/server-cloud/operations-management-suite/default.aspx</a>Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com1tag:blogger.com,1999:blog-5536481848801330672.post-63663030997113013192015-05-04T16:23:00.000+01:002015-05-04T16:30:29.302+01:00RIP Orchestrator, Long Live Azure Automation!We've known for a while now that Microsoft were planning to deprecate Orchestrator in System Center vNext, see the<em> Automation Roadmap in the Next Release of System Center, Azure Pack and Microsoft Azure</em> session from Teched Europe 2014 - <a href="http://channel9.msdn.com/Events/TechEd/Europe/2014/CDP-B245">http://channel9.msdn.com/Events/TechEd/Europe/2014/CDP-B245</a><br />
<br />
During that session (about 34mins) we were shown a very brief glance of the new azure portal with Azure Automation present inside it with the promise that it would be developed in Azure first and then brought back on premise.<br />
<br />
Azure Automation and it's on-premise father SMA (SMA came first!) are both already available and in use, but both of these were basically management portals for importing, managing and scheduling PowerShell Workflow scripts.<br />
<br />
The biggest draw for Orchestrator, for me, was the GUI. This enabled non-Devs or IT Pros who weren't hard core to get to grips with designing graphical process workflow automations and the idea that we would be left with everyone having to dive into deep scripting to even get the simple tasks done was certainly daunting, especially as I see Orchestrator being regularly used in conjunction with the Service Desk teams where that skill is usually not present.<br />
<br />
Well today, we see where Microsoft have been aiming to go with this.<br />
<br />
<h3>
Azure Automation</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjIOE-wGckbgbObEsocHoMLpWvS2wa_WKPnq28zCIZ8ay69ycQq8J2zm0fpp-jVpZ2cMDzsryqgcpOhAakJjPeoTsc2gcuOpXyA-sMhNOdvCCQ2EwdaLBu_FdR6LWcip1RVNoalk3mlUtm/s1600/Account.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjIOE-wGckbgbObEsocHoMLpWvS2wa_WKPnq28zCIZ8ay69ycQq8J2zm0fpp-jVpZ2cMDzsryqgcpOhAakJjPeoTsc2gcuOpXyA-sMhNOdvCCQ2EwdaLBu_FdR6LWcip1RVNoalk3mlUtm/s400/Account.png" width="400" /></a></div>
<br />
From the new preview Azure Portal we can now access any existing Azure Automation accounts that were previously created, or create a new one.<br />
<br />
The first new cool feature is Assets.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCdlw9WW02oqX6LsaRUfbZO9T6zpfkDr0WK78be7KYKDMukZkJhMqFxFJVGbUbSKRyN-t941C1if7hb_b8NaaNaCENo3A06g9dUNEAWqkRgsDEDEboqdlZpzljYrREAhUXLXFlx__ZAUN1/s1600/Assets.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCdlw9WW02oqX6LsaRUfbZO9T6zpfkDr0WK78be7KYKDMukZkJhMqFxFJVGbUbSKRyN-t941C1if7hb_b8NaaNaCENo3A06g9dUNEAWqkRgsDEDEboqdlZpzljYrREAhUXLXFlx__ZAUN1/s400/Assets.png" width="381" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
This now gives us the ability to centrally control and reuse within our Runbooks:</div>
<ul>
<li><div class="separator" style="clear: both; text-align: left;">
Schedules - When Runbooks should run</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
Modules - Ability to upload PowerShell modules for use within Runbooks</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
Connections - Currently just to Azure but more will come</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
Certificates</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
Variables </div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
Credentials</div>
</li>
</ul>
<h3 class="separator" style="clear: both; text-align: left;">
</h3>
<h3 class="separator" style="clear: both; text-align: left;">
And now the thing that you've been waiting for... Graphical Editing!!</h3>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyVzAwl8x89BwJAcVlLWBtnJc-PP5w_EASePKGMbBwdd6WNoUciiXbUUrH1TDLjBJ3Zj7HIWdMKq68CiAGv1ThWYED5APoQUL6k_sBGhyphenhyphenkh-VGs-vWByGIq-hlMh-o6d2KgejbtWOevBae/s1600/AAGUI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyVzAwl8x89BwJAcVlLWBtnJc-PP5w_EASePKGMbBwdd6WNoUciiXbUUrH1TDLjBJ3Zj7HIWdMKq68CiAGv1ThWYED5APoQUL6k_sBGhyphenhyphenkh-VGs-vWByGIq-hlMh-o6d2KgejbtWOevBae/s400/AAGUI.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
This GUI based editing allows you to place CmdLets, Runbooks, Assets and Controls into the workflow and arrange them in the logical order that's right and then configure parameters etc.<br />
<br />
I'm going to be doing some deeper diving into this starting from now so watch out for more info.<br />
<br />
<h3>
However, the fun doesn't stop there!</h3>
<br />
From that TechEd Europe session, it was also mentioned that the approach would be one of consistency across Azure and On-premise, so expect these features to be coming with vNext of WAP and Orchestrator/SMA/Whatever name it ends up with.<br />
<br />
We're also being treated to a new management layer for PowerShell Desired State Configuration.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8jBwVuk8lrLERpMgVBNTL25HeZdJuCgRFRuD06zgl_Bv49CuwRw-kU11ixfD3wvtIousm5QAab42QCUcYkkT59wFnjtsHUktBGKDj9jsisBKpatijRN-xNyUX7XZ3-Kej_XGE0w5HFQrG/s1600/AADSC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8jBwVuk8lrLERpMgVBNTL25HeZdJuCgRFRuD06zgl_Bv49CuwRw-kU11ixfD3wvtIousm5QAab42QCUcYkkT59wFnjtsHUktBGKDj9jsisBKpatijRN-xNyUX7XZ3-Kej_XGE0w5HFQrG/s400/AADSC.png" width="400" /></a></div>
<br />
You see this option when you choose an optional extension to add and configure when deploying a new VM into Azure.<br />
Using Azure Automation you will be able to author new DSC resources (and import existing) and use a cloud based Azure Automation DSC Pull Server which you target nodes (cloud and on-prem) will then use to get and report their configuration to.<br />
<br />
<h3>
Here comes the curve ball...</h3>
<br />
While some customers will undoubtedly require a fully On-Premise version, be it for secure isolated environments, regulation or whatever reason, with this announcement of enhanced Automation via the new Azure Portal also comes another very interesting scenario...<br />
<br />
<h3>
Hybrid Automation</h3>
<br />
With these new features now comes the ability to utilise On-Premise Runbook Workers.<br />
This allows for creation and management of automation via the Azure Portal and Azure Automation service, but to selectively choose to run some Runbooks On-Premise, negating the need to design scripts to reach back into our environments and also having to expose systems out to the wider world and instead use a server sat within our network boundary to execute the automation Runbook and simply report it's execution back to your Azure subscription.<br />
<br />
This requires use of the newly announced Microsoft Operations Management Suite (More details <a href="http://www.systemcenter.ninja/2015/05/microsoft-operations-management-suite.html" target="_blank">here</a>) and through adding the Automation Solution to allow configuration of an On-Premise Runbook Worker server.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-QWgGQ2Q1F4mwtM0xm8WnmLclVfGTV6cqwOL3x8ULYcb2WTZ386uk2tVAs7UBDFE7a9xIiTTPhN5iV_ndu6bXhEek1iuc7f-w60vdZCEg4RWOjH-tIafC58VkNuH6vHqcESjnjt51EQko/s1600/MOMSolution.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-QWgGQ2Q1F4mwtM0xm8WnmLclVfGTV6cqwOL3x8ULYcb2WTZ386uk2tVAs7UBDFE7a9xIiTTPhN5iV_ndu6bXhEek1iuc7f-w60vdZCEg4RWOjH-tIafC58VkNuH6vHqcESjnjt51EQko/s400/MOMSolution.png" width="400" /></a></div>
<br />
Once you've added the Automation Solution pack and have the target server installed with a Microsoft Management Agent and connected to the service, it will be a simple case of running some PowerShell commands (e.g. Add-HybridRegistration, Add-HybridRunbookWorker) to enable it as a Hybrid worker for you to start using it.<br />
<br />
I'll have some more posts soon running through setup etc.Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com1tag:blogger.com,1999:blog-5536481848801330672.post-41342318635935576722015-05-04T15:42:00.000+01:002015-05-04T17:56:57.798+01:00Microsoft Operations Management SuiteWhile we always knew that things in Preview are subject to change, this is quite a change...<br />
<br />
<h3>
In the beginning...</h3>
<br />
Way back when, we had a service called System Center Advisor, designed to give us proactive information regarding our configuration and best practice advise.<br />
<br />
This was recently evolved into a new service named Operational Insights. This gave us a much more enhanced version of advisor with the ability to add Intelligence Packs to extend it further with features such as Capacity Planning, Security and Audit and Change Tracking for example.<br />
<br />
<h3>
And now...</h3>
<br />
So just as we were expecting OpInsights to leave preview and go GA (it has today 4th May 2015) we also see some further changes.<br />
<br />
<strike>The name has now changed to Microsoft Operations Management Suite for a start.</strike><br />
Not a name change, but rather an inclusion within the wider Microsoft Operations Management Suite (OMS) very much like Intune is a part of EMS. I just expect people will refer to it as OMS.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_cf8QoMFJer9msCnUa1NJkt1W-k8_74crzwX8D7zrp4_n95tO8-EN6wNZ0FCkuuV9Pbsb1hb8b4YldBw_OfdIiaXuQXiwFtz6x5nGWaFgMPThguuKRMtGDxKgnzyl5sqRbIE8ifFxW3o7/s1600/MOMStart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="327" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_cf8QoMFJer9msCnUa1NJkt1W-k8_74crzwX8D7zrp4_n95tO8-EN6wNZ0FCkuuV9Pbsb1hb8b4YldBw_OfdIiaXuQXiwFtz6x5nGWaFgMPThguuKRMtGDxKgnzyl5sqRbIE8ifFxW3o7/s400/MOMStart.png" width="400" /></a></div>
<br />
<h3>
But that's not where it ends.</h3>
<br />
We still have the Intelligence Packs from Preview, although these are now called Solutions, but we also have a few more goodies.<br />
<ul>
<li><strong>Backup</strong> - Manage Azure IaaS VM backup and Windows Server backup status for your backup vault</li>
<li><strong>Azure Site Recovery</strong> - Monitor virtual machine replication status for your Azure Site Recovery Vault.</li>
<li><strong>Automation</strong> - Automate time consuming and frequently repeated tasks in the cloud and on-premise.</li>
</ul>
<strong>N.B.</strong> You can check this post for more info on the Automation solution.<br />
<a href="http://www.systemcenter.ninja/2015/05/rip-orchestrator-long-live-azure.html">http://www.systemcenter.ninja/2015/05/rip-orchestrator-long-live-azure.html</a><br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2aTkiguavicM_JvpxTXE2j9AUEeAM8ri8gKH2gnksoBVpEz78BUnVu9fkZvbWlsLr78xMefpi_Ni-a7XRgnr_F4SSqOR3lUWhALba_ON0NNhFgpSzPyZB3qQtz8I78btUS_q0LC7FTp8p/s1600/AddSolutions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2aTkiguavicM_JvpxTXE2j9AUEeAM8ri8gKH2gnksoBVpEz78BUnVu9fkZvbWlsLr78xMefpi_Ni-a7XRgnr_F4SSqOR3lUWhALba_ON0NNhFgpSzPyZB3qQtz8I78btUS_q0LC7FTp8p/s400/AddSolutions.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
The thought process behind this is to start to pull together the collection of management services that Microsoft offers and give that "<em>Single Pane of Glass</em>" view into your environment.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<h3 class="separator" style="clear: both; text-align: left;">
Hybrid</h3>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
The service isn't just for managing your Cloud infrastructure, it's designed for Hybrid Management with the ability to take data for the OpInsights part from either direct connected clients (Microsoft Monitoring Agent for Windows and soon Linux) or agents connected as part of a System Center 2012 R2 Operations Manager connected Management Group.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm4zptVV6ZFRIK6FzNWb4KfXQMj30_18inp-LcspWfpI1sXbedDu91nEgGiEuuH8jz8NzT4eF6FntWk51hr8H0O4Q5jGIsDrgAhAiWaHbQgbCrban2COQ-ruTmTPC4xfBs857WBXkDR2iz/s1600/Connected+Sources.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm4zptVV6ZFRIK6FzNWb4KfXQMj30_18inp-LcspWfpI1sXbedDu91nEgGiEuuH8jz8NzT4eF6FntWk51hr8H0O4Q5jGIsDrgAhAiWaHbQgbCrban2COQ-ruTmTPC4xfBs857WBXkDR2iz/s400/Connected+Sources.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
In fact, it really doesn't matter where your infrastructure is sitting, Azure, AWS, OpenStack, On-Premise, it just doesn't matter. It's all about centralising your management to make it easier.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
We also see the inclusion of managing services such as Azure Site Recovery Manager and Azure Backup which may be protecting on-premise servers.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Along with the new Azure Automation capabilities which also bring the new Hybrid Runbook Worker role with it.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<h3 class="separator" style="clear: both; text-align: left;">
Get Going Now...</h3>
<div class="separator" style="clear: both; text-align: left;">
The best thing about this, is there is a basic "free" plan meaning you can start evaluating and using this now, for no outlay and simply expand as required later.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
If you haven't already, signup for an Azure subscription and then add a new Operational Insights subscription and workspace.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://www.microsoft.com/en-us/server-cloud/operations-management-suite/Overview.aspx">http://www.microsoft.com/en-us/server-cloud/operations-management-suite/Overview.aspx</a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
At time of writing, this still says "Coming Soon..." from the new portal</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5tN9ZnZ2e7YVSDrd-dBUVmFnLctntPYcr4lXqZD4C1ZcuLJCZpbVj_ee6u5n1XSmqQ_blikvSmXfoutBX9H-hmsIqgN1LJetNSKNBn1rxQg9zVuk_Tl9ikzRQc2-vyYE3UY2uQnLCvli/s1600/AddNew.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5tN9ZnZ2e7YVSDrd-dBUVmFnLctntPYcr4lXqZD4C1ZcuLJCZpbVj_ee6u5n1XSmqQ_blikvSmXfoutBX9H-hmsIqgN1LJetNSKNBn1rxQg9zVuk_Tl9ikzRQc2-vyYE3UY2uQnLCvli/s320/AddNew.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
But you can add this from the original portal<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-w3Xq6SBDiCtNec8dklBWHvn2VgoNFas12zDETfFpRm9GeUh-sUBR90kKbli75WcuzKkJkVCMqbSptu9pAjd1bbORciTMqALTizXKGABB1b2wt50JxLXW1qZTA41dTeZe0tpdB35Xtklt/s1600/oldportal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-w3Xq6SBDiCtNec8dklBWHvn2VgoNFas12zDETfFpRm9GeUh-sUBR90kKbli75WcuzKkJkVCMqbSptu9pAjd1bbORciTMqALTizXKGABB1b2wt50JxLXW1qZTA41dTeZe0tpdB35Xtklt/s320/oldportal.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<h3 class="separator" style="clear: both; text-align: left;">
The future on it's way</h3>
<div class="separator" style="clear: both; text-align: left;">
I'm going to make a prediction now, this is based purely on speculation and nothing that I'm privy to.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
If I was a betting man I would hazard the guess that this gives Microsoft a very easy, centralised platform where they can very quickly turn on new management features and expand out the On-Premise System Center solutions to deliver new and exciting scenarios.</div>
<div class="separator" style="clear: both; text-align: left;">
I would certainly pay attention to this service and, I for one, am excited to see where they drive it.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
For example, I would love to see Intune integrated.</div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com1tag:blogger.com,1999:blog-5536481848801330672.post-47093441002082936532015-04-28T23:03:00.001+01:002015-04-29T23:33:31.173+01:00VMM 2012 R2 UR6 - x64 or x86?? Which is which??Well, I was about to call it a night and noticed a tweet from a friend.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil_6nEGxdc8zB40kThRMwq32jLY9_3pXXeLd1h4PcQ7V4DOv0odpwwCIunjO0e09aunN6Bs-DjBST8go4y-g18FSbjTxFQBZO0h7n754VLlZbFg-ljISoM14eA_da8Em2w8V1Pv5lnz5FR/s1600/vmmx86x64.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil_6nEGxdc8zB40kThRMwq32jLY9_3pXXeLd1h4PcQ7V4DOv0odpwwCIunjO0e09aunN6Bs-DjBST8go4y-g18FSbjTxFQBZO0h7n754VLlZbFg-ljISoM14eA_da8Em2w8V1Pv5lnz5FR/s1600/vmmx86x64.png" height="132" width="400" /></a></div>
<br />
<br />
Ermm.. ok, really???<br />
So I had to go look myself.<br />
<br />
So the two cab files you get when downloading the VMM console update from the Microsoft Catalog are:<br />
<ul>
<li>SC2012 R2 - vmm Console x64_SC2012 R2 - vmm Console x86-all-kb3050947_adminconsole_amd64_efbde801498984d5bdd823cad41a600a1b0adfc0.cab</li>
<li>SC2012 R2 - vmm Console x86_SC2012 R2 - vmm Console x64-all-kb3050947_adminconsole_i386_dcc1fbae0c6a6af7f5750814f4c5274eb9f6d22c.cab</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7eGysnuHnGVHtxpFdQzudcoqK1-9TjYnBGtmFbe-41uRz628CRPSLUPeiQxQrT-SqgKifdmIKPUW2XidyglFAtvAYP0UNFSN28oVrZeSUOKUU2zqiZjHtHgsNw4MaRAzkc8nNghsrcej2/s1600/vmmx86x64_file1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7eGysnuHnGVHtxpFdQzudcoqK1-9TjYnBGtmFbe-41uRz628CRPSLUPeiQxQrT-SqgKifdmIKPUW2XidyglFAtvAYP0UNFSN28oVrZeSUOKUU2zqiZjHtHgsNw4MaRAzkc8nNghsrcej2/s1600/vmmx86x64_file1.png" height="22" width="400" /></a></div>
<br />
Notice the repetition of the "bitness" in the filename, it's not consistent.<br />
For example the console update that starts with x64 then changes to x86 before then mentioning amd64 but contains the update for x64.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitDlmx98So34bNsUY7ZneH0itSy16JEPmLs6-PiT8vTay3-dl4CXmYEqzajw247uDCBv6iXqF7n24YWxNTn7YgNPwRKJu2mLdyjfBL-TOpr4kADT9fh5YHSHbHZAeiVKGWW-YZp8qVmCvV/s1600/vmmx86x64_file2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitDlmx98So34bNsUY7ZneH0itSy16JEPmLs6-PiT8vTay3-dl4CXmYEqzajw247uDCBv6iXqF7n24YWxNTn7YgNPwRKJu2mLdyjfBL-TOpr4kADT9fh5YHSHbHZAeiVKGWW-YZp8qVmCvV/s1600/vmmx86x64_file2.png" height="26" width="400" /></a></div>
<br />
Fine, just looks like a slight naming confusion.<br />
<br />
However...<br />
I then downloaded the same KB file from the MS Catalog site, but from my office connection as I was going to update my VMM server, which gave me this file:<br />
<ul>
<li>SC2012 R2 - vmm Console x64_SC2012 R2 - vmm Console x86-all-kb3050947_adminconsole_i386_dcc1fbae0c6a6af7f5750814f4c5274eb9f6d22c.cab</li>
</ul>
Which is different to the first "x64" file from the other PC<br />
<ul>
<li>SC2012 R2 - vmm Console x64_SC2012 R2 - vmm Console x86-all-kb3050947_adminconsole_amd64_efbde801498984d5bdd823cad41a600a1b0adfc0.cab</li>
</ul>
Notice the very subtle change in file name?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp90hEEYlBSZ1TCjngeVK9qn2YI1gwwVaFjh1wSZPlpss87SYrBoYqXpiWntzXq3OCVmxQf9PAxP1kd9B6qrVIBjEFCUKTyhbNYrsSCToGnJ-ZRy5kxJTLAlYEQufVbKtnU0Ia7s4e8liG/s1600/vmmx86x64_file3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp90hEEYlBSZ1TCjngeVK9qn2YI1gwwVaFjh1wSZPlpss87SYrBoYqXpiWntzXq3OCVmxQf9PAxP1kd9B6qrVIBjEFCUKTyhbNYrsSCToGnJ-ZRy5kxJTLAlYEQufVbKtnU0Ia7s4e8liG/s1600/vmmx86x64_file3.png" height="21" width="400" /></a></div>
<br />
What is worrying however, is the contents of these files are completely different. One is the x64 update while the other is the x86 update.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhviQ2-68s9321M3PNOaDpQpu4GmQWyNiY5dFHY_OsPDf0xoh_CYN0g1ErpIz4dSFdD48DDEsCZ5-P2M_SYg1frPMWP40SuNqK5r4SYf4Q7ngqodXPLIs64HncKLPX13grIzbVNW-R1k9Ye/s1600/vmmx86x64_file4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhviQ2-68s9321M3PNOaDpQpu4GmQWyNiY5dFHY_OsPDf0xoh_CYN0g1ErpIz4dSFdD48DDEsCZ5-P2M_SYg1frPMWP40SuNqK5r4SYf4Q7ngqodXPLIs64HncKLPX13grIzbVNW-R1k9Ye/s1600/vmmx86x64_file4.png" height="147" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="left" class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Conversely the "x86" cab file contains the x64 update.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
I'm slightly bemused how downloading the same update from the same site but on two different systems gives completely differently named files/content. Not to mention just being generally confused by the file name full stop.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
I'm not entirely sure what's going on here and what if any impact to updating via WSUS/MSU/ConfigMgr but have reached out to others to test their downloads and MS and will update if/when I hear more.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
** Update 29/04/15 **</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
So this is purely a cosmetic thing and has no impact on patching via WSUS etc.</div>
<div class="separator" style="clear: both; text-align: left;">
The last reference in the file name is the important part, so i386 or amd64 will denote which patch is contained in the cab file if you need to know before extracting.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmEXA0wuuVCdQS0J3rZcPq7DuB0Husvly6Gqhc9SQjHRrhaoW4eBlchV5Qa2NTKSMhpaZOYEyEGspNwuyoZ-S1nBdYBNWDfgTv2TYkyF6ZXy9Wh1Nl3dXIYvmA7p-RiVJcLYZ47fn2muCx/s1600/vmmx86x64_file3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmEXA0wuuVCdQS0J3rZcPq7DuB0Husvly6Gqhc9SQjHRrhaoW4eBlchV5Qa2NTKSMhpaZOYEyEGspNwuyoZ-S1nBdYBNWDfgTv2TYkyF6ZXy9Wh1Nl3dXIYvmA7p-RiVJcLYZ47fn2muCx/s1600/vmmx86x64_file3.png" height="21" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
This isn't new either, it's gone unnoticed by myself for all the previous update rollups (where it is the same) as it looks like I've got into the routine of downloading, extracting and storing in a logical folder structure without even looking at the cab file names :)</div>
Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com3tag:blogger.com,1999:blog-5536481848801330672.post-75877243098391470992015-01-30T10:13:00.000+00:002015-01-30T10:13:08.872+00:00Windows Azure Pack - Where's my disk space gone?I was cleaning up an environment the other day and noticed that one of the servers in a Windows Azure Pack deployment was running very low on disk space.<br />
<br />
Intrigued as to why I started digging in to find out what was consuming it all and it turned out to be the large amount of etl files (Windows Performance Analyzer Trace Files) that had been created in the C:\ProgramData\Windows Fabric\Fabric\log\Traces folder.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWb7soXZvJyQl2ovE1GvXyidXsQ_Q1MYub1MNQ8riMiZZ3IsnifuIJ6kvy9xk6zxa9R2JPsDgm4dhtgGJX26OdJ8AhEB_DOatNVM8sdHj43yH_WCI7pXNsgD93oIBZGw5DzoLM65JXGF30/s1600/WAP_Trace_Files.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWb7soXZvJyQl2ovE1GvXyidXsQ_Q1MYub1MNQ8riMiZZ3IsnifuIJ6kvy9xk6zxa9R2JPsDgm4dhtgGJX26OdJ8AhEB_DOatNVM8sdHj43yH_WCI7pXNsgD93oIBZGw5DzoLM65JXGF30/s1600/WAP_Trace_Files.png" height="333" width="400" /></a></div>
<span id="goog_1250601943"></span><span id="goog_1250601944"></span><br />
Simple solution, if you're not busy troubleshooting, delete them.<br />
<br />
However, why are they created and what can be done to stop them filling the drive again?<br />
<br />
One of the parts of the Windows Azure Pack (WAP) that can be deployed is Service Bus.<br />
<br />
Kristian Nese has a good post on how to deploy Service Bus <a href="http://kristiannese.blogspot.co.uk/2014/09/deploying-service-bus-for-windows-azure.html" target="_blank">here</a> and summarises it quickly as:<br />
<br />
<i>"Service Bus provides messaging capabilities that enables you to build, test and run loosely-coupled message driven applications."</i><br />
<br />
One of the pre-requisites for Service Bus is the Windows Fabric application.<br />
<br />
<i>"Windows Fabric is a Microsoft technology used for creating highly reliable, distributable, and scalable applications."</i><br />
<br />
You may have come across this pre-requisite before if you've deployed Microsoft Lync Server 2013 which also uses it.<br />
<br />
Basically, when Windows Fabric installs it creates some performance counters and logging is enabled on these as default.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxmIvlCHL2M7BHhnu6tPFXboVT-DhpoH4uAKtSM-azoF-pBqvVKh17HVWRvvmZUvU8cAM6Vatyf8yEeXgMRggLPnE13suMtPaUpVaxF8QPZ08F_Ihj4ZrKwubDkqe3_CH4stuLz2n28KsH/s1600/Fabric_Traces.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxmIvlCHL2M7BHhnu6tPFXboVT-DhpoH4uAKtSM-azoF-pBqvVKh17HVWRvvmZUvU8cAM6Vatyf8yEeXgMRggLPnE13suMtPaUpVaxF8QPZ08F_Ihj4ZrKwubDkqe3_CH4stuLz2n28KsH/s1600/Fabric_Traces.png" height="201" width="400" /></a></div>
<br />
You could just stop these, but then if you hit a problem you'll be without the traces to help you.<br />
<br />
In the short term, it would be better to enable circular logging instead. This way you will at least have some traces to help (default is rollover at 128Mb).<br />
<br />
To enable circular logging, run these commands (Command prompt or PowerShell, it's your choice) on the server with Windows Fabric installed:<br />
<br />
Logman update trace FabricLeaseLayerTraces -f bincirc --cnf<br />
<br />
Logman update trace FabricTraces -f bincirc --cnf<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkBZmbDYVZQPp5appC1-F52w39SR3s5ZifcgN5krQ96qF6DNzt_hNhk1zF13re1M9LAfecuGNKm-QWdM_C8RDZpmg6pXqLkGgsHsgY34jVzsdeCRrikgMYnieOJfcNaZRHGArkhjAZGImZ/s1600/Fabric_Logging.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkBZmbDYVZQPp5appC1-F52w39SR3s5ZifcgN5krQ96qF6DNzt_hNhk1zF13re1M9LAfecuGNKm-QWdM_C8RDZpmg6pXqLkGgsHsgY34jVzsdeCRrikgMYnieOJfcNaZRHGArkhjAZGImZ/s1600/Fabric_Logging.png" height="87" width="400" /></a></div>
<br />
<br />
Oh, don't forget to clean out those stale logs and free back up that disk space!Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com7tag:blogger.com,1999:blog-5536481848801330672.post-42526060944788502752015-01-27T16:00:00.001+00:002015-01-27T16:00:34.391+00:00Windows Update missing from the "Classic" Control Panel in Windows 10 TP Build 9926Rather bravely (or foolishly) I've been using Windows 10 on my main daily laptop since the first Technical Preview was released.<br />
<br />
It's had it's up's and down's and just before Build 9926 was released I was hovering over the F12 key to rebuild it back to Windows 8.1.<br />
<br />
However I persisted and happily updated to the latest build (9926) and so far, touch wood, it's been much more stable for me, before I was rebooting 4-5 times a day due to crashes and so far I've not rebooted since finishing the installation & patches etc.<br />
<br />
However, on that note of patches, I did hit a snag.<br />
<br />
See I've still left my device to be managed via System Center 2012 R2 Configuration Manager (yes, I know it's not "supported") and this also means I let ConfigMgr handle the Windows Update side.<br />
<br />
This has a slight problem, since ConfigMgr/WSUS isn't aware of this strange OS called Windows 10...<br />
<br />
I could go and change my policy in ConfigMgr and exclude my device from receiving managed updates, but that means creating collections, and device settings etc etc.<br />
<br />
Normally with previous builds I've just been heading to the Control Panel, Opening Windows Updates and clicking the link to bypass administrator managed updates and check directly online.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivXKrC643AnCeNbT6KgSyoqpQv6LSIj44aGmxrUiuXEMctoYjOfO-mSmkpL-P_L7-dUaO_oaNr5xjjp2AK7u2xfbdNKEBHpWykm-dIV3219DPP5-H-PN9yeTb8FfZ7x-G4unWxM5s5ZoYB/s1600/MissingWU.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivXKrC643AnCeNbT6KgSyoqpQv6LSIj44aGmxrUiuXEMctoYjOfO-mSmkpL-P_L7-dUaO_oaNr5xjjp2AK7u2xfbdNKEBHpWykm-dIV3219DPP5-H-PN9yeTb8FfZ7x-G4unWxM5s5ZoYB/s1600/MissingWU.png" height="250" width="400" /></a></div>
<br />
<span id="goog_1231262430"></span><span id="goog_1231262431"><br /></span>
<br />
But with Build 9926, imaging my horror when I couldn't find Windows Update in the control panel, only it's new modern equivalent, which doesn't allow you to bypass and go direct.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5FyGYdtFfVsJl_HME3ri5veq10Wxh7lWHEqMZo9jox_LzO2mdTDyFms932tvJ87z2884Z22790gAQaedIsHYgmnSiVCVROXQYh6utJPpQHfDqfQ5fLl8OanctX9ntGBn_IH4fG0kjEsic/s1600/ModernWU.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5FyGYdtFfVsJl_HME3ri5veq10Wxh7lWHEqMZo9jox_LzO2mdTDyFms932tvJ87z2884Z22790gAQaedIsHYgmnSiVCVROXQYh6utJPpQHfDqfQ5fLl8OanctX9ntGBn_IH4fG0kjEsic/s1600/ModernWU.png" height="328" width="400" /></a></div>
<br />
<br />
Thankfully, a minor registry edit will bring it back.<br />
Simply add the following value (IsConvergedUpdateStackEnabled & UxOption) to the key paths shown below, or if they already exist change the value to 0 to enable WSUS back in the control panel.<br />
<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX]<br />
"IsConvergedUpdateStackEnabled"=dword:00000000<br />
<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]<br />
"UxOption"=dword:00000000<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaK3ONf6NlGM8iodYuIcmbb0jYA2q0xMa2One_eQ376ldBaoTTrDA0Lm7-X04iAdT8zaHY6wECFirzL9NjsSuRHke7-KURf6Fp2St9zn4IEVRilmabMzja_dqfhxHuA-53iWxVnf8yBLHo/s1600/Regedit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaK3ONf6NlGM8iodYuIcmbb0jYA2q0xMa2One_eQ376ldBaoTTrDA0Lm7-X04iAdT8zaHY6wECFirzL9NjsSuRHke7-KURf6Fp2St9zn4IEVRilmabMzja_dqfhxHuA-53iWxVnf8yBLHo/s1600/Regedit.png" height="210" width="400" /></a></div>
<br />
And close and reopen the control panel for Windows Update to reappear!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgfya2_oOqOLAm9pw0l4BpfQu1G-lfOL3s9Wf53PXR_WbF1UBr5EEAleuqGGu2HAP6x7tlpONLa7pw7oHqdI3xsbO6G8xLiaut-_B8Oi4hEPYSXfw1SOgYQ3cp-1z4iFvYHTgfxw3BZIJ0/s1600/ReturnedWU.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgfya2_oOqOLAm9pw0l4BpfQu1G-lfOL3s9Wf53PXR_WbF1UBr5EEAleuqGGu2HAP6x7tlpONLa7pw7oHqdI3xsbO6G8xLiaut-_B8Oi4hEPYSXfw1SOgYQ3cp-1z4iFvYHTgfxw3BZIJ0/s1600/ReturnedWU.png" height="250" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Cool, now I can bypass ConfigMgr/WSUS and go direct again to check for Updates.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBxbelO3Ihr_OCvz7FxOslUMNSRV7JSB5XYvQ3JbafMuZfdDY0ORBJsfpWF6ckMdbA0oRAJcpuxG4FHjiQT2OtcCy0rkry9tRazDD8QIM7IQgrdt2zG1vVJnX48NNk3HLtSVtYTj5sXVjr/s1600/WUDirect.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBxbelO3Ihr_OCvz7FxOslUMNSRV7JSB5XYvQ3JbafMuZfdDY0ORBJsfpWF6ckMdbA0oRAJcpuxG4FHjiQT2OtcCy0rkry9tRazDD8QIM7IQgrdt2zG1vVJnX48NNk3HLtSVtYTj5sXVjr/s1600/WUDirect.png" height="250" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com3tag:blogger.com,1999:blog-5536481848801330672.post-34172752641610041462014-12-15T00:14:00.000+00:002014-12-15T00:19:40.207+00:00Create SLA Calendars in Service Manager 2012 R2 using PowerShell and XMLEvery task I do these days, I look to automate. Even if this means doing something manually and then later going back to see if it can be.<br />
<br />
This is probably because I work with multiple customer, with different environments, rather than just setting things up once within my own environment so this “Automate everything” approach will not apply to everyone. It’s about finding the value and ROI of spending the time designing/writing the automation versus the effort of manually doing the task.<br />
<br />
That said, the latest one I went to tackle, was creating SLA working hours calendars within System Center 2012 R2 Service Manager (SCSM).<br />
<br />
I had been on and off trying it for a while but picked it back up again the other week, but finally gave up banging my head on the desk (especially when I forgot to move my cup of coffee) and reached out for some help.<br />
<br />
I sent a tearful email to my fellow <a href="http://www.amazon.co.uk/Microsoft-System-Center-2012-Cookbook/dp/1849686947" target="_blank">SCSM Cookbook authors</a> and Dieter Gasser, like the SCSM coding guru that he is, replied back in triple quick time with how to do this in PowerShell.<br />
<div>
</div>
<div>
The basic outline principal for this is:</div>
<ul>
<li>Gather the classes for Calendar and Working Days</li>
<li>Gather the Relationship between the two</li>
<li>Gather the Enumerations for the Days</li>
<li>Set an array for the Calendar and each Day with the Name, TimeZones, Start/End times and if they’re enabled or not</li>
<li>Create new Objects for the Class based on those arrays</li>
<li>Create the Relationships between the Days and the Calendar</li>
<li>Commit them to the database</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP7fbyuzuIXx2JBgRe9jsvvvJ3m41Ftp9Ey8RfuNBPwqO3AD8T3VCURaUqHsQabXIYyYSIo-dyuSAqyxIcYwvuVRBSJ3krBlGXo90u66fB1xxBERi-ZbPuzq5bWhH5RdRQufRv4XMHUvs7/s1600/SCSMCalendar2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP7fbyuzuIXx2JBgRe9jsvvvJ3m41Ftp9Ey8RfuNBPwqO3AD8T3VCURaUqHsQabXIYyYSIo-dyuSAqyxIcYwvuVRBSJ3krBlGXo90u66fB1xxBERi-ZbPuzq5bWhH5RdRQufRv4XMHUvs7/s1600/SCSMCalendar2.png" height="177" width="400" /></a></div>
<br />
This was so easy in the end I (as usual) had been trying to boil the ocean with a bonfire instead of taking a cup full and using a kettle.<br />
<br />
So thanks to Didi, I was able to take his simple code which went line by line setting each day and wrapped it into a script that queries an XML file allow modelling of multiple calendars and the streamlined creation of them.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd11lBR869_O-u_Z32IhweFaw_TOmpPI0vQFMx2b152VgXaMkNaGatoJvCzFFbSJJPiqNveJ04-iUiJTss_C-AVFvS5Q_bvlKRJHyzW5ktXHuuonaEUfKuFBf-A-lmaYiOysRDI7GJGPDC/s1600/SCSMCalendar3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd11lBR869_O-u_Z32IhweFaw_TOmpPI0vQFMx2b152VgXaMkNaGatoJvCzFFbSJJPiqNveJ04-iUiJTss_C-AVFvS5Q_bvlKRJHyzW5ktXHuuonaEUfKuFBf-A-lmaYiOysRDI7GJGPDC/s1600/SCSMCalendar3.png" height="195" width="400" /></a></div>
<br />
<br />
I’ve uploaded the script and example XML file to the TechNet gallery as a zip file here:<br />
<a href="https://gallery.technet.microsoft.com/Create-Service-Manager-SLA-7e3ce520">https://gallery.technet.microsoft.com/Create-Service-Manager-SLA-7e3ce520</a><br />
<br />
The XML is fairly self-explanatory. For each calendar you would like to create, add a <em><SLACalendar> </SLACalendar></em> section and fill in the details for the days.<br />
<br />
If you don’t want a day as a working day, just set it as Enabled=”False”<br />
<br />
The only part I’ve not made easier yet is the TimeZone setting.<br />
Currently you will need to find the string value used within SCSM and copy this to the XML.<br />
<br />
This is fairly easy to find, just create a temporary calendar with the timezone you want and then run this PowerShell one-liner to display all the timezones in use:<br />
<strong><em>(Get-SCSMObject -Class (Get-SCSMClass System.Calendar$)).TimeZone</em></strong><br />
<strong><em></em></strong><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1-PJ9ma1aIQysfk2JWbOI4PZqlsk2UuFP89DJp-4hLs7hElHoTtlFhidWhJ6kVXhkX1gDN8QiFLYLqbSvx98oIJkCtO6y4lUhkol7dzTtXUwztKtAMuYN6NKyIhhe8PJ8mTuFyX0oBJtX/s1600/SCSMCalendar1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1-PJ9ma1aIQysfk2JWbOI4PZqlsk2UuFP89DJp-4hLs7hElHoTtlFhidWhJ6kVXhkX1gDN8QiFLYLqbSvx98oIJkCtO6y4lUhkol7dzTtXUwztKtAMuYN6NKyIhhe8PJ8mTuFyX0oBJtX/s1600/SCSMCalendar1.png" height="110" width="400" /></a></div>
<br />
<br />
Copy and paste the output to the XML.<br />
<br />
Once you have the XML ready, create the calendars by running the script as so:<br />
<br />
<strong><em>New-SCSMCalendar.ps1 –XMLFile <Path to XML></em></strong><br />
<br />
e.g. <strong><em>New-SCSMCalendar.ps1 –XMLFile C:\Temp\Calendars.xml</em></strong><br />
<strong><em></em></strong><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGvcslziqv5ERsHsNLWxbDixqWyswHGGpBQgQYYIvv4IygrVh5Y1KYUJ8No08muJ5LB4EcfWlyzdhjE2ceOvoSItclk2-FcTHDcM-vasFlXVAJtbi0UsSjCXUlFx7L-_zZxb1h7lWfr-mM/s1600/SCSMCalendar4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGvcslziqv5ERsHsNLWxbDixqWyswHGGpBQgQYYIvv4IygrVh5Y1KYUJ8No08muJ5LB4EcfWlyzdhjE2ceOvoSItclk2-FcTHDcM-vasFlXVAJtbi0UsSjCXUlFx7L-_zZxb1h7lWfr-mM/s1600/SCSMCalendar4.png" height="196" width="400" /></a></div>
<strong><em></em></strong><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj87XpQMYovL55GSluiJ94kDgXDa07LkPMjo6uTAukm0lQWx5zEo6_EWJ2TA_Fqxu0M3Dz2o4BpQtQjHM2rZmDkSfsrbmYNLzffr6_DMql55uHgUuKHpjoE0QJ2Ia5di1I4J5a6aO23g8UE/s1600/SLACalendar5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj87XpQMYovL55GSluiJ94kDgXDa07LkPMjo6uTAukm0lQWx5zEo6_EWJ2TA_Fqxu0M3Dz2o4BpQtQjHM2rZmDkSfsrbmYNLzffr6_DMql55uHgUuKHpjoE0QJ2Ia5di1I4J5a6aO23g8UE/s1600/SLACalendar5.png" height="262" width="400" /></a></div>
<strong><em></em></strong><br />
<strong><em></em></strong><br />
Again, huge thanks to Didi with his help on this, be sure to check out his blog (<a href="http://blog.dietergasser.com/">http://blog.dietergasser.com/</a>) or follow him on Twitter @DiGaBlog<br />
<br />Steve Beaumonthttp://www.blogger.com/profile/01656851477395070464noreply@blogger.com3