<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Aaron Lightle</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/aaronlightle/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/aaronlightle/feed.xml</link>
    <description>&amp;quot;Information is the oxygen of the modern age. It seeps through the walls topped by barbed wire, it wafts across the electrified borders.&amp;quot;</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:53:26 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>How to Update Certificates in D365 CE, SP, ADFS, and WAP</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/update-certs-in-d365ce-sp-adfs-wap</link>
      <pubDate>Mon, 11 Dec 2017 23:10:17 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/?p=125</guid>
      <description><![CDATA[Here's a lengthy guide on how to update X.509 certificates in Microsoft Dynamics 365 Customer...]]></description>
      <content:encoded><![CDATA[Here's a <em>lengthy</em> guide on how to update X.509 certificates in Microsoft Dynamics 365 Customer Engagement (CE/CRM), SharePoint (SP), Active Directory Federation Services (ADFS), Web Application Proxy (WAP) servers, and SQL Server Reporting Services (SSRS). The corresponding <a href="https://gallery.technet.microsoft.com/Update-Certificates-in-3d1793a3">scripts</a> refer to the following customer scenario. YMMV.
<h1>Customer Scenario</h1>
<a href="http://www.contoso.com">CONTOSO</a> has selected a Microsoft solution named "TMS" to leverage for business critical operations that resides on Dynamics 365 Customer Engagement (CE/CRM) and Microsoft SharePoint (SP) platforms in an on-prem datacenter configuration. The authentication of the solution stack requires claims-based authentication in an Internet Facing Deployment (IFD) scenario where Microsoft Active Directory Federation Services (ADFS) and Microsoft Web Application Proxy (WAP) servers are utilized in the solution stack as well. This document provides instructions on how to update the X.509 certificates implemented within the solution environment; specifically for the ADFS, SP, CRM, WAP, and SSRS components. The following diagram depicts the common PKI hierarchy and scenario and server names that will be referenced throughout this guide.

[caption id="attachment_136" align="alignnone" width="694"]<a href="https://msdnshared.blob.core.windows.net/media/2017/12/LogicalDesign.jpg"><img width="694" height="786" class="wp-image-136 size-full" alt="Logical Design" src="https://msdnshared.blob.core.windows.net/media/2017/12/LogicalDesign.jpg" /></a> <em>Logical Design</em>[/caption]
<h1>Procedures</h1>
<h2>Install Server Certificates</h2>
<h3>SQL</h3>
<ul>
 	<li>Logon to the first SSRS instance (<strong>TMS-RS-01</strong>) with complete admin privileges on the server and database tiers. Edit the <strong>.\scripts\Certs\Request-Cert-SSRS.ps1</strong> script on the installation source and change the Subject (<strong>$_name</strong> variable) to match the target environment: <strong>ssrs.tms.local</strong>.<img width="693" height="76" class="alignnone size-full wp-image-175" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/SSRS.jpg" /></li>
 	<li>Run the script. It will provide a certificate request in <strong>C:\Certificates</strong> folder on the server. Issue the certificate request(s) to the CA. Receive the certificate and import to local server’s certificate store. Export with private key and apply to remaining server(s): <strong>TMS-RS-02</strong>.</li>
</ul>
<h3>SharePoint</h3>
<ul>
 	<li>Logon to the first SharePoint front end server instance (<strong>TMS-SPW-01</strong>) with complete admin privileges on the server, SP, and database tiers. Edit the <strong>.\scripts\Certs\Request-Cert-SP.ps1</strong> script on the installation source and change the Subject (<strong>$_name</strong> variable) and Subject Alternative Names (-SANs) to match the target environment. <strong><span style="text-decoration: underline">Important</span>:</strong> The certificate will be invalid <em>if</em> the FQDN in Subject does not match first line in the Subject Alternative Name (SAN) field.<img width="864" height="107" class="alignnone size-full wp-image-185" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/SP.jpg" /></li>
 	<li>Run the script. It will provide a certificate request in <strong>C:\Certificates</strong> folder on the server. Issue the certificate request(s). Receive the certificate and import to local server’s certificate store. Export with private key and apply to remaining server(s) in the farm: <strong>TMS-SPW-02</strong>, <strong>TMS-SPA-01</strong>, and <strong>TMS-SPA-02</strong>.</li>
 	<li>Install this certificate on the two WAP servers for the farm: <strong>WAP-TMS-01</strong> and <strong>WAP-TMS-02</strong>.</li>
</ul>
<h3>CRM</h3>
<ul>
 	<li>Log on the first CRM Front End Server (<strong>TMS-CMW-01</strong>) ) with complete admin privileges on the server and CRM. Edit the <strong>.\scripts\Certs\Request-Cert-CRM.ps1</strong> script on the installation source and change the (<strong>$_name</strong> variable) and Subject Alternative Names (-SANs) to match the target environment. <strong><u>Important</u></strong>: The certificate will be invalid <em>if</em> the FQDN in Subject does not match first line in the Subject Alternative Name (SAN) field.<img width="868" height="111" class="alignnone size-full wp-image-186" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/CRM.jpg" /></li>
 	<li>Change the names to reflect the CRM front-end server URLs that match your environment for IFD:
<ul>
 	<li><b><strong>TMS.xrm.tms.local</strong></b></li>
 	<li><b><strong>auth.xrm.tms.local</strong></b></li>
 	<li><b><strong>dev.xrm.tms.local</strong></b></li>
 	<li><b><strong>internalcrm.xrm.tms.local</strong></b></li>
</ul>
</li>
 	<li>Run the script. It will provide a certificate request in <strong>C:\Certificates</strong> folder on the server. Issue the certificate request(s). Receive the certificate and import to local server’s certificate store. Export with private key and apply to remaining server(s): <strong>TMS-CMW-02</strong>, <strong>TMS-CMA-01</strong>, and <strong>TMS-CMA-02</strong>.</li>
 	<li>Install this certificate on the two WAP servers for the farm: <strong>WAP-TMS-01</strong> and <strong>WAP-TMS-02</strong>.</li>
</ul>
<h3>ADFS</h3>
<ul>
 	<li>Logon to the primary ADFS server (<strong>TMS-ADFS-01</strong>) with complete admin privileges on the server and ADFS. Edit the <strong>.\scripts\Certs\Request-Cert-ADFS.ps1</strong> script on the installation source and change the (<strong>$_name</strong> variable) to match the target environment: <strong>adfs.tms.local</strong>.<img width="759" height="73" class="alignnone size-full wp-image-196" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/ADFS.jpg" /></li>
 	<li>Run the script. It will provide a certificate request in <strong>C:\Certificates</strong> folder on the server. Issue the certificate request(s). Receive the certificate and import to local server’s certificate store. Export with private key and apply to remaining secondary server(s): <strong>TMS-ADFS-02</strong>.</li>
 	<li>Install this certificate on the two WAP servers for the farm: <strong>WAP-TMS-01</strong> and <strong>WAP-TMS-02</strong>.</li>
</ul>
<h3>WAP</h3>
<ul>
 	<li>Logon to the first WAP instance (<strong>WAP-TMS-01</strong>) as the local Administrator.</li>
 	<li>Ensure that each of the trust chains for the enterprise and the enclave are both installed in the local server’s certificate store under the <strong>Certificates (Local Computer) &gt; Trust Root Certification Authorities &gt; Certificates</strong> node.</li>
 	<li>Ensure that CRM, SP, and ADFS certificates (from previous sections) are also in the local server’s certificate store under the <strong>Certificates (Local Computer) &gt; Personal &gt; Certificates</strong> node.</li>
 	<li>Repeat these steps on the second WAP instance (<strong>WAP-TMS-02</strong>).</li>
</ul>
<h2>Update SQL Reporting Services</h2>
SQL Server Reporting Services (SSRS) is configured in a scale-out cluster on <strong>TMS-RS-01</strong> and <strong>TMS-RS-02</strong> with the <em>ReportServer</em> and <em>ReportServerTempDB</em> hosted in a SQL AlwaysOn Availability Group (AOAG). These procedures will focus on just to the two front-end Report Servers.
<ul>
 	<li>Logon to the first SSRS instance (<strong>TMS-RS-01</strong>) with the SharePoint installation account (<strong>SP-Install-SVC</strong>). Open <em>Reporting Services Configuration Manager</em> and connect to <strong>TMS-RS-01</strong>.</li>
 	<li><strong>Web Service URL:</strong> Select the previously imported SSRS certificate (<strong>ssrs.tms.local</strong>) in the <em>SSL certificate</em> drop-down menu and then click the <strong>Apply</strong> button.</li>
 	<li><strong>Web Service URL:</strong> Click the <strong>Advanced</strong> button and select TCP Port <strong>80</strong> and then click the <strong>Remove</strong> button. Click the <strong>OK</strong> button. You should now only see a single URL listed for Report Server Web Service URLs: <strong>https://ssrs.tms.local:443/ReportServer</strong>.</li>
 	<li><strong>Report Manager URL:</strong> Click the <strong>Advanced</strong> button and select TCP Port <strong>80</strong> and then click the <strong>Remove</strong> button. Click the <strong>OK</strong> button. You should now only see a single URL listed for Report Manager Site URLs: <strong>https://ssrs.tms.local:443/Reports</strong>.</li>
 	<li>Restart SQL Reporting Services service.</li>
 	<li>Verify the <em>Report Server</em> and <em>Report Manager</em> URLs in IE.</li>
 	<li>Delete the old certificate in the server’s certificate store.</li>
 	<li>Repeat these procecures on the second SSRS instance (<strong>TMS-RS-02</strong>).</li>
</ul>
<h2><a></a>Update CRM</h2>
<h3><a></a>Grant CRMAppPool Certificate Access and Update IIS</h3>
The certificate you specify in the Configure Claims-Based Authentication Wizard is used by ADFS to encrypt security tokens issued to the Microsoft Dynamics CRM Server client. The CRMAppPool account (<strong>DOMAIN\CRM-AppPool-SVC</strong>) of each Microsoft Dynamics CRM web application must have read permission to the private key of the encryption certificate. These steps address that requirement and will need to be completed on both CRM Front End Servers (<strong>TMS-CMW-01 </strong>and<strong> TMS-CMW-02</strong>).
<ul>
 	<li>While logged on the first CRM Front End Server (<strong>TMS-CMW-01</strong>) with complete admin privileges on the server and CRM, open an elevated command-prompt (<strong>WinKey + X &gt; Command Prompt (Admin)</strong>) and execute <strong>MMC</strong> and load the <strong>Certificates</strong> snap-in for the <strong>Local computer</strong>.</li>
 	<li>In the navigation pane, select <strong>Certificates (Local Computer) &gt; Personal &gt; Certificates</strong> node. In the details pane, right-click the <strong>tms.xrm.tms.local</strong> certificate and select <strong>All Tasks &gt; Manage Private Keys</strong> in the shortcut menu.</li>
 	<li>Click the <strong>Add</strong> button and add the <em>CRMAppPool</em> account (<strong>DOMAIN\CRM-AppPool-SVC</strong>) and grant <strong>Read</strong> permissions. Click the <strong>OK</strong> button.</li>
 	<li>Open <em>IIS Manager</em> (<strong>WinKey + R &gt; inetmgr</strong>) and right-click the <strong>Sites &gt; Microsoft Dynamics CRM</strong> node in the navigation pane and select <strong>Edit Bindings</strong> in the shortcut menu.</li>
 	<li>In the <em>Site Bindings</em> dialog box, select <strong>https</strong> and then click the <strong>Edit</strong> button. In the Edit Site Binding dialog box, click the Select button and pick the new certificate. Click the <strong>OK</strong> button. Click the <strong>Close </strong>button.</li>
 	<li>Perform an <strong>iisreset</strong>.</li>
 	<li>Repeat these steps the second CRM Front End Server (<strong>TMS-CMW-02</strong>).</li>
</ul>
<h3>Verify SSL</h3>
<ul>
 	<li>Log on the first CRM Front End Server (<strong>TMS-CMW-01</strong>) with complete admin privileges on the server and CRM. Open <em>Microsoft Dynamics CRM Deployment Manager</em>.</li>
 	<li>Right click on <strong>Microsoft Dynamics CRM</strong> in the navigation pane and select <strong>Properties</strong> in the shortcut menu.</li>
 	<li>Click on the <strong>Web Address</strong> tab.</li>
 	<li>Select the radio button in front of <strong>HTTPS</strong> and enter <strong>internalcrm.xrm.tms.local:443</strong> in each of the fields. (<u>Important</u>: Do <em>not</em> put <strong>https://</strong> in front of the addresses.) Click the <strong>OK</strong> button.</li>
</ul>
<h3>Configure Claims for Internal Access</h3>
<ul>
 	<li>While logged on the first CRM Front End Server (<strong>TMS-CMW-01</strong>) with complete admin privileges on the server and CRM, open <em>Microsoft Dynamics CRM Deployment Manager</em>. Click the <strong>Configure Claims-Based Authentication</strong> link.</li>
 	<li>On the <em>Welcome</em> page, click the <strong>Next</strong> button.</li>
 	<li>On the <em>Specify Security Token Service</em> page, enter <strong>https://adfs.tms.local/federationmetadata/2007-06/federationmetadata.xml</strong> in the <em>Federation metadata URL</em> field and then click the <strong>Next</strong> button.</li>
 	<li>On the <em>Specify Encryption Certificate</em> page, click the <strong>Select</strong> button and select the <strong>TMS.xrm.tms.local</strong> certificate and click the <strong>OK</strong> button. Click the <strong>Next</strong> button.</li>
 	<li>On the <em>System Checks</em> page, review and correct any <em>Errors </em>or <em>Warnings</em> before proceeding. Click the <strong>Next</strong> button when ready.</li>
 	<li>On the <em>Review</em> page, click the <strong>Apply</strong> button.</li>
 	<li>Log on to the primary ADFS server (<strong>TMS-ADFS-01</strong>) and open <em>AD FS Management</em> snap-in.</li>
 	<li>In the navigation pane of the <em>AD FS Management</em> snap-in, select the <strong>AD FS &gt; Trust Relationships &gt; Relying Party Trusts </strong>node. In the details pane, right-click<strong> Internal CRM </strong>and select <strong>Update from Federation Metadata</strong> in shortcut menu and then click the <strong>Update</strong> button.</li>
 	<li>Log onto another server and view <strong>https://internalcrm.xrm.tms.local/TMS. </strong>in Internet Explorer to verify no errors.</li>
</ul>
<h3>Configure IFD</h3>
<ul>
 	<li>While logged on the first CRM Front End Server (<strong>TMS-CMW-01</strong>) with complete admin privileges on the server and CRM, open <em>Microsoft Dynamics CRM Deployment Manager</em>. Click <strong>Configure Internet-Facing Deployment</strong>. The <em>Configure Internet-Facing Deployment Wizard</em> will launch.</li>
 	<li>On the <em>Welcome</em> page, click the <strong>Next</strong> button.</li>
 	<li>On the <em>Server Roles</em> page, enter the following values in the corresponding fields:
<ul>
 	<li><em>Web Application Server Domain</em>: <strong>xrm.tms.local</strong></li>
 	<li><em>Organization Web Service Domain</em>: <strong>xrm.tms.local</strong></li>
 	<li><em>Discovery Web Service Domain</em>: <strong>dev.xrm.tms.local</strong></li>
</ul>
</li>
 	<li>Click the <strong>Next</strong> button.</li>
 	<li>On the <em>External Domain</em> page, enter the following value in the corresponding field:
<ul>
 	<li><em>External Domain</em>: <strong>auth.xrm.tms.local</strong></li>
</ul>
</li>
 	<li>Click the <strong>Next</strong> button.</li>
 	<li>On the <em>System Checks</em> page, review and correct any <em>Errors </em>or <em>Warnings</em> before proceeding. Click the <strong>Next</strong> button when ready.</li>
 	<li>On the <em>Settings Review</em> page, click the <strong>Apply</strong> button.</li>
 	<li>When the configuration successfully completes, click the <strong>Finish</strong> button.</li>
</ul>
<h3>Configure Claims for External Access</h3>
<ul>
 	<li>Log on to the primary ADFS server (<strong>TMS-ADFS-01</strong>) and open <em>AD FS Management</em> snap-in.</li>
 	<li>In the navigation pane of the <em>AD FS Management</em> snap-in, select the <strong>AD FS &gt; Trust Relationships &gt; Relying Party Trusts </strong>node. In the details pane, right-click<strong> Internal CRM </strong>and select <strong>Update from Federation Metadata</strong> in shortcut menu and then click the <strong>Update</strong> button.</li>
 	<li>Perform an <strong>iisreset</strong> on both CRM Front End Server (<strong>TMS-CMW-01</strong> and <strong>TMS-CMW-02</strong>).</li>
</ul>
<h3>Republish CRM to WAP</h3>
<ul>
 	<li>Log onto the WAP server (<strong>WAP-TMS-01</strong>) with the local Administrator account and open the <em>Remote Access Management</em> snap-in. <u>Remove</u> the CRM IFD published apps: <strong>CRM TMS, CRM AUTH, CRM DEV</strong>.</li>
 	<li>Open PowerShell ISE elevated and edit and run the following script: <strong>.\scripts\WAP\Update-WAP-CRM.ps1</strong></li>
</ul>
<h3>Post-Configuration</h3>
Delete the old CRM certificate from the two CRM Front End Servers’ local certificate store. Then, delete the old CRM certificate from the two WAP servers’ local certificate store.
<h2>Update ADFS</h2>
<h3>Grant ADFS Read Access to the New Certificate</h3>
<ul>
 	<li>Logon to the primary ADFS server (<strong>TMS-ADFS-01</strong>) as an ADFS administrator. Open an elevated command-prompt (<strong>WinKey + X &gt; Command Prompt (Admin)</strong>) and execute <strong>MMC</strong> and load the <strong>Certificates</strong> snap-in for the <strong>Local computer</strong>.</li>
 	<li>In the navigation pane, select <strong>Certificates (Local Computer) &gt; Personal &gt; Certificates</strong> node. In the details pane, right-click the <strong>adfs.tms.local</strong> certificate and select <strong>All Tasks &gt; Manage Private Keys</strong> in the shortcut menu.</li>
 	<li>Click the <strong>Add</strong> button and add the ADFS domain service account (<strong>DOMAIN\FsGmsa$</strong>) and grant <strong>Read</strong> permissions. Click the <strong>OK</strong> button.</li>
 	<li>Restart <strong>adfssrv</strong> service.</li>
 	<li>Repeat these steps the secondary ADFS server (<strong>TMS-ADFS-02</strong>).</li>
</ul>
<h3>Update ADFS Bindings</h3>
<ul>
 	<li>While logged on the primary ADFS server (<strong>TMS-ADFS-01</strong>), open <em>AD FS Management</em> snap-in. In the navigation pane of the <em>AD FS Management</em> snap-in, select the <strong>AD FS &gt; Service &gt; Certificates </strong>node. In the actions pane, click the <strong>Add Token-Signing Certificate</strong> link and select the new certificate. Then, notify all Relying Parties of the change. Once configuration updates have been made (if any) on the RP ends, then promote the Token Signing certificate to be the primay by right-clicking it and selecting <strong>Set as Primary</strong> in the shortcut menu. Remove the secondary Token Signing certificate.</li>
 	<li>In the actions pane, click the <strong>Add Token-Decrypting Certificate</strong> link and select the new certificate. Promote the Token Descrypting certificate to be the primay by right-clicking it and selecting <strong>Set as Primary</strong> in the shortcut menu. Remove the secondary Token Decrypting certificate.</li>
 	<li>Open PowerShell ISE elevated and edit and run the following script: <strong>.\scripts\ADFS\Update-ADFS-Primary.ps1</strong></li>
 	<li>Logon to the secondary ADFS server (<strong>TMS-ADFS-02</strong>) as an ADFS administrator. Open PowerShell ISE elevated and edit and run the following script: <strong>.\scripts\ADFS\Update-ADFS-Secondary.ps1</strong></li>
</ul>
<h3>Update ADFS Proxy Trust on WAP</h3>
<ul>
 	<li>Log onto the WAP server (<strong>WAP-TMS-01</strong>) and open PowerShell ISE elevated and edit and run the following script: <strong>.\scripts\WAP\Update-WAP-Certs.ps1</strong></li>
</ul>
<h3>Post-Configuration</h3>
Delete the old ADFS certificate from the two ADFS servers’ local certificate store. Then, delete the old ADFS certificate from the two WAP servers’ local certificate store.
<h2><a></a>Update SharePoint</h2>
<h3><a></a>Configure IIS</h3>
<ul>
 	<li>Logon to the first SharePoint front end server instance (<strong>TMS-SPW-01</strong>) with complete admin privileges on the server and SP.</li>
 	<li>Open <em>IIS Manager</em> (<strong>WinKey + R &gt; inetmgr</strong>) and right-click the <strong>Sites &gt; Extended Zone for HNSC Web App</strong> node in the navigation pane and select <strong>Edit Bindings</strong> in the shortcut menu. In the <em>Site Bindings</em> dialog box, select <strong>https</strong> and then click the <strong>Edit</strong> button. In the <em>Edit Site Binding</em> dialog box, click the <strong>Select</strong> button and pick the new certificate. Click the <strong>OK</strong> button. (Repeat for all applicable sites supporting the SharePoint farm.) Click the <strong>Close </strong>button.</li>
 	<li>Perform an <strong>iisreset</strong>.</li>
 	<li>Repeat these steps the remaining servers: <strong>TMS-SPW-02</strong>, <strong>TMS-SPA-01</strong>, and <strong>TMS-SPA-02</strong>.</li>
</ul>
<h3>Acquire Token-Signing Certificate from ADFS</h3>
<ul>
 	<li>Log on to the primary ADFS server (<strong>TMS-ADFS-01</strong>) and open <em>AD FS Management</em> snap-in.</li>
 	<li>In the navigation pane of the <em>AD FS Management</em> snap-in, select the <strong>AD FS &gt; Service &gt; Certificates </strong>node. In the details pane, double-click the<strong> Token Signing </strong>certificate. In the <em>Certificate</em> dialog, click the <strong>Details</strong> tab and then click the <strong>Copy to File</strong> button. Export the certificate in <strong>.cer</strong> format (<em>without</em> the private key and in DER encoded binary X.509) as it will be needed in subsequent steps to update the Trusted Root Authority in the SharePoint farm.</li>
</ul>
<h3>Configure SharePoint</h3>
<ul>
 	<li>Logon to the first SharePoint back end server instance (<strong>TMS-SPA-01</strong>) with complete admin privileges on the server and SP.</li>
 	<li>Copy the aforementioned ADFS token-signing certificate to the server.</li>
 	<li>Open PowerShell ISE elevated and edit and run the following script: <strong>.\scripts\SP\ADFS\Update-SP-Certs.ps1</strong></li>
 	<li>Perform <strong>iisreset</strong> on all SP farm servers.</li>
</ul>
<h3>Republish SharePoint to WAP</h3>
<ul>
 	<li>Log onto the WAP server (<strong>WAP-TMS-01</strong>) with the local Administrator account and open the <em>Remote Access Management</em> snap-in. <u>Remove</u> the SharePoint published apps: <strong>SP Team Site (team.tms.local) </strong>and<strong> TMS SP Content Site</strong>.</li>
 	<li>Open PowerShell ISE elevated and edit and run the following script: <strong>.\scripts\WAP\Update-WAP-SP.ps1</strong></li>
</ul>
<h3>Post-Configuration</h3>
Delete the old SP certificate from the SP servers’ local certificate store. Then, delete the old SP certificate from the two WAP servers’ local certificate store.]]></content:encoded>
    </item>
    <item>
      <title>Passing Exam 70-534: Architecting Microsoft Azure Solutions</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/passing-exam-70-534-architecting-microsoft-azure-solutions</link>
      <pubDate>Mon, 31 Aug 2015 15:25:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2015/08/31/passing-exam-750-534-architecting-microsoft-azure-solutions/</guid>
      <description><![CDATA[I just passed Exam 70-534: Architecting Microsoft Azure Solutions on the first attempt! So I figured...]]></description>
      <content:encoded><![CDATA[I just <strong>passed <em><a href="https://www.microsoft.com/learning/en-us/exam-70-534.aspx">Exam 70-534: Architecting Microsoft Azure Solutions</a> </em></strong>on the first attempt! So I figured I'd share my study material. First off, please know that I <em>rarely</em> deal with public cloud offerings and so I entered into this endeavor with only a little book knowledge but a lot of <a href="http://blogs.technet.com/b/aaronlightle/archive/2014/10/14/free-ebook-microsoft-system-center-integrated-cloud-platform.aspx" title="http://blogs.technet.com/b/aaronlightle/archive/2014/10/14/free-ebook-microsoft-system-center-integrated-cloud-platform.aspx">private cloud/IaaS</a> experience. As much as I hated studying for another exam, I do see the benefit in taking the "good medicine" as <strong>it will help one stay relevant with Microsoft Azure offerings well into the future</strong>.

<strong>Do not take the exam lightly!</strong> Overall, I spent ~80 hours preparing for the exam. I skipped sleep and studied all night prior to the exam (which is not a good idea as you can imagine). In addition to performing my due diligence (reading all of the material below), I said a prayer to Jesus just before the test, and then did my best in that state despite almost falling asleep several times with the clock ticking down! Not ideal and I personally thought I wouldn’t pass it in the end. I <em>barely</em> passed the exam; but PTL anyway for "pulling my fat out of the fryer" again! Story of my life.

<strong>With my disclaimer and acknowledgement out of the way, here's the material that I consumed in preparation:</strong>

<strong>Sizes for Virtual Machines</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs">https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs</a>

<strong>Azure Active Directory</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/active-directory-whatis">https://azure.microsoft.com/en-us/documentation/articles/active-directory-whatis</a>

<strong>Azure Active Directory editions</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn532272.aspx">https://msdn.microsoft.com/en-us/library/azure/dn532272.aspx</a>

<strong>Azure Multi-Factor Authentication</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/multi-factor-authentication">https://azure.microsoft.com/en-us/documentation/articles/multi-factor-authentication</a>

<strong>How to Authenticate Web Users with Azure Active Directory Access Control</strong>
<a href="https://azure.microsoft.com/en-gb/documentation/articles/active-directory-dotnet-how-to-use-access-control">https://azure.microsoft.com/en-gb/documentation/articles/active-directory-dotnet-how-to-use-access-control</a>

<strong>Use a SAML 2.0 identity provider to implement single sign-on</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn641269.aspx">https://msdn.microsoft.com/en-us/library/azure/dn641269.aspx</a>

<strong>Role-based access control in the Microsoft Azure portal</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/role-based-access-control-configure">https://azure.microsoft.com/en-us/documentation/articles/role-based-access-control-configure</a>

<strong>Access Control Service 2.0</strong>
<a href="https://msdn.microsoft.com/library/hh147631.aspx">https://msdn.microsoft.com/library/hh147631.aspx</a>

<strong>Directory integration</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/jj573653.aspx">https://msdn.microsoft.com/en-us/library/azure/jj573653.aspx</a>

<strong>Determine which directory integration scenario to use</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/jj573649.aspx">https://msdn.microsoft.com/en-us/library/azure/jj573649.aspx</a>

<strong>Review the requirements for deploying AD FS</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn151311.aspx">https://msdn.microsoft.com/en-us/library/azure/dn151311.aspx</a>

<strong>About secure cross-premises connectivity for virtual networks</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-cross-premises-options">https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-cross-premises-options</a>

<strong>VPN Gateway FAQ</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-vpn-faq">https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-vpn-faq</a>

<strong>How to move a VM or role instance to a different subnet</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-move-vm-role-to-subnet">https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-move-vm-role-to-subnet</a>

<strong>Allocating Static IP Addresses to your VMs</strong>
<a href="http://blogs.msdn.com/b/niallsblog/archive/2014/02/23/allocating-static-ip-addresses-within-a-vnet.aspx">http://blogs.msdn.com/b/niallsblog/archive/2014/02/23/allocating-static-ip-addresses-within-a-vnet.aspx</a>

<strong>Azure Websites Pricing</strong>
<a href="http://azure.microsoft.com/en-us/pricing/details/websites">http://azure.microsoft.com/en-us/pricing/details/websites</a>

<strong>Configuring a custom domain name for an Azure cloud service</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/cloud-services-custom-domain-name">https://azure.microsoft.com/en-us/documentation/articles/cloud-services-custom-domain-name</a>

<strong>Configuring SSL for an application in Azure</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/cloud-services-configure-ssl-certificate">https://azure.microsoft.com/en-us/documentation/articles/cloud-services-configure-ssl-certificate</a>

<strong>Configure web apps in Azure App Service</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure">https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure</a>

<strong>Microsoft Azure Storage</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/storage-introduction">https://azure.microsoft.com/en-us/documentation/articles/storage-introduction</a>

<strong>Azure Storage Replication</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy%20">https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy<strong> </strong></a>

<strong>Use the Microsoft Azure Import/Export Service to Transfer Data to Blob Storage</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/storage-import-export-service">https://azure.microsoft.com/en-us/documentation/articles/storage-import-export-service</a>

<strong>Windows Azure Virtual Machines – Gotcha’s!</strong>
<a href="http://blogs.msdn.com/b/narahari/archive/2013/01/15/windows-azure-virtual-machines-gotcha-s.aspx">http://blogs.msdn.com/b/narahari/archive/2013/01/15/windows-azure-virtual-machines-gotcha-s.aspx</a>

<strong>Windows Azure Storage Logging: Using Logs to Track Storage Requests</strong>
<a href="http://blogs.msdn.com/b/windowsazurestorage/archive/2011/08/03/windows-azure-storage-logging-using-logs-to-track-storage-requests.aspx">http://blogs.msdn.com/b/windowsazurestorage/archive/2011/08/03/windows-azure-storage-logging-using-logs-to-track-storage-requests.aspx</a>

<strong>Enabling Storage Logging and Accessing Log Data</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn782840.aspx">https://msdn.microsoft.com/en-us/library/azure/dn782840.aspx</a>

<strong>Storage Analytics Logging</strong>
<a href="https://msdn.microsoft.com/library/azure/hh343262.aspx">https://msdn.microsoft.com/library/azure/hh343262.aspx</a>

<strong>Configure a custom domain name for blob data in an Azure storage account</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/storage-custom-domain-name">https://azure.microsoft.com/en-us/documentation/articles/storage-custom-domain-name</a>

<strong>Azure App Service plans in-depth overview</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview">https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview</a>

<strong>Azure Service Bus</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/service-bus-fundamentals-hybrid-solutions">https://azure.microsoft.com/en-us/documentation/articles/service-bus-fundamentals-hybrid-solutions</a>

<strong>How to use the Azure Service Bus relay service</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-relay">https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-relay</a>

<strong>Azure Queues and Service Bus queues - compared and contrasted</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/service-bus-azure-and-service-bus-queues-compared-contrasted">https://azure.microsoft.com/en-us/documentation/articles/service-bus-azure-and-service-bus-queues-compared-contrasted</a>

<strong>Azure Table Storage and Windows Azure SQL Database - Compared and Contrasted</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/jj553018.aspx">https://msdn.microsoft.com/en-us/library/azure/jj553018.aspx</a>

<strong>Designing a Scalable Partitioning Strategy for Azure Table Storage</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/hh508997.aspx">https://msdn.microsoft.com/en-us/library/azure/hh508997.aspx</a>

<strong>Azure SQL Database Overview</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/sql-database-technical-overview">https://azure.microsoft.com/en-us/documentation/articles/sql-database-technical-overview</a>

<strong>Elastic Database Jobs Overview</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-jobs-overview">https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-jobs-overview</a>

<strong>Azure Business Continuity Technical Guidance</strong>
<a href="https://msdn.microsoft.com/library/azure/hh873027.aspx">https://msdn.microsoft.com/library/azure/hh873027.aspx</a>

<strong>Azure SQL Database Business Continuity</strong>
<a href="https://msdn.microsoft.com/library/azure/hh852669.aspx">https://msdn.microsoft.com/library/azure/hh852669.aspx</a>

<strong>Azure Exam Prep – Fault Domains and Update Domains</strong>
<a href="http://blogs.msdn.com/b/plankytronixx/archive/2015/05/01/azure-exam-prep-fault-domains-and-update-domains.aspx">http://blogs.msdn.com/b/plankytronixx/archive/2015/05/01/azure-exam-prep-fault-domains-and-update-domains.aspx</a>

<strong>How to Scale an Application</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-scale">https://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-scale</a>

<strong>Best Practices for Maximizing Scalability and Cost Effectiveness of Queue-Based Messaging Solutions on Azure</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/Hh697709.aspx">https://msdn.microsoft.com/en-us/library/azure/Hh697709.aspx</a>

<strong>Hosting a Multi-Tenant Application on Windows Azure</strong>
<a href="https://msdn.microsoft.com/en-us/library/hh534478.aspx">https://msdn.microsoft.com/en-us/library/hh534478.aspx</a>

<strong>.NET multi-tier application using Azure Service Bus queues</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-multi-tier-app-using-service-bus-queues">https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-multi-tier-app-using-service-bus-queues</a>

<strong>Run Background tasks with WebJobs</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs">https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs</a>

<strong>Transparent Data Encryption with Azure SQL Database</strong>
<a href="https://msdn.microsoft.com/en-us/library/Dn948096(v=sql.120).aspx">https://msdn.microsoft.com/en-us/library/Dn948096(v=sql.120).aspx</a>

<strong>Using Azure Traffic Manager with Azure Web Sites</strong>
<a href="http://blogs.msdn.com/b/waws/archive/2014/03/18/using-windows-azure-traffic-manager-with-waws.aspx">http://blogs.msdn.com/b/waws/archive/2014/03/18/using-windows-azure-traffic-manager-with-waws.aspx</a>

<strong>Traffic Manager documentation</strong>
<a href="http://azure.microsoft.com/en-us/documentation/services/traffic-manager">http://azure.microsoft.com/en-us/documentation/services/traffic-manager</a>

<strong>What is Azure Rights Management?</strong>
<a href="https://technet.microsoft.com/en-us/library/JJ585026.aspx">https://technet.microsoft.com/en-us/library/JJ585026.aspx</a>

<strong>Introduction to machine learning on Microsoft Azure</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/machine-learning-what-is-machine-learning">https://azure.microsoft.com/en-us/documentation/articles/machine-learning-what-is-machine-learning</a>

<strong>Azure Media Services Overview and Common Scenarios</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/media-services-overview">https://azure.microsoft.com/en-us/documentation/articles/media-services-overview</a>

<strong>Azure Content Delivery Network (CDN)</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/cdn-overview/">https://azure.microsoft.com/en-us/documentation/articles/cdn-overview/</a>

<strong>How to map Custom Domain to Content Delivery Network (CDN) endpoint</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/cdn-map-content-to-custom-domain">https://azure.microsoft.com/en-us/documentation/articles/cdn-map-content-to-custom-domain</a>

<strong>Azure Notification Hubs</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-overview">https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-overview</a>

<strong>Upload images to Azure Blob storage by using Mobile Services</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-windows-universal-dotnet-upload-data-blob-storage">https://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-windows-universal-dotnet-upload-data-blob-storage</a>

<strong>Add push notifications to your Mobile Services app</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-windows-universal-dotnet-get-started-push">https://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-windows-universal-dotnet-get-started-push</a>

<strong>Windows Azure Management Cmdlets</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn495184.aspx">https://msdn.microsoft.com/en-us/library/azure/dn495184.aspx</a>

<strong>Azure Service Management Cmdlets</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn708504.aspx">https://msdn.microsoft.com/en-us/library/azure/dn708504.aspx</a>

<strong>Azure Automation</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/automation-create-runbook-from-samples">https://azure.microsoft.com/en-us/documentation/articles/automation-create-runbook-from-samples</a>

<strong>Credential assets in Azure Automation</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/automation-credentials">https://azure.microsoft.com/en-us/documentation/articles/automation-credentials</a>

<strong>Collect Logging Data by Using Azure Diagnostics</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/gg433048.aspx">https://msdn.microsoft.com/en-us/library/azure/gg433048.aspx</a>

<strong>Debugging a Cloud Service or Virtual Machine in Visual Studio</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/ff683670.aspx">https://msdn.microsoft.com/en-us/library/azure/ff683670.aspx</a>

<strong>Run Startup Tasks in Azure</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/hh180155.aspx">https://msdn.microsoft.com/en-us/library/azure/hh180155.aspx</a>

<strong>xPath Values in Azure</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/hh404006.aspx">https://msdn.microsoft.com/en-us/library/azure/hh404006.aspx</a>

<strong>Monitor, diagnose, and troubleshoot Microsoft Azure Storage</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/storage-monitoring-diagnosing-troubleshooting">https://azure.microsoft.com/en-us/documentation/articles/storage-monitoring-diagnosing-troubleshooting</a>

<strong>Understanding Monitoring Alerts and Notifications in Azure</strong>
<a href="https://msdn.microsoft.com/en-us/library/azure/dn306639.aspx">https://msdn.microsoft.com/en-us/library/azure/dn306639.aspx</a>

<strong>Receive alert notifications</strong>
<a href="https://azure.microsoft.com/en-us/documentation/articles/insights-receive-alert-notifications">https://azure.microsoft.com/en-us/documentation/articles/insights-receive-alert-notifications</a>]]></content:encoded>
    </item>
    <item>
      <title>Free ebook: Microsoft System Center: Integrated Cloud Platform</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/free-ebook-microsoft-system-center-integrated-cloud-platform</link>
      <pubDate>Tue, 14 Oct 2014 12:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2014/10/14/free-ebook-microsoft-system-center-integrated-cloud-platform/</guid>
      <description><![CDATA[I&#39;ve been heads down in Dynamics CRM for the past 6 months and just noticed that a free ebook...]]></description>
      <content:encoded><![CDATA[<p>I&#39;ve been heads down in Dynamics CRM for the past 6 months and just noticed that a free ebook was released:&nbsp;<em><a href="http://blogs.msdn.com/b/microsoft_press/archive/2014/04/16/free-ebook-microsoft-system-center-integrated-cloud-platform.aspx">Microsoft System Center: Integrated Cloud Platform</a></em>. I want to amplify and plug some great work from some good colleagues over the years from our diverse set of customers from around the globe. If you want to get up to speed on Microsoft&#39;s Infrastructure-as-a-Service (IaaS) Product Line Architecture (PLA), <strong><a href="http://blogs.msdn.com/b/microsoft_press/archive/2014/04/16/free-ebook-microsoft-system-center-integrated-cloud-platform.aspx">check it out!</a></strong></p>
<p>Meanwhile, here are the direct links for the free downloads:</p>
<ul>
<li><a href="https://aka.ms/683143pdf">Download the PDF</a> (2.52 MB)</li>
<li><a href="https://aka.ms/683143epub">Download the EPUB file</a>&nbsp; (5.32 MB)</li>
<li><a href="https://aka.ms/683143mobi">Download the Mobi for Kindle file</a> (8.1 MB)</li>
</ul>
<p>The following resources provide even more detailed information on Microsoft&#39;s Infrastructure-as-a-Service (IaaS) Product Line Architecture (PLA):</p>
<ul>
<li><a title="https://aka.ms/iaasdeployment" href="https://aka.ms/iaasdeployment">IaaS PLA - Deployment Guide</a></li>
<li><a title="https://aka.ms/iaasfabricarchitecture" href="https://aka.ms/iaasfabricarchitecture">IaaS PLA - Fabric Architecture Guide</a></li>
<li><a title="https://aka.ms/iaasfabricmanagement" href="https://aka.ms/iaasfabricmanagement">IaaS PLA - Fabric Management Guide</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>ACS Autopilot MP Now Provides ACS Debugging Capabilities</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/acs-autopilot-mp-now-provides-acs-debugging-capabilities</link>
      <pubDate>Fri, 15 Nov 2013 11:41:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/11/15/acs-autopilot-mp-now-provides-acs-debugging-capabilities/</guid>
      <description><![CDATA[Overview
The saying "necessity is the mother of invention" sums up why the latest updates to the...]]></description>
      <content:encoded><![CDATA[<h2>Overview</h2>
<p>The saying "<em>necessity is the mother of invention</em>" sums up why the <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/21/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-3.aspx">latest updates to the ACS Autopilot management pack</a> were made. If you ever have to spend some time troubleshooting problematic ACS forwarders, you may be aware of the capability to place a forwarder/collector in debug mode so as to dig deeper into the verbose log file in hope of remediating the situation. At a high level, the technique involves stopping the service, creating the <strong>TraceFlags</strong> registry key, starting the service, and then reviewing the <strong>AdtAgent.log</strong> file.</p>
<blockquote>
<p><em><span style="text-decoration: underline;">Important</span>: As with most verbose debug logging, this should be used solely for diagnosis and you should not keep debugging enabled during normal operation.</em></p>
</blockquote>
<p>Some folks have scripted this tedious process in a batch file which has been helpful. Others may have automated it further in PowerShell. For me, I decided to elevate and sort of &ldquo;productize&rdquo; the automation in the OM console as three tasks. This helps make it even easier for ACS admins and operators to troubleshoot forwarders.</p>
<h2>Enhancements</h2>
<p>The MP now includes three tasks which are described in the next section:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/6064.ACSAutopilotTasks.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/6064.ACSAutopilotTasks.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/6064.ACSAutopilotTasks.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/165x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/6064.ACSAutopilotTasks.jpg" alt="" border="0" /></a></p>
<p>The MP now also includes a new view named <strong>Agents - Running Debug</strong> which depicts ACS forwarders in debug mode.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/8540.ACSAutopilotViews.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/8540.ACSAutopilotViews.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/8540.ACSAutopilotViews.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/183x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/8540.ACSAutopilotViews.jpg" alt="" border="0" /></a></p>
<h2>Guidance</h2>
<p>So how does one leverage this debug capability in the MP? Here's how:</p>
<ul>
<li>Suppose you have a problematic ACS forwarder that will not forward events or keeps stopping for whatever reason. Select that target endpoint and then run the <strong>ACS - Enable Debugging</strong> task. The task will stop the AdtAgent service on the remote computer, configure it for debugging, start the AdtAgent service, and then provide output that resembles the following image.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/8712.ACSAutopilotTask-DebugEnable.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/8712.ACSAutopilotTask_2D00_DebugEnable.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/8712.ACSAutopilotTask-DebugEnable.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/8712.ACSAutopilotTask_2D00_DebugEnable.jpg" alt="" border="0" /></a></li>
<li>After a few minutes the forwarder will appear in the <strong>Agents - Running Debug</strong> view. Select the forwarder in that view and then run the <strong>ACS - Read Debug Log</strong> task. The task will then read the <strong>AdtAgent.log</strong> file contents and will then provide output that resembles the following image.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/0777.ACSAutopilotTask-DebugRead.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/0777.ACSAutopilotTask_2D00_DebugRead.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/0777.ACSAutopilotTask-DebugRead.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/0777.ACSAutopilotTask_2D00_DebugRead.jpg" alt="" border="0" /></a></li>
<li>Hopefully, the output will help you remediate the root cause. If the data is too cryptic or not helpful, and all other troubleshooting actions do not restore operations to the forwarder(s), then I highly recommend leveraging <a href="https://www.microsoft.com/en-us/microsoftservices/support.aspx">Microsoft Services Premier Support</a> resources.</li>
<li>Once you restore the ACS forwarder to normal operations, select the forwarder in the <strong>Agents - Running Debug</strong> view and then run the <strong>ACS - Disable Debugging</strong> task. The task will stop the AdtAgent service on the remote computer, disable debugging, delete the <strong>AdtAgent.log</strong> file, start the AdtAgent service, and then provide output that resembles the following image.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/3771.ACSAutopilotTask-DebugDisable.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/3771.ACSAutopilotTask_2D00_DebugDisable.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/3771.ACSAutopilotTask-DebugDisable.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/3771.ACSAutopilotTask_2D00_DebugDisable.jpg" alt="" border="0" /></a></li>
</ul>
<p>Remember, do not leave forwarders in debug mode once they return to normal operations! Lastly, there are similar debugging techniques for the ACS collector(s) that one could implement via a script. I personally didn&rsquo;t see the need or value in exposing that automation in a MP when an ACS admin can run such a script on the collector if/when the need arises to place it in debug mode.</p>
<p>The MP is unsealed and is available for download <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/21/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-3.aspx">here</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>PS Script to Backup ACS Configuration on Collectors</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/ps-script-to-backup-acs-configuration-on-collectors</link>
      <pubDate>Fri, 23 Aug 2013 02:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/08/23/ps-script-to-backup-acs-configuration-on-collectors/</guid>
      <description><![CDATA[Overview  While the Operations Guide for System Center 2012 - Operations Manager prescribes how to...]]></description>
      <content:encoded><![CDATA[<h2>Overview</h2>  <p>While the <em><a href="http://technet.microsoft.com/library/hh212937.aspx">Operations Guide for System Center 2012 - Operations Manager</a></em> prescribes how to backup the ACS database, this post seeks to enable you to automatically backup important data stored on the <u>ACS collectors</u>. The most important item to backup on the ACS collectors is the <strong>%WINDIR%\System32\Security\AdtServer\AcsConfig.xml</strong> file which is updated by the collector every 5 minutes. Although it doesn't change as frequently as the <strong>AcsConfig.xml</strong> file, the second most important item to backup is the <strong>ACS filter</strong> and any other <strong>AdtServer</strong> Registry key modifications. If these lightweight items are copied off of the servers to another backup location, then you won't have to back up the servers hosting the ACS collector role.</p>  <h2>Assumptions</h2>  <p>In order to get value out of this approach, the following capabilities are assumed to be in effect in the target ACS environment:</p>  <ul>   <li>Availability and disaster recovery planning has been completed and factored into the ACS design and implementation.</li>    <li>The ACS infrastructure may have two collectors that write security events to a single ACS database in an active/passive manner (described <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/07/12/how-to-configure-acs-database-for-2-acs-collectors-and-windows-authentication.aspx">here</a>).</li>    <li>The ACS collector role is not co-located on the same server as the ACS database role.</li>    <li>The ACS database backup is capable of including flat files stored in a directory that is shared on the network to which the ACS collector computer accounts can write.</li>    <li>The ability to deploy the following in a fast manner: a Windows Server OS, the OM 2012 Management Server role, and the ACS collector role.</li> </ul>  <h2>Implementation</h2>  <p>Follow these steps to implement:</p>  <ol>   <li>Configure the ACS database backup directory as a share and grant permissions to the ACS collector computer accounts so that they can write to the share. (By default, the scheduled task runs under SYSTEM credentials. However, as an alternative, you can change the task to run under a domain user account which will need write permissions to the share/dir instead of the computer accounts.)</li>    <li>Download the attached zip file and extract the two PS files (<strong>Backup-AcsConfig.ps1</strong> and <strong>Set-AcsTask.ps1</strong>) and copy to the ACS collectors.</li>    <li>Log on to the ACS collector with admin privileges. Open elevated PS prompt and change directory to the local folder where the files are stored.</li>    <li>Execute <strong>Set-AcsTask.ps1</strong>. When prompted with the text “<strong>ACS configuration will need to be copied to a network share for backup</strong>”, enter the UNC path to the network share that was configured in step 1 above. When prompted with the text “<strong>Specify the directory where the Backup-AcsConfig.ps1 script is currently located</strong>”, enter the local path from step 2 above.</li>    <li>Open the <em>Task Scheduler</em> snap-in on the server. Select <strong>View &gt; Show Hidden Tasks</strong> in the toolbar. In the details pane, double-click <strong>Backup-AcsConfig</strong> and inspect the task’s default settings. By default, the task runs as SYSTEM and runs once every 4 hours starting at 12:00 AM. Adjust the settings to match your environment’s <a href="http://en.wikipedia.org/wiki/Recovery_time_objective">RTOs</a> and <a href="http://en.wikipedia.org/wiki/Recovery_point_objective">RPOs</a>.</li>    <li>Manually verify that the task can run by right-clicking it and selecting <strong>Run </strong>in the shortcut menu. The task should execute quickly. Refresh the view and inspect the <strong>Last Run Result</strong> column in the details pane. If it failed, then ensure the remote backup share is configured with correct permissions; otherwise, examine the <strong>Task History </strong>for details on the failure. The task will also potentially log errors in the <strong>System </strong>event log as the <strong>Audit </strong>event source.</li>    <li>The remote backup share should have a XML and a REG file copied to it with the ACS collector’s server name as a prefix. Use these files if/when re-installing the ACS collector to support a restore operation.</li>    <li>Rinse and repeat above steps on other ACS collectors.</li> </ol>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9934/00/00/03/59/22/77/Backup-AcsConfig.zip" original-url="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9934-00-00-03-59-22-77/Backup_2D00_AcsConfig.zip">Backup-AcsConfig.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>How to Configure ACS Database for 2 ACS Collectors and Windows Authentication</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/how-to-configure-acs-database-for-2-acs-collectors-and-windows-authentication</link>
      <pubDate>Thu, 11 Jul 2013 22:45:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/07/11/how-to-configure-acs-database-for-2-acs-collectors-and-windows-authentication/</guid>
      <description><![CDATA[Overview
Beginning with OpsMgr 2007 SP1, one could install ACS backend with two ACS collectors that...]]></description>
      <content:encoded><![CDATA[<h1>Overview</h1>
<p>Beginning with OpsMgr 2007 SP1, one could install ACS backend with two ACS collectors that write security events to ACS database in an active/passive manner. This capability is still available for ACS in OM 2012 but still forces one to configure the security on the SQL database to be SQL Authentication which isn't as secure as Windows Authentication. Furthermore, it is a bit more involved to configure in a secure manner where SSL/certs are leveraged to secure communications to the SQL database. That said, the instructions in this video should enable one to <strong>configure the SQL database with Windows Authentication instead</strong>. The target environment scenario is described <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/08/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-1.aspx">here</a>.</p>
<h1>Prerequisites</h1>
<p>Before proceeding, the following prerequisites should have been addressed already:</p>
<ul>
<li>OM infrastructure implemented</li>
<li>MS role installed on the 2 Windows Servers that will be the ACS collectors</li>
<li>SQL 2012 database implemented (clustered for continuous availability if possible)</li>
<li>2 Windows Servers' computer accounts added to a domain security group (such as <strong>CONTOSO\ACS-SERVERS</strong>)</li>
</ul>
<h1>Implementation</h1>
<p>Download the attached PS scripts and follow the steps in <a href="https://www.youtube.com/watch?v=a5wnMsRdrFE">this video</a>:&nbsp;</p>
<p><iframe src="https://www.youtube.com/embed/a5wnMsRdrFE?feature=player_embedded" frameborder="0" width="400" height="240"></iframe></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9934/00/00/03/58/45/51/Config-ACSDB-v1.1.zip" original-url="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9934-00-00-03-58-45-51/Config_2D00_ACSDB_2D00_v1.1.zip">Config-ACSDB-v1.1.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Auditing the Microsoft Private Cloud with ACS Autopilot - Part 3</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-3</link>
      <pubDate>Fri, 21 Jun 2013 20:48:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/06/21/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-3/</guid>
      <description><![CDATA[Implement ACS Autopilot: Part&nbsp;3 of 3 posts in a &ldquo;mini-series&rdquo; describing how to...]]></description>
      <content:encoded><![CDATA[<p><em><strong>Implement ACS Autopilot:</strong> Part&nbsp;3 of 3 posts in a &ldquo;<a href="http://blogs.technet.com/b/aaronlightle/archive/tags/Autopilot/">mini-series</a>&rdquo; describing how to automatically audit private cloud enterprises.</em></p>
<p>As stated in <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/08/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-1.aspx">part 1</a> of this series, the task of enabling ACS forwarders on target endpoints is normally <a href="http://technet.microsoft.com/en-us/library/hh272397.aspx">a manual procedure</a> <strong>&ndash;and for good reason!</strong> If the automation in the accompanying &ldquo;autopilot&rdquo; management pack were to be enabled prematurely or without careful planning, it could potentially overwhelm the ACS backend infrastructure. However, much like the &ldquo;autopilot&rdquo; technology can be a good thing for flying planes and has a role to fulfill in the course of a flight, the automation specified in this management pack should only be implemented under certain conditions. <em>&ldquo;Kids, don&rsquo;t try this at home.&rdquo;</em></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/7774.ACSAutopilot.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/7774.ACSAutopilot.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/7774.ACSAutopilot.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/7774.ACSAutopilot.jpg" alt="" border="0" /></a>&nbsp;&nbsp;</p>
<p>As reflected in the graphic above, the process of enabling ACS forwarders in a safe manner is manual at first. Then, once ~99% of the forwarders been enabled, turn on ACS autopilot to audit all target computers in a dynamic and elastic manner.</p>
<h2>Assumptions</h2>
<p>The following activities are assumed to have already been followed and successfully implemented in the target environment:</p>
<ul>
<li>Audit requirements fully factored into the design of ACS</li>
<li>Appropriate level of audit policies implemented and applied against target computers to meet governance requirements</li>
<li>ACS infrastructure, including storage configuration, adequately sized to address anticipated audit volume</li>
<li>ACS filter properly tested and verified against audit requirements and successfully implemented on the ACS collector(s)</li>
<li><a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/08/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-2.aspx">Operations Manager agents automatically deployed to target computers by Configuration Manager software distribution package</a></li>
<li>Target computers are limited to Windows servers</li>
</ul>
<p><span style="text-decoration: underline;">Note</span>: This management pack is compatible with both OpsMgr 2007 R2 and OpsMgr 2012 infrastructures.</p>
<h2>Implementation</h2>
<p>Import the accompanying management pack (<strong>Microsoft.SystemCenter.ACS.Extended.xml</strong>) into the Operations Manager 2007/2012 management group and then follow these steps over the duration of the implementation of ACS forwarders:</p>
<ol>
<li>In the <em>Operations Console</em>, click the <strong>Monitoring</strong> wunderbar. In the <em>Monitoring</em> navigation pane, expand the <strong>ACS</strong> folder and select the <strong>Agents &ndash; Not Running</strong> view. After several minutes, agents with the <strong>AdtAgent</strong> service <span style="text-decoration: underline;">not</span> running will gradually populate this view.</li>
<li><span style="text-decoration: underline;">Manually enable ACS forwarders</span> with one hand on &ldquo;the switch&rdquo; (task) and one hand on &ldquo;the dial&rdquo; (perfmon):</li>
<ul><!--StartFragment-->
<li>Select 10 ACS forwarders in the view by holding the <strong>CTRL</strong> button on the keyboard down and multi-selecting the target computers&rsquo; Health Service objects. Select <strong>Enable Audit Collection</strong> task in the <em>Actions</em> pane.</li>
<li>In the <em>Enable Audit Collection</em> task dialog box, click the <strong>Override</strong> button. Enter the ACS collector(s) FQDN in the provided field; for example: <strong>ACS1.contoso.com, ACS2.contoso.com</strong>. Click the <strong>Override</strong> button to commit the change. Click the <strong>Run</strong> button to execute the task against the target computers.</li>
<li>Using <em>Performance Monitor</em> on the collectors (or the <em>Performance</em> views in the <em>Microsoft Audit Collection Services</em> management pack in the <em>Operations Console</em>), monitor both the <strong>ACS Collector/Connected Clients</strong> and <strong>ACS Collector/Incoming Events/sec</strong> counters. Observe <strong>Database Queue % Full</strong> counter and throughout the surge and make note of the events per second (eps) that the system can withstand. Wait until the surge in new events levels out before continuing.</li>
<li>Repeat this iterative step on another 10 ACS forwarders while monitoring the <strong>ACS Collector</strong> performance counters. If running Operations Manager 2012, increase the number to 20 forwarders and observe the performance counters.</li>
<li>As the load gradually increases, insertion into the SQL database increases and the max throughput will approach the bounds of disk IO supporting the SQL database and transaction log. This will be reflected by the <strong>Database Queue % Full</strong> counter growing and the collector and database not able to reduce the queue fast enough. Record that system threshold and back off that number of ACS forwarders that are enabled at a time.</li>
<li>Enable ACS forwarders in stages and groups that fall under the newly discovered system threshold until all desired ACS forwarders have been enabled in the target environment.</li>
<li>A &ldquo;cruising altitude&rdquo; has now been reached and there should be few, if any, agents listed in the <strong>Agents &ndash; Not Running</strong> view.</li>
<!--EndFragment--></ul>
<li><span style="text-decoration: underline;">Enable ACS autopilot</span>:</li>
<ul><!--StartFragment-->
<li>In the <em>Operations Console</em>, click the <strong>Authoring</strong> wunderbar. In the <em>Authoring</em> navigation pane, select the <strong>Rules</strong> node.</li>
<li>In the details pane, <strong>Change Scope</strong> to <em>Look for</em> "<strong>Autopilot</strong>" and then select the <strong>Autopilot &ndash; Enable ACS Forwarders on Servers </strong>target. Click the <strong>OK</strong> button.</li>
<li>In the details pane, scroll down and right-click the <strong>Autopilot &ndash; Enable ACS forwarders on Servers</strong> rule and select <strong>Override &gt; Override the Rule &gt; For all objects of class: Autopilot &ndash; Enable ACS forwarders on Servers</strong> in the shortcut menu.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/1731.ACSAutopilotTarget.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/1731.ACSAutopilotTarget.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/1731.ACSAutopilotTarget.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/1731.ACSAutopilotTarget.jpg" alt="" border="0" /></a></li>
<li>In the <em>Override Properties</em> dialog box, select the <strong>Arguments</strong> checkbox and change the corresponding <em>Override Value</em> to be the ACS collector(s) FQDN; for example: <strong>//NoLogo "<span style="background-color: #ffff99;">ACS1.contoso.com, ACS2.contoso.com</span>"</strong>. Select the <strong>Enabled </strong>checkbox and change the corresponding <em>Override Value</em> to <strong>True</strong>.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/3343.ACSAutopilotOverride.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/3343.ACSAutopilotOverride.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/3343.ACSAutopilotOverride.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/3343.ACSAutopilotOverride.jpg" alt="" border="0" /></a></li>
<li>Click the <strong>OK</strong> button to commit the change and to enable autopilot.</li>
<!--EndFragment--></ul>
<li><span style="text-decoration: underline;">Disable ACS autopilot</span>: For a variety of reasons, the autopilot may need to be temporarily disabled; such as in the cases of ACS upgrades, event storms, etc.</li>
<ul>
<li>In the <em>Operations Console</em>, click the <strong>Authoring</strong> wunderbar. In the <em>Authoring</em> navigation pane, select the <strong>Rules</strong> node.</li>
<li>Uncheck the <strong>Enabled </strong>checkbox on the previously configured override to the <strong>Autopilot &ndash; Enable ACS forwarders on Servers</strong> rule.</li>
<li>Then re-enable once back at &ldquo;cruising altitude&rdquo;.</li>
</ul>
</ol>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9934/00/00/03/58/05/93/ACS-Autopilot-MP-v1.1.1.0.zip" original-url="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9934-00-00-03-58-05-93/ACS_2D00_Autopilot_2D00_MP_2D00_v1.1.1.0.zip">ACS-Autopilot-MP-v1.1.1.0.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Auditing the Microsoft Private Cloud with ACS Autopilot - Part 2</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-2</link>
      <pubDate>Sat, 08 Jun 2013 10:02:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/06/08/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-2/</guid>
      <description><![CDATA[Deploy OM agents: Part 2 of 3 posts in a “mini-series” describing how to automatically audit private...]]></description>
      <content:encoded><![CDATA[<p><em><strong>Deploy OM agents:</strong> Part 2 of 3 posts in a “<a href="http://blogs.technet.com/b/aaronlightle/archive/tags/Autopilot/">mini-series</a>” describing how to automatically audit private cloud enterprises.</em></p>  <p>Before one can enable ACS forwarders (manually or with the autopilot MP), the OM agent must first be deployed and the agents homed to the management group. Given <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/08/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-1.aspx">the scenario described in part 1</a>, CONTOSO leverages <em>System Center 2012 – Configuration Manager</em> for deploying software to Windows servers across its private cloud and diverse enterprise. This approach is especially effective when considering bandwidth and latency challenges across its WAN links. In contrast, the OM “console push” approach is dependent on SMB protocol which doesn’t work as well for this network topology scenario –where the objective is automation and a guiding principle is <a href="http://en.wikipedia.org/wiki/KISS_principle">KISS</a>. So we turn to leveraging a single, good-old-fashioned, software distribution package via CM 2012. The wrapper script also includes auto-remediation tasks to run once a day in order to help keep the OM agent baseline healthy.</p>  <h2>Credits and Props</h2>  <p>Before rolling with the show, I need to give credit to where credit is due… This battle-tested package wouldn’t be possible without the following two <span style="text-decoration: underline;">stellar</span> Microsoft colleagues:</p>  <ul>   <li><strong>Chris Harrod</strong> – Took the idea, made it real, and ran with it.</li>    <li><strong>Eric Hopson</strong> – Took over the responsibility to maintain the wrapper script and has scripted in new auto-remediation capabilities.</li> </ul>  <p>This OM agent package has been battle tested in a variety of large enterprise scenarios. For example, it is rumored that <a href="http://www.xbox.com">Xbox LIVE</a> is running a derivative of this package to monitor their comprehensive infrastructure. Pretty cool!</p>  <h2>Overview</h2>  <p>This installation routine has been designed to be executed from within a CM 2012 (or CM 2007) package. The associated programs are advertised and assigned to target Windows servers and <strong>run every day </strong>since the script also includes auto-remediation routines. The installation supports a variety of enterprise scenarios:</p>  <ul>   <li>Base OM 2012 release plus and Update Rollup (This installation routine provides OM 2012 RTM plus <a href="http://www.microsoft.com/en-us/download/details.aspx?id=30421">Update Rollup 2</a> as an example.)</li>    <li>Multiple management servers in a management group and load balancing the installs</li>    <li>Dual-homed agents</li>    <li>Migrating agents from one management group to another one</li> </ul>  <h2>Preparation</h2>  <p>To prepare the package, download and extract the attached zip file to create the following directory structure:</p>  <p style="padding-left: 30px;">&#160;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/4544.OM2012AgentInstallPkgManifest.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/4544.OM2012AgentInstallPkgManifest.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/4544.OM2012AgentInstallPkgManifest.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/192x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/4544.OM2012AgentInstallPkgManifest.jpg" /></a></p>  <p>The following scripts should be staged in the <strong>root</strong> of the package directory:</p>  <ul>   <li><strong>INSTALL-SCOM2012Agent.vbs – </strong>Performs the installation and auto-remediation routines. It’s written in VBScript to address “lowest common denominator” situations where PowerShell is unfortunately not an option.</li>    <li><strong>SetupOMAgent.cmd – </strong>Only required if deploying the agent package via Configuration Manager 2007 which is a 32-bit application. This additional wrapper script detects and bypasses Windows on Windows 64-bit (WOW64) file system redirection. (This script is not required for deployments via Configuration Manager 2012 since it is a 64-bit application.)</li> </ul>  <p>The following files should be staged in the subdirectories:</p>  <ul>   <li>AD Helper Objects</li>    <ul>     <li>Copy <strong>HELPEROBJECTS\AMD64\OOMADS.MSI</strong> from the OM 2012 installation source media into the <strong>x64</strong> subdirectory.</li>      <li>Copy <strong>HELPEROBJECTS\I386\OOMADS.MSI </strong>from the OM 2012 installation source media into the <strong>x86 </strong>subdirectory.</li>   </ul>    <li>OM 2012 agent</li>    <ul>     <li>Copy <span style="text-decoration: underline;">all</span> files in the <strong>AGENT\AMD64</strong> directory on the OM 2012 installation source media into the <strong>x64 </strong>subdirectory.</li>      <li>Copy <span style="text-decoration: underline;">all</span> files in the <strong>AGENT\I386 </strong>directory on the OM 2012 installation source media into the <strong>x86 </strong>subdirectory.</li>   </ul>    <li>Update rollup</li>    <ul>     <li>Download and extract <a href="http://www.microsoft.com/en-us/download/details.aspx?id=30421">Update Rollup 2</a><strong>*</strong> and copy <strong>KB2731874-x64-Agent.msp</strong> into the <strong>x64</strong> subdirectory.</li>      <li>Download and extract <a href="http://www.microsoft.com/en-us/download/details.aspx?id=30421">Update Rollup 2</a><strong>*</strong> and copy <strong>KB2731874-x86-Agent.msp</strong> into the <strong>x86</strong> subdirectory.</li>   </ul>    <li>CleanMom utility</li>    <ul>     <li>Download and install the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=26139">System Center Operations Manager 2007 R2 Admin Resource Kit</a>. (This utility is beneficial for uninstalling OM 2007 R2 agents which is a common scenario when upgrading/migrating from OM 2007 to OM 2012.)</li>      <li>Copy <strong>%ProgramFiles(x86)%\System Center\SystemCenter Operations Manager 2007 R2 Admin Reskit\Cleanmom\x64\CleanMom.exe</strong> to the <strong>x64 </strong>subdirectory.</li>      <li>Copy <strong>%ProgramFiles(x86)%\System Center\SystemCenter Operations Manager 2007 R2 Admin Reskit\Cleanmom\x86\CleanMom.exe </strong>to the <strong>x86 </strong>subdirectory.</li>   </ul> </ul>  <blockquote>   <p><strong>*<span style="text-decoration: underline;">Note</span>:</strong> If installing a newer update rollup, be sure to edit the <strong>INSTALL-SCOM2012Agent.vbs</strong> file and replace (<strong>CTRL+H</strong>) the x64 and x86 updates.</p> </blockquote>  <p>Verify/edit the following three variables for the agent versions that are listed in the Environment Specifics section of the <strong>INSTALL-SCOM2012Agent.vbs </strong>file:</p>  <ul>   <li><strong>strCurrentVersion – </strong>Indicates the desired end state for OM 2012 agent version –including Update Rollup.</li>    <li><strong>strMinimumVersion – </strong>Indicates the value of the base OM 2012 agent version (such as RTM). If a target server is found to have this version, then only the Update Rollup is applied.</li>    <li><strong>strOldVersion – </strong>Indicates highest version level of OM 2007 R2 (including cumulative update) that could be found in the target environment. If a target server is found to have this version, or an older version, then the agent is completely uninstalled (see note above).</li> </ul>  <h2>Syntax</h2>  <p>Understanding the configuration of the Operations Manager management group(s) in the enterprise is required to create the correct installation string with the following syntax:</p>  <blockquote>   <p><span style="font-family: consolas;"><strong>INSTALL-SCOM2012Agent.vbs /MG:<span style="background-color: rgb(255, 255, 0);">MG2</span> /MS:<span style="background-color: rgb(255, 255, 0);">OMSVR-MS1,OMSVR-MS2,OMSVR-MS3,OMSVR-MS4</span> /LEGACY:<span style="background-color: rgb(255, 255, 0);">MG1</span></strong></span></p> </blockquote>  <ul>   <li><strong>MG –</strong> [Mandatory parameter] Name of the management group to which the agent is to be homed.</li>    <li><strong>MS –</strong> [Mandatory parameter] Name(s) of management servers in the management group which the installation script will randomly select to home the agent.</li>    <li><strong>LEGACY –</strong> [Optional parameter] Name(s) of the management group(s) to which the agent is to <span style="text-decoration: underline;">not</span> be homed.</li> </ul>  <p>If the <strong>SetupOMAgent.cmd</strong> script will also be used for CM 2007 scenarios, then use the derived command-line from above and fill in the appropriate information in place of the asterisks:</p>  <blockquote>   <p><span style="font-family: consolas;"><strong>%CWD%%ScriptName% /MG:<span style="background-color: rgb(255, 255, 0);">****************</span> /MS:<span style="background-color: rgb(255, 255, 0);">****************</span> /LEGACY:<span style="background-color: rgb(255, 255, 0);">****************</span> &gt;&gt; %LogFile</strong></span></p> </blockquote>  <p>Repeat this step on the remaining three lines in the script that have this pattern. Close and save the script.</p>  <h2>Deployment</h2>  <p>Make the following deployment configurations in Configuration Manager 2007/2012:</p>  <ul>   <li><strong>Package – </strong>Create a package in Configuration Manager with entire directory structure and files previously created.</li>    <li><strong> Program – </strong>Create a program for the appropriate version of Configuration Manager:</li>    <ul>     <li><span style="text-decoration: underline;">CM 2012</span>: <strong><span style="font-family: consolas;">INSTALL-SCOM2012Agent.vbs /MG:<span style="background-color: rgb(255, 255, 0);">MG2</span> /MS:<span style="background-color: rgb(255, 255, 0);">OMSVR-MS1,OMSVR-MS2,OMSVR-MS3,OMSVR-MS4</span> /LEGACY:<span style="background-color: rgb(255, 255, 0);">MG1</span></span></strong></li>      <li><span style="text-decoration: underline;">CM 2007</span>: <span style="font-family: consolas;"><strong>SetupOMAgent.cmd</strong></span></li>   </ul>    <li><strong>Advertisement – </strong>Mandatory/assigned with a schedule of once per day.</li>    <li><strong>Collection – </strong>Target servers that match the scope of the Operations Manager 2012 management group in the target environment. Be sure to only use dynamic collection membership rules.</li> </ul>  <p>After testing the OM agent package against use cases that represent the target environment, proceed to pilot and then fully deploy the agent. Monitor and remediate the distribution to ensure full coverage.</p>  <p>You are now 1 step closer to enabling ACS autopilot in <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/21/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-3.aspx">Part 3</a>…</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9934/00/00/03/57/76/32/OM2012AgentInstallPkg-v2.9.zip" original-url="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9934-00-00-03-57-76-32/OM2012AgentInstallPkg_2D00_v2.9.zip">OM2012AgentInstallPkg-v2.9.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Auditing the Microsoft Private Cloud with ACS Autopilot - Part 1</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-1</link>
      <pubDate>Fri, 07 Jun 2013 21:33:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/06/07/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-1/</guid>
      <description><![CDATA[Prereqs: Part 1 of 3 posts in a “mini-series” describing how to automatically audit private cloud...]]></description>
      <content:encoded><![CDATA[<p><em><strong>Prereqs:</strong> Part 1 of 3 posts in a “<a href="http://blogs.technet.com/b/aaronlightle/archive/tags/Autopilot/">mini-series</a>” describing how to automatically audit private cloud enterprises.</em></p>  <p>In order to automatically audit security events from Windows servers that are provisioned dynamically to private clouds, branch offices and the entire enterprise; Microsoft recommends Audit Collection Services (ACS) which is included in System Center 2012 - Operations Manager. However, ACS does <strong>not</strong> natively expose the capability to audit ACS forwarders on Windows servers as they come and go in an “elastic” manner <strong>–and for good reason!</strong> If the automation in the “autopilot” management pack were to be enabled prematurely or without careful planning, it could potentially overwhelm the ACS backend infrastructure.</p>  <p>So how do you audit Windows servers in an automated manner when one of the key attributes of a private cloud is “rapid elasticity”?</p>  <blockquote>   <p><em>&quot;<strong>Rapid elasticity</strong>. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.&quot;</em> - <a href="http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf">The NIST Definition of Cloud Computing, Special Publication 800-145</a></p> </blockquote>  <p><a href="http://blogs.technet.com/b/aaronlightle/archive/tags/Autopilot/">This mini-series</a> seeks to answer that need with ACS “autopilot”. Before we get to that capability, let’s “set the table” with a <strong>common auditing scenario in customer enterprises:</strong></p>  <ul>   <li>CONTOSO is a large, multi-national company with a private cloud, a datacenter, and many branch offices around the world. They are having to “do more with less” in a challenging economy and have sought to cut operational costs down through economies-of-scale and by consolidating its IT staff into a single org and hierarchy. This has helped them simplify their OM 2012 management group design greatly with a single MG monitoring all Windows servers in their enterprise.</li>    <li>CONTOSO has also implemented a <a href="http://en.wikipedia.org/wiki/SIEM">SIEM</a> solution that enables it address governance controls for SOX compliance. They have internal auditors who routinely run reports in their ACS and SIEM solutions to ensure compliance.</li>    <li>OM 2012 and ACS and have been “scaled up and out” to handle current and anticipated load. CONTOSO engaged <a href="http://www.microsoft.com/microsoftservices/default.aspx">Microsoft Consulting Services</a> who followed <a href="http://www.microsoft.com/download/details.aspx?id=38813">best practices</a> in scaling the solutions correctly. :-)</li>    <li>OM 2012 and ACS have been designed and implemented with role separation (auditors vs. admins) specifically in mind.</li> </ul>  <p>The following conceptual diagram depicts the single management group scenario which will be referenced throughout this mini-series (and possibly others in the future):</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/8688.ACS-OM-ConceptualOverview.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/8688.ACS_2D00_OM_2D00_ConceptualOverview.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/34/8688.ACS-OM-ConceptualOverview.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/518x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-34/8688.ACS_2D00_OM_2D00_ConceptualOverview.jpg" /></a></p>  <p>Now that the OM 2012 and ACS infrastructures have been fully implemented to address monitoring and audit requirements, we can move on to <a href="http://blogs.technet.com/b/aaronlightle/archive/2013/06/08/auditing-the-microsoft-private-cloud-with-acs-autopilot-part-2.aspx">part 2</a> where the OM 2012 agents are automatically deployed.</p>]]></content:encoded>
    </item>
    <item>
      <title>ACS Ramp Material</title>
      <link>https://docs.microsoft.com/archive/blogs/aaronlightle/acs-ramp-material</link>
      <pubDate>Fri, 07 Jun 2013 19:31:00 GMT</pubDate>
      <dc:creator><![CDATA[Aaron Lightle [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/aaronlightle/2013/06/07/acs-ramp-material/</guid>
      <description><![CDATA[Since there isn&rsquo;t much ILT or CBT material around for operations and maintenance of Audit...]]></description>
      <content:encoded><![CDATA[<p>Since there isn&rsquo;t much ILT or CBT material around for <span style="text-decoration: underline;">operations and maintenance</span> of Audit Collection Services (ACS), I have been frequently asked to help folks ramp up on ACS. Here is the list of&nbsp;reference material that I usually recommend:&nbsp;</p>
<p>Eric Fitzgerald&rsquo;s blog <br /><a href="http://blogs.msdn.com/b/ericfitz">http://blogs.msdn.com/b/ericfitz</a></p>
<p><em>"Chapter 10: Security and Compliance"</em> in the <em>"System Center 2012 Operations Manager Unleashed"</em> book, 2nd Edition by Kerrie Meyler, Cameron Fuller, John Joyner; Sams Publishing, February 2013 <br /><a href="http://opsmgrunleashed.wordpress.com">http://opsmgrunleashed.wordpress.com</a></p>
<p><em>"Chapter 15: Monitoring Audit Collection Services"</em> in the <em>"System Center Operations Manager 2007 Unleashed"</em> book by Kerrie Meyler, Cameron Fuller, John Joyner, Andy Dominey; Sams Publishing, March 2008 <br /><a href="http://opsmgrunleashed.wordpress.com">http://opsmgrunleashed.wordpress.com</a></p>
<p>System Center 2012 - Operations Manager Technical Documentation (Online) <br /><a href="http://go.microsoft.com/fwlink/?LinkId=231676">http://go.microsoft.com/fwlink/?LinkId=231676</a></p>
<p>System Center 2012 - Operations Manager Technical Documentation (Offline) <br /><a href="http://go.microsoft.com/fwlink/?LinkId=246682">http://go.microsoft.com/fwlink/?LinkId=246682</a></p>
<p>Operations Guide for System Center 2012 - Operations Manager <br /><a href="http://technet.microsoft.com/en-US/library/hh212887.aspx">http://technet.microsoft.com/en-US/library/hh212887.aspx</a></p>
<p>Collecting Security Events Using Audit Collection Services in Operations Manager <br /><a href="http://technet.microsoft.com/en-us/library/hh212908.aspx">http://technet.microsoft.com/en-us/library/hh212908.aspx</a></p>
<p><em>"ACS Internals"</em> blog post by Kevin Holman <br /><a href="http://blogs.technet.com/b/kevinholman/archive/2008/03/07/acs-internals-part-1.aspx">http://blogs.technet.com/b/kevinholman/archive/2008/03/07/acs-internals-part-1.aspx</a></p>
<p>System Center 2012 Operations Manager Survival Guide <br /><a href="http://social.technet.microsoft.com/wiki/contents/articles/7809.system-center-2012-operations-manager-survival-guide.aspx">http://social.technet.microsoft.com/wiki/contents/articles/7809.system-center-2012-operations-manager-survival-guide.aspx</a></p>
<p>System Center - Operations Manager Forums <br /><a href="http://social.technet.microsoft.com/Forums/en-US/category/systemcenteroperationsmanager">http://social.technet.microsoft.com/Forums/en-US/category/systemcenteroperationsmanager</a></p>
<p><em>"Auditing and Compliance in Windows Server 2008"</em> by Rob Campbell and Joel Yoker; TechNet Magazine, March 2008 <br /><a href="http://technet.microsoft.com/en-us/magazine/2008.03.auditing.aspx">http://technet.microsoft.com/en-us/magazine/2008.03.auditing.aspx</a></p>
<p>Chapter 3 and Chapter 8 in the <em>"Windows Server 2008 Security Resource Kit"</em> book by Jesper M. Johansson; Microsoft Press, 2008 <br /><a href="http://www.microsoft.com/learning/en/us/book.aspx?id=11841">http://www.microsoft.com/learning/en/us/book.aspx?id=11841</a></p>
<p>Advanced Security Audit Policy Step-by-Step Guide<br /><a href="http://go.microsoft.com/fwlink/p/?LinkId=231804">http://go.microsoft.com/fwlink/p/?LinkId=231804</a></p>
<p>NIST&rsquo;s Guide to Computer Security Log Management (SP800-92)<br /><a href="http://csrc.nist.gov/publications/nistpubs/800-92/SP800-92.pdf">http://csrc.nist.gov/publications/nistpubs/800-92/SP800-92.pdf</a></p>]]></content:encoded>
    </item>
  </channel>
</rss>