<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Rohit Goel’s Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/rogoel/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/rogoel/feed.xml</link>
    <description>My Experience with System Center, Azure and Other Products</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:47:53 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Microsoft Intune as MDM server for Cisco ISE</title>
      <link>https://docs.microsoft.com/archive/blogs/rogoel/microsoft-intune-as-an-mdm-server-for-cisco-ise</link>
      <pubDate>Tue, 20 Mar 2018 14:35:24 GMT</pubDate>
      <dc:creator><![CDATA[Rohit Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rogoel/?p=595</guid>
      <description><![CDATA[Introduction
Intune integrates with network access control partners to help organizations secure...]]></description>
      <content:encoded><![CDATA[<h1><strong>Introduction</strong></h1>
Intune integrates with network access control partners to help organizations secure corporate data when devices try to access on-premises resources.

<strong>Example</strong>

If the device is enrolled and compliant with Intune, the NAC solution should allow the device access to corporate resources. For example, users can be allowed or denied access when trying to access corporate Wi-Fi or VPN resources.

&nbsp;
<h1><a></a><strong>Feature behaviors</strong></h1>
Devices that are actively syncing to Intune cannot move from Compliant / Noncompliant to Not Synched (or Unknown). The Unknown state is reserved for newly enrolled devices that have not yet been evaluated for compliance.

&nbsp;
<h2><a></a><strong>How the NAC integration works</strong></h2>
Here’s an overview on how the NAC integration works when integrated with Intune. The first three steps, 1-3, explain the onboarding process. Once the NAC solution is integrated with Intune, steps 4-9 describe the on-going operation.

&nbsp;
<ol>
 	<li>Register the NAC partner solution with Azure Active Directory (AAD) and grant delegated permissions to the Intune NAC API.</li>
 	<li>Configure the NAC partner solution with the appropriate settings including the Intune discovery URL.</li>
 	<li>Configure the NAC partner solution for certificate authentication.</li>
 	<li>User connects to corporate Wi-Fi access point or makes a VPN connection request.</li>
 	<li>NAC partner solution forwards the device information to Intune and asks Intune about the device enrollment and compliance state.</li>
 	<li>If the device is not compliant or not enrolled, the NAC partner solution instructs the user to enroll or fix the device compliance.</li>
 	<li>The device attempts to re verify its compliance and/or the enrollment state.</li>
 	<li>Once the device is enrolled and compliant, NAC partner solution gets the state from Intune.</li>
 	<li>Connection is successfully established which allows the device access to corporate resources.</li>
</ol>
<h1>Microsoft <a></a><strong>Intune Integration with Cisco ISE</strong></h1>
Cisco ISE (NAC) integration with Microsoft Intune MDM Services leverages AAD’s (Azure AD) token-based authentication to access Intune services and leverage the information to grant/deny network access to mobile devices
<h2><strong>Step 1: Configuring Microsoft Intune as an MDM server for ISE</strong></h2>
Use the following steps to configure ISE's connection to Azure and Azure's connection to ISE.
<ol>
 	<li>Get the public certificate from the Intune/Azure Active Directory tenant and import it into ISE to support SSL handshake.
<ol>
 	<li>Log on to the Intune Admin Console or Azure Admin console, whichever site has your tenant.</li>
 	<li>Use the browser to get the certificate details. For, example, with Internet Explorer:
<ol>
 	<li>Click on the lock symbol in the browser toolbar, then click View Certificates.</li>
</ol>
</li>
</ol>
</li>
</ol>
<img width="838" height="522" class="alignnone size-full wp-image-605" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/01.jpg" />

2. In the Certificate window, select the tab Certification Path.

<img width="899" height="482" class="alignnone size-full wp-image-615" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/02.jpg" />

&nbsp;

3. Find Baltimore Cyber Trust root on local machine certificate store, and export the root cert.<img width="971" height="689" class="alignnone size-full wp-image-625" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/03.jpg" />

On Cisco ISE, choose Administration &gt; System &gt; Certificates &gt; Trusted Certificates, and import the root certificate that you just saved. Give the certificate a meaningful name, such as Azure MDM.
<h2><strong>Step 2: Export the ISE system certificate and </strong><strong>prepare it for Intune/Azure</strong></h2>
<ol>
 	<li>In the ISE console, go to <span>Administration</span><span> &gt; </span><span>System</span><span> &gt; </span><span>Certificates</span><span> &gt; </span><span>System Certificates</span>, select the Default self-signed server certificate, and click Export.</li>
 	<li>Select Export Certificate Only (default) and select a place to save it.</li>
 	<li>Choose Add an application my organization is developing</li>
 	<li>Run the following PowerShell script on the exported certificate file:
<table width="598">
<tbody>
<tr>
<td width="692"><strong>$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2</strong>

<strong>$cer.Import(“mycer.cer”)</strong>

<strong>$bin = $cer.GetRawCertData()</strong>

<strong>$base64Value = [System.Convert]::ToBase64String($bin)</strong>

<strong>$bin = $cer.GetCertHash()</strong>

<strong>$base64Thumbprint = [System.Convert]::ToBase64String($bin)</strong>

<strong> </strong>

<strong>$keyid = [System.Guid]::NewGuid().ToString()</strong>

&nbsp;</td>
</tr>
</tbody>
</table>
Once script runs, it stores the value in variables. Type the variable name on PowerShell prompt and retrieve the values (please see the below demo screen)

<strong>$base64Value</strong>

<strong></strong><strong>$base64Thumbprint</strong>

<strong>$keyid</strong><strong>Demo:</strong></li>
</ol>
<!-- x-tinymce/html -->
<h1><strong><img width="1423" height="787" class="alignnone size-full wp-image-825" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/Powershell01.jpg" /></strong></h1>
&nbsp;
<ol>
 	<li>Keep the values for <strong><em>$base64Thumbprint, $base64Value </em></strong><strong><em>and $keyid</em></strong>, which will be used in the next step.
<h2><strong>Step 3: Create an ISE App in Intune/Azure Tenant</strong></h2>
1. Choose '<strong>Add an application my organization is developing' </strong>from Azure Active Directory | Enterprise Application - All Applications | Categories | Add an Application</li>
</ol>
<img width="871" height="867" class="alignnone wp-image-655" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/06.jpg" />

2. Select New application registration

&nbsp;

<img width="908" height="645" class="alignnone wp-image-665" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/06_1.jpg" />

3.   Fill the App properties information

Enter Name: CiscoISE (It can be any name, i have used CiscoISE)

Application type: Web app/API

Sign-on URL: &lt;CiscoISE&lt;MicrosoftTenant&gt;.onmicrosoft.com

&nbsp;

<em><strong>NOTE:</strong> </em>
<ol>
 	<li><strong>SIGN-ON URL</strong>. The URL where users can sign in and use your app. You can change this later as needed.</li>
 	<li><strong>APP ID URI</strong>. The URI used as a unique logical identifier for your app. The URI must be in a verified custom domain for an external user to grant your app access to their data in Windows Azure AD. For example, if your Microsoft tenant is <strong>contoso.onmicrosoft.com</strong>, the APP ID URI could be <a href="https://app.contoso.onmicrosoft.com/"><strong>https://app.contoso.onmicrosoft.com</strong> </a></li>
</ol>
<img width="1136" height="621" class="alignnone wp-image-675" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/07.jpg" />

4. Click Create to create new CiscoISE Application

<img width="1096" height="260" class="alignnone wp-image-685" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/08.jpg" />

5. Select ‘All Applications’ and ‘All Apps’ to list the new Web API created.

&nbsp;

<img width="1101" height="358" class="alignnone wp-image-695" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/09.jpg" />
<h2><strong> Step 4: Get the manifest file from Azure, add the ISE certificate information, and</strong> <strong>Upload the updated manifest    into Azure</strong></h2>
<ol>
 	<li>Download the manifest file from Azure (for ISE App created in Step 3)
<ol>
 	<li>Click on manifest</li>
 	<li>click download to download the manifest file.</li>
</ol>
</li>
</ol>
<img width="596" height="367" class="alignnone size-full wp-image-715" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/112.jpg" />

&nbsp;

<img width="1041" height="328" class="alignnone size-full wp-image-705" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/101.jpg" />

&nbsp;

<img width="936" height="293" class="alignnone size-full wp-image-725" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/122.jpg" />

3. Download and save the file locally ad <strong>'CiscoISE.jason' . NOTE: Please don't change the file name.</strong>

<img width="488" height="111" class="alignnone size-full wp-image-735" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/131.jpg" />

4. Once file is open (need to have json editor),

5. Update the keyCredentials field in manifest json file as below:

&nbsp;

Replace <strong><em>Base64 Encoded String of ISE PAN Cert</em></strong> with the exported, edited, certificate file from ISE, which is he <strong>$base64Value </strong>from the PowerShell Script (Refer <strong>Step 2</strong>)

Replace “<strong>Keyid</strong>” with Keyid value from PowerShell Script (Refer <strong>Step 2</strong>)

Replace “<strong>CustomeKeyIdentifier</strong>” value from the PowerShell script (Refer <strong>Step 2</strong>)

&nbsp;
<table width="1037">
<tbody>
<tr>
<td width="623"><strong>"keyCredentials": [</strong>

<strong> {</strong>

<strong>   “customKeyIdentifier”: “$base64Thumbprint_from_above”,</strong>

<strong>   “keyId”: “$keyid_from_above“,</strong>

<strong>   "type": "AsymmetricX509Cert",</strong>

<strong>   "usage": "Verify",</strong>

<strong>   "value": "Base64 Encoded String of ISE PAN cert"</strong>

<strong> }</strong>

<strong>                           ]</strong></td>
</tr>
</tbody>
</table>
<!-- x-tinymce/html -->

Sample:

<img width="503" height="167" class="alignnone size-full wp-image-745" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/14.jpg" />

<strong>NOTE:</strong> <strong><em>Do NOT CHANGE THE NAME OF THE MANIFEST File</em></strong>

<strong>Extra Reference:</strong> <a href="https://msdn.microsoft.com/library/azure/ad/graph/api/entity-and-complex-type-reference#keycredential-type">https://msdn.microsoft.com/library/azure/ad/graph/api/entity-and-complex-type-reference#keycredential-type</a>

<img width="887" height="543" class="alignnone size-full wp-image-755" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/15.jpg" />

6. Save the file – Do Not change manifest name

7. Upload the modified Json file to Azure App manifest

<!-- x-tinymce/html -->
<h1><strong><img width="1108" height="257" class="alignnone wp-image-805" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/20.jpg" /></strong></h1>
<h2>Step 5: <strong>Getting Values of endpoints attributes from Azure Portal</strong></h2>
<ol>
 	<li>Navigate to App registrations &gt; Endpoints</li>
</ol>
&nbsp;

<img width="698" height="453" class="alignnone size-full wp-image-775" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/17.jpg" />

2. Make Note of below values:
<ul>
 	<li>MICROSOFT AZURE AD GRAPH API ENDPOINT</li>
 	<li>OAUTH 2.0 TOKEN ENDPOINT</li>
 	<li>APPLICATION ID or CLIENT ID</li>
</ul>
<strong> </strong>

<img width="872" height="408" class="alignnone size-full wp-image-785" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/18.jpg" /> <img width="959" height="354" class="alignnone size-full wp-image-795" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/19.jpg" />

<strong>These 3 values will be used in next step. </strong>
<h2><strong>Step 6: Add Graph API and Intune API to application with permissions and delegations</strong></h2>
Settings for Application permissions and Delegated Permissions:

&nbsp;

<img width="1063" height="480" class="alignnone wp-image-1025" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/APISettings.jpg" />

<strong>To configure above settings</strong>, Select <strong>CiscoISE</strong> Registered App again

Go to <strong>Settings | Required Permissions | Add</strong>

<img width="1114" height="355" class="alignnone size-full wp-image-925" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/104.jpg" />

From the Listed APIs, Select ‘<strong>Microsoft Graph</strong>’

&nbsp;

<img width="1089" height="290" class="alignnone size-full wp-image-935" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/1110.jpg" />

Click on <strong>Select permissions</strong> and select ‘<strong>APPLICATION PERMISSIONS’ </strong>and ‘<strong>DELEGATED PERMISSIONS’</strong> as below:

<strong>APPLICATIONS PERMISSIONS:</strong>
<ul>
 	<li><em>Read Directory data</em></li>
</ul>
<strong>DELEGATED PERMISSIONS:</strong>
<ul>
 	<li><em>Read and write Microsoft Intune Device Configuration and Policies</em></li>
 	<li><em>Read Microsoft Intune Configuration</em></li>
 	<li><em>Sign users in</em></li>
 	<li><em>Access users’s data anytime</em></li>
</ul>
Again Click on<strong> Add | </strong><strong>Select an API </strong>as<strong> ‘Microsoft Intune API’ </strong>from the listed APIs

&nbsp;

<img width="644" height="462" class="alignnone size-full wp-image-945" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/124.jpg" />

Click on Select permissions and select ‘<strong>APPLICATION PERMISSIONS’ </strong>and ‘<strong>DELEGATED PERMISSIONS’</strong> as below:

<strong>APPLICATION PERMISSIONS:</strong>
<ul>
 	<li><em>Get device state and compliance information from Microsoft Intune</em></li>
</ul>
&nbsp;

Again Click on<strong> Add | </strong><strong>Select an API </strong>as<strong> ‘Windows Azure Active Directory’ </strong>from the listed APIs

<img width="1282" height="319" class="alignnone size-full wp-image-955" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/132.jpg" />

Click on <strong>Select permissions</strong> and select ‘<strong>APPLICATION PERMISSIONS’ </strong>and ‘<strong>DELEGATED PERMISSIONS’</strong> as below:

<strong>APPLICATION PERMISSIONS:</strong>
<ul>
 	<li><em>Read directory data</em></li>
</ul>
<strong>DELEGATED PERMISSIONS:</strong>
<ul>
 	<li><em>Read directory data</em></li>
 	<li><em>Sign in and read user profile</em></li>
</ul>
Final Required Permissions:

<img width="572" height="254" class="alignnone size-full wp-image-965" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/141.jpg" />

Once permissions are selected, click on<strong> ‘Grant Permissions’ </strong>and Click<strong> 'Yes'</strong>

<img width="595" height="309" class="alignnone size-full wp-image-975" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/153.jpg" />
<h2><strong>7.  In ISE, configure the Intune server in ISE</strong></h2>
For more information about configuring and external MDM server, see <a href="https://www.cisco.com/c/en/us/td/docs/security/ise/2-3/admin_guide/b_ise_admin_guide_23/b_ise_admin_guide_23_chapter_01001.html#id_15092">Define Mobile Device Management Servers in ISE</a>. The fields that are important for Intune are described below:

&nbsp;
<ul>
 	<li><strong>Auto Discovery URL</strong> - Enter the value of Microsoft Azure AD Graph API Endpoint from the Microsoft Azure management portal. This the endpoint at which an application can access directory data in your Microsoft Azure AD directory using the Graph API. The URL is of the form: https://&lt;hostname&gt;/&lt;tenant id&gt;, for example, https://graph.ppe.windows.net/47f09275-5bc0-4807-8aae-f35cb0341329. An expanded version of this URL is also in the property file, which is of the form:</li>
</ul>
<img width="326" height="87" class="alignnone size-full wp-image-985" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/162.jpg" />
<ul>
 	<li><span style="font-family: Segoe UI;font-size: medium"><b>Client ID</b> - The unique identifier for your application. Use this if your application accesses data in another application, such as the Microsoft Azure AD Graph API, Microsoft Intune API, and so on.</span></li>
</ul>
&nbsp;

<img width="311" height="51" class="alignnone size-full wp-image-995" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/172.jpg" />
<ul>
 	<li><span style="font-family: Segoe UI;font-size: medium"><b>Token Issuing URL</b> - Enter the value of the <i>Oauth2.0 Authorization Endpoint</i> from the previous step. This is the endpoint at which your app can obtain an access token using OAuth2.0. After your app is</span><span style="font-family: Arial"> authenticated, Microsoft Azure </span><span style="font-family: Segoe UI;font-size: medium">AD issues your app (ISE) an access token, which allows your app to call the Graph API/ Intune API. </span></li>
</ul>
<img width="318" height="94" class="alignnone size-full wp-image-1005" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/182.jpg" />
<ul>
 	<li><b>Token Audience*</b> - The recipient resource that the token is intended for, which is a public, well-known APP ID URL to the Microsoft Intune API.<span style="font-family: Segoe UI;font-size: medium"></span></li>
</ul>
<strong>Value Mapping between Intune and in ISE settings:</strong>

<img width="1059" height="182" class="alignnone wp-image-1015" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/191.jpg" />]]></content:encoded>
    </item>
    <item>
      <title>SQL Server 2017 on SUSE Linux Enterprise Server</title>
      <link>https://docs.microsoft.com/archive/blogs/rogoel/sql-server-2017-on-suse-linux-enterprise-server</link>
      <pubDate>Thu, 16 Nov 2017 22:16:13 GMT</pubDate>
      <dc:creator><![CDATA[Rohit Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rogoel/?p=336</guid>
      <description><![CDATA[Introduction
SQL Server 2017 now runs on Linux. It’s the same SQL Server database engine, with many...]]></description>
      <content:encoded><![CDATA[<h1>Introduction</h1>
<p class="body pt-1 c-heading-4 normal-font"><span>SQL Server 2017 now runs on Linux. It’s the same SQL Server database engine, with many similar features and services regardless of your operating system.</span></p>

<h1>Prerequisites</h1>
<ul>
 	<li class="lf-text-block lf-block">You must have a SLES v12 SP2 machine with<span> </span><strong>at least 3.25 GB</strong><span> </span>of memory.</li>
 	<li class="lf-text-block lf-block">The file system must be<span> </span><strong>XFS</strong><span> </span>or<span> </span><strong>EXT4</strong>. Other file systems, such as<span> </span><strong>BTRFS</strong>, are unsupported.<span class="lf-thread-btn"></span></li>
 	<li class="lf-text-block lf-block">Internet Connectivity on SUSE Linux machine</li>
</ul>
<h1 id="supported-client-tools">Supported client tools</h1>
<table width="753">
<thead>
<tr>
<th>Tool</th>
<th>Minimum version</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<pre><a href="https://go.microsoft.com/fwlink/?linkid=847722">SQL Server Management Studio (SSMS) for Windows</a></pre>
</td>
<td>
<pre>17.0</pre>
</td>
</tr>
<tr>
<td>
<pre><a href="https://go.microsoft.com/fwlink/?linkid=846626">SQL Server Data Tools for Visual Studio</a></pre>
</td>
<td>
<pre>17.0</pre>
</td>
</tr>
<tr>
<td>
<pre><a href="https://code.visualstudio.com/">Visual Studio Code</a><span> </span>with the<span> </span><a href="https://aka.ms/mssql-marketplace">mssql extension</a></pre>
</td>
<td>
<pre>Latest</pre>
</td>
</tr>
</tbody>
</table>
<h1></h1>
<h1>Environment</h1>
<table width="764">
<tbody>
<tr>
<td width="156"><strong>Demo System Roles</strong></td>
<td width="156"><strong>Names</strong></td>
<td width="156"><strong>OS</strong></td>
<td width="156"><strong>Network NICs</strong></td>
</tr>
<tr>
<td width="156">
<pre>Domain Controller
 DNS</pre>
</td>
<td width="156">
<pre>DC1</pre>
</td>
<td width="156">
<pre>Windows Server 2016

</pre>
</td>
<td width="156">
<pre>Local
 10.0.0.1</pre>
</td>
</tr>
<tr>
<td width="156">
<pre>SUSE Linux</pre>
</td>
<td width="156">
<pre>SQL-Linux</pre>
</td>
<td width="156">
<pre>SUSE Linux Enterprise Server (SLES) v12 SP3</pre>
</td>
<td width="156">
<pre>Local (eth1)
 10.0.0.2
 
 Internet (eth0)
 DHCP</pre>
</td>
</tr>
<tr>
<td width="156">
<pre>Microsoft SQL Management 
 Studio</pre>
</td>
<td width="156">
<pre>Win-Node01</pre>
</td>
<td width="156">
<pre>Windows Server 2016</pre>
</td>
<td width="156">
<pre>Local
 10.0.0.3</pre>
</td>
</tr>
</tbody>
</table>
&nbsp;
<h1 class="x-hidden-focus" id="install">Install SQL Server</h1>
NOTE: On SUSE Linux machine, verify internet is accessible
<ol>
 	<li>Login to SUSE Linux</li>
</ol>
<img width="628" height="476" class="alignnone wp-image-346" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/LoginSuseLinux01.jpg" />

2. Open Terminal Window on SUSE Linux. Click on Application | System Tools | Terminal

<img width="625" height="470" class="alignnone size-full wp-image-356" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux02.jpg" />

3. <span>Download the Microsoft SQL Server SLES repository configuration file:</span>

Run
<pre>    <span>sudo zypper addrepo -</span><span class="hljs-built_in">fc</span><span> https://packages.microsoft.com/config/sles/12/mssql-server-2017.repo</span></pre>
<img width="625" height="524" class="alignnone size-full wp-image-375" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux03.jpg" />

4. Verify 'package-microsoft-com-msmsql-server-2017' has successfully added to repository

<img width="625" height="403" class="alignnone size-full wp-image-367" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux04.jpg" />

5. Run
<pre>    <span>sudo zypper --gpg-auto-import-keys refresh</span></pre>
<span>
<img width="625" height="404" class="alignnone size-full wp-image-376" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux05.jpg" /></span>

<span>
6. Verify if all repositories are up to date are refreshed
<img width="625" height="403" class="alignnone size-full wp-image-386" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux06.jpg" /></span>

<span>7. Insert SUSE Linux DVD/attach ISO to SUSE Linux machine
Run the following commands to install SQL Server</span>
<pre>    <span>sudo zypper install -y mssql-server</span></pre>
<img width="625" height="437" class="alignnone size-full wp-image-396" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux07.jpg" /><span>
8. Verify installation has started and finish successfully</span>

<span><img width="625" height="403" class="alignnone size-full wp-image-406" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux08.jpg" />
<img width="625" height="403" class="alignnone size-full wp-image-415" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux09.jpg" />
</span>

Run 'Clear' (same as 'cls' command in Windows cmd) to clear the Terminal Window

10. <span>After the package installation finishes, run </span><strong>mssql-conf setup</strong><span> and follow the prompts to set the SA password and choose your edition.</span>
<pre><span>sudo /opt/mssql/bin/mssql-conf setup</span></pre>
<img width="625" height="403" class="alignnone size-full wp-image-425" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux10.jpg" />

11. Choose the SQL edition. Please note few editions as free and few needs a license or are PAID.

Evaluation, Developer and Express versions are freely licensed

<img width="625" height="403" class="alignnone size-full wp-image-435" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux11.jpg" />

12. Accept the license terms

<img width="625" height="407" class="alignnone size-full wp-image-445" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux12.jpg" />

13. Enter the SQL Server system Administrator password

Note: <span>Make sure to specify a strong password for the SA account (Minimum length 8 characters, including uppercase and lowercase letters, base 10 digits and/or non-alphanumeric symbols).</span>

<img width="625" height="407" class="alignnone size-full wp-image-455" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux13.jpg" />

14. Verify if Licensing is processed successfully

<img width="625" height="407" class="alignnone size-full wp-image-475" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux141.jpg" />

&nbsp;

15. Verify setup has successfully completed and SQL Server Service has started

<img width="625" height="407" class="alignnone size-full wp-image-495" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux151.jpg" />

16. Verify if SQL Services are up and running

Run
<pre>     <span>systemctl status mssql-server</span></pre>
<img width="625" height="407" class="alignnone size-full wp-image-505" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SuseLinux15_1.jpg" />

At this point, SQL is running on SLES machine and is ready to use

&nbsp;
<h1>Connecting to SLES SQL Server remotely and create database using client tool</h1>
Since SQL services are up and running, we can go ahead and connect the SQL Server. In this article, i am using SQL Management Studio tool running on Windows machine to connect SLES SQL instance remotely

<strong>Note:</strong> Since SUSE Linux in not a domain joined machine, please make sure name resolution is working fine (add Suse linux details in DNS if required manually)

<strong>Note:</strong> Make sure port 1433 is allowed on SUSE Linux Firewall. In my setup, NIC 'eth1' is on local network and NIC 'eth0' is connected to the internet. I have enabled port 1433 on internal NIC 'eth1'

<img width="625" height="419" class="alignnone size-full wp-image-515" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLConnect1.jpg" />t

<img width="625" height="419" class="alignnone size-full wp-image-516" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLConnect1_1.jpg" />
<ol>
 	<li>Login on to the Windows machine 'Win-Node01' running SQL Management Studio. Open SQL Engagement Studio and enter below details<strong>Server Nam</strong>e: SQL-Linux.corp.contoso.com<strong>Authentication</strong>: SQL Server Authentication<strong>Login</strong>: Sa<strong>Password</strong>: &lt;sa password given at the time of installing SQL&gt;<img width="625" height="419" class="alignnone size-full wp-image-526" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLMgtStudio1.jpg" /></li>
 	<li>Verify if SQL is connected successfully running on SUSE LINUX machine</li>
</ol>
<img width="625" height="522" class="alignnone size-full wp-image-535" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLMgtStudio2.jpg" />

<img width="624" height="349" class="alignnone size-full wp-image-555" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLMgtStudio2_1.jpg" />

<img width="624" height="349" class="alignnone size-full wp-image-575" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLMgtStudio2_21.jpg" />

3. Create testing Database, Table and retrieve the records.

Open 'New Query' windows in Microsoft SQL Management Studio and type below and execute:

&nbsp;
<pre>CREATE DATABASE SUSE

GO

USE SUSE

Create Table Employee (ID INT, Name NVARCHAR(50), CITY NVARCHAR(10))

INSERT INTO Employee VALUES (1, 'Bill', 'New Jersey');

INSERT INTO Employee VALUES (2, 'Jack', 'New York');

Go

Select * from Employee

Go




</pre>
<img width="632" height="388" class="alignnone size-full wp-image-585" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/SQLMgtStudio3.jpg" />
<h1>Resources</h1>
https://www.suse.com/products/server/

https://www.suse.com/products/server/download/

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>OMS Upgrade Readiness with Configuration Manager</title>
      <link>https://docs.microsoft.com/archive/blogs/rogoel/oms-upgrade-readiness-with-configuration-manager</link>
      <pubDate>Tue, 18 Jul 2017 00:02:40 GMT</pubDate>
      <dc:creator><![CDATA[Rohit Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rogoel/?p=25</guid>
      <description><![CDATA[Introduction
Upgrade Readiness is offered as a solution in the Microsoft Operations Management...]]></description>
      <content:encoded><![CDATA[<h1>Introduction</h1>
Upgrade Readiness is offered as a solution in the Microsoft Operations Management Suite (OMS), a collection of cloud based services for managing on premise and cloud computing environments. If you’re already using OMS, you’ll find Upgrade Readiness in the Solutions Gallery. Click the Upgrade Readiness tile in the gallery and then click Add on the solution’s details page. Upgrade Readiness is now visible in your workspace. If you are not using OMS, go to the Upgrade Readiness page on Microsoft.com and select Sign up to kick off the OMS onboarding process. During the onboarding process, <strong>you’ll create an OMS workspace and add the Upgrade Readiness solution to it</strong>.

You can use Upgrade Readiness to prioritize and work through application and driver issues, assign and track issue resolution status, and identify computers that are ready to upgrade. Upgrade Readiness enables you to deploy Windows with confidence, knowing that you’ve addressed potential blocking issues.
<ul>
 	<li>Based on telemetry data from user computers, Upgrade Readiness identifies application and driver compatibility issues that may block Windows upgrades, allowing you to make data-driven decisions about your organization’s upgrade readiness.</li>
 	<li>Information is refreshed daily so you can monitor upgrade progress. Any changes your team makes, such as assigning application importance and marking applications as ready to upgrade, are reflected 24 hours after you make them.</li>
</ul>
&nbsp;

&nbsp;
<h1>Prerequisites</h1>
<ul>
 	<li>In order to add the connection, your Configuration Manager environment must first configure a <a href="https://docs.microsoft.com/en-us/sccm/core/servers/deploy/configure/about-the-service-connection-point">service connection point</a> in an <a href="https://azure.microsoft.com/en-us/documentation/articles/resource-group-create-service-principal-portal/">online mode</a>. When you add the connection to your environment, it will also install the Microsoft Monitoring Agent on the machine running this site system role.</li>
 	<li>Register Configuration Manager as a “<strong>Web Application and/or Web API</strong>” management tool, and get the <a href="https://azure.microsoft.com/documentation/articles/active-directory-integrating-applications/">client ID from this registration</a>.</li>
 	<li>Create a client key for the registered management tool in Azure Active Directory.</li>
 	<li>In the Azure Management Portal, provide the registered web app with permission to access OMS, as described in <a href="https://azure.microsoft.com/en-us/documentation/articles/log-analytics-sccm/#provide-configuration-manager-with-permissions-to-oms">Provide Configuration Manager with permissions to OMS</a>.</li>
</ul>
&nbsp;

<em> </em>
<h1>Environment</h1>
<table>
<tbody>
<tr>
<td width="157">Demo System Roles</td>
<td width="64">Names</td>
<td width="191">OS</td>
<td width="124">Network NICs</td>
<td width="164"> Required KBs</td>
</tr>
<tr>
<td width="157">Domain Controller</td>
<td width="64">DC1</td>
<td width="191">Windows Server 2016</td>
<td width="124">Local</td>
<td width="164"></td>
</tr>
<tr>
<td width="159">Configuration manager</td>
<td width="64">CM1</td>
<td width="193">Windows Server 2016

Configuration Manager 1702</td>
<td width="124">Local

Internet</td>
<td width="161"></td>
</tr>
<tr>
<td width="157">Windows 7 SP1</td>
<td width="64">Win7</td>
<td width="191">&nbsp;

Windows 7</td>
<td width="124">Local

Internet</td>
<td width="164"><a href="https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB2952664">KB2952664 </a>

<a href="https://catalog.update.microsoft.com/v7/site/Search.aspx?q=3150513">KB 3150513</a></td>
</tr>
<tr>
<td width="157">Windows 8.1</td>
<td width="64">Win8</td>
<td width="191">Windows 8.1</td>
<td width="124">Local

Internet</td>
<td width="164"><a href="https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB2976978">KB 2976978</a>

<a href="https://catalog.update.microsoft.com/v7/site/Search.aspx?q=3150513">KB 3150513</a></td>
</tr>
</tbody>
</table>
&nbsp;

&nbsp;
<h1>Integrate Upgrade Readiness with Configuration manager</h1>
<strong> </strong>
<h2>Create the connection</h2>
<ol>
 	<li>In the Configuration Manager console, choose <strong>Administration</strong> &gt; <strong>Cloud Services</strong> &gt; <strong>Upgrade Readiness Connector</strong> &gt; <strong>Create Connection to Upgrade Analytics</strong> to start the <strong>Add Upgrade Analytics Connection Wizard</strong>.</li>
</ol>
&nbsp;

<img width="929" height="663" class="alignnone size-full wp-image-316" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/CreateConnection.jpg.png" />

2. On the <strong>Azure Active Directory</strong> screen, provide <strong>Tenant</strong>, <strong>Client ID</strong>, and <strong>Client secret key</strong>, then select <strong>Next</strong>.

<img width="522" height="398" class="alignnone size-full wp-image-65" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/AppRegistration.jpg" />

<img width="627" height="275" class="alignnone size-full wp-image-86" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Keys.jpg" />

<img width="568" height="375" class="alignnone size-full wp-image-75" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/configuretheconnection.jpg" />

<img width="1124" height="472" class="alignnone size-full wp-image-56" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Analyticswithkey.jpg" />
<ol start="3">
 	<li>On the <strong>Upgrade Readiness</strong> screen, provide your connection settings by filling in your <strong>Azure subscription</strong>, <strong>Azure resource group</strong>, and <strong>Operations Management Suite workspace</strong>.</li>
</ol>
<img width="974" height="558" class="alignnone size-full wp-image-46" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/AddUpgradeAnalyticsConnectionWizard.png" />

&nbsp;
<ol start="3">
 	<li>Verify your connection settings on the <strong>Summary</strong> screen, then select <strong>Next</strong>. Note You must connect Upgrade Readiness to the top-tier site in your hierarchy. If you connect Upgrade Readiness to a standalone primary site and then add a central administration site to your environment, you must delete and recreate the OMS connection within the new hierarchy.</li>
</ol>
<img width="742" height="681" class="alignnone size-full wp-image-335" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Microsoft.png" />
<h2>Complete Upgrade Readiness tasks</h2>
After you've create the connection in Configuration Manager, perform these tasks, as described in <a href="https://technet.microsoft.com/itpro/windows/deploy/manage-windows-upgrades-with-upgrade-readiness">Get started with Upgrade Readiness</a>.
<ol>
 	<li>Add the UpgradeReadiness service to the OMS workspace.</li>
 	<li>Generate a commercial ID.</li>
 	<li>Subscribe to Upgrade Readiness.</li>
</ol>
<img width="1188" height="558" class="alignnone size-full wp-image-105" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/connectedSources.jpg" />

<em> </em>

&nbsp;
<h2>Configure and deploy Upgrade Readiness deployment script.</h2>
&nbsp;
<ol>
 	<li>Download Upgrade Readiness Deployment Script from below location:</li>
</ol>
<a href="https://www.microsoft.com/en-us/download/details.aspx?id=53327">https://www.microsoft.com/en-us/download/details.aspx?id=53327</a>

&nbsp;
<ol start="2">
 	<li>Extract the files and modify 'RunConfig.bat' file</li>
</ol>
Modify values as below:

set logPath=\\cm1\UpgradeReadinessLogs

set commercialIDValue=0144xxx-xxxx-xxxx-a321-xxxxxx7xxx

set logMode=1

<img width="1051" height="692" class="alignnone size-full wp-image-106" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/ScriptEdit.jpg" />

<img width="1275" height="690" class="alignnone size-full wp-image-115" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/ScriptEdit01.jpg" />

<strong>Note:</strong> By default, proxy settings are set to <strong>ClientProxy=Direct. If Client machines have internet access through proxy server then below 2 extra values need to be updated</strong> in 'RunConfig.bat' file

<img width="1068" height="166" class="alignnone size-full wp-image-325" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/proxy.png" />

Configure the Windows Registry value: on client computers H KL M "SOFTWA REA, P 01 Co I lection\DisabIeEnterpriseA uthProxy to 0 on client computers '
<ol start="3">
 	<li>Save the file at the location accessible while creating package in Configuration manager</li>
</ol>
&nbsp;
<h2>Create Config manager package/Program to deploy Script to client machines</h2>
It makes more sense to deploy upgrade readiness script to client machines through Configuration manager if number of clients are large

&nbsp;
<ol>
 	<li>Create upgrade readiness package and program to deploy script</li>
</ol>
<img width="1293" height="701" class="alignnone size-full wp-image-125" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package01.jpg" />

&nbsp;
<ol start="2">
 	<li>Set the command line as 'RunConfig.bat'</li>
</ol>
<img width="1229" height="692" class="alignnone size-full wp-image-135" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package02.jpg" />

&nbsp;
<ol start="3">
 	<li>Set the requirements for preferred platforms. Setting it to Windows 7 and Windows 8.1 64-bit</li>
</ol>
<img width="1122" height="604" class="alignnone size-full wp-image-145" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package03.jpg" />

&nbsp;
<ol start="4">
 	<li>Update distribution point</li>
 	<li>Create Test collection and move client machines to new collection</li>
 	<li><img width="1131" height="180" class="alignnone size-full wp-image-147" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package04.jpg" /></li>
 	<li>Deploy 'UgradeReadinessScript' to 'Windows Upgrade Readiness' collection</li>
 	<li><img width="1172" height="539" class="alignnone size-full wp-image-156" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package05.jpg.png" /></li>
</ol>
<img width="782" height="546" class="alignnone size-full wp-image-165" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package06.jpg" />

<img width="773" height="473" class="alignnone size-full wp-image-175" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package07.jpg" />

<img width="752" height="415" class="alignnone size-full wp-image-185" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package08.jpg" />

<img width="766" height="443" class="alignnone size-full wp-image-195" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package09.jpg" />

&nbsp;

<img width="768" height="517" class="alignnone size-full wp-image-196" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package10.jpg" />

<img width="756" height="511" class="alignnone size-full wp-image-205" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package11.jpg" />

<img width="764" height="644" class="alignnone size-full wp-image-207" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package12.jpg" />
<ol start="4">
 	<li>Refresh Policies on Client machines</li>
 	<li>Once client get the policies from Management point, script will get installed</li>
 	<li><img width="1267" height="826" class="alignnone size-full wp-image-215" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package13.jpg" /></li>
</ol>
<img width="982" height="372" class="alignnone size-full wp-image-225" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package14.jpg" />

&nbsp;
<ol start="9">
 	<li>On Windows machine 7</li>
</ol>
<img width="969" height="711" class="alignnone size-full wp-image-235" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package15.jpg" />

<img width="1002" height="644" class="alignnone size-full wp-image-245" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package16.jpg" />
<ol start="10">
 	<li>Check log file for script successfully completion on CM1 Server</li>
</ol>
<img width="1217" height="650" class="alignnone size-full wp-image-246" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/Package17.jpg" />
<h2>Upgrade Readiness view on Azure</h2>
It is important to disable Upgrade readiness demo data in OMS before we could see the actual data coming in. For disabling the Demo mode, Go to ‘Upgrade readiness’ settings and select ‘Disable’ switch for Demo Mode.

It could take up to 48-72 hours to start seeing the data online.

<img width="1864" height="809" class="alignnone size-full wp-image-256" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/DemoMode.jpg" />

‘Upgrade Readiness’ portal view once data start populating

<img width="1556" height="746" class="alignnone size-full wp-image-265" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/UpgradeReadiness.jpg" />

<img width="1910" height="582" class="alignnone size-full wp-image-275" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/UpgradeReadiness01.jpg" />

<img width="1706" height="663" class="alignnone size-full wp-image-276" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/UpgradeReadiness02.jpg" />

<img width="1920" height="955" class="alignnone size-full wp-image-286" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/UpgradeReadiness03.jpg" />

&nbsp;

Configuration Manager ‘Upgrade Analytics’ data populated through connector in configuration manager | Monitoring | ‘Upgrade Analytics’. This data could also take 48-72 hours to start populating once data is visible on OMS.

<strong> <img width="1353" height="728" class="alignnone size-full wp-image-295" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/07/UpgradeReadinessSCCM.jpg" /></strong>

<strong>Troubleshooting Upgrade Readiness</strong>

<a href="#OMS%20Gateway%20Server%20(installed%20on%20the%20server%20that%20has%20internet%20or%20has%20internet%20proxy%20access)&amp;section-id={1543CABF-0BB0-44E9-A720-930A50788CBD}&amp;page-id={E41E8B60-2D89-4C86-A871-7CA1FCBF9D71}&amp;object-id={BFF91716-F00C-48A0-A095-907">Upgrade Readiness deployment script</a>

<a href="https://docs.microsoft.com/en-us/windows/deployment/upgrade/troubleshoot-upgrade-readiness">https://docs.microsoft.com/en-us/windows/deployment/upgrade/troubleshoot-upgrade-readiness</a>]]></content:encoded>
    </item>
    <item>
      <title>Hello world!</title>
      <link>https://docs.microsoft.com/archive/blogs/rogoel/hello-world</link>
      <pubDate>Mon, 17 Jul 2017 14:33:31 GMT</pubDate>
      <dc:creator><![CDATA[rogoel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rogoel/?p=1</guid>
      <description><![CDATA[Welcome to Technet. This is your first post. Edit or delete it, then start blogging!]]></description>
      <content:encoded><![CDATA[Welcome to <a href="https://blogs.technet.microsoft.com/">Technet</a>. This is your first post. Edit or delete it, then start blogging!]]></content:encoded>
    </item>
  </channel>
</rss>