<?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>Mike O'Neill's TechNet Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mconeill/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mconeill/feed.xml</link>
    <description>Technology information from a Microsoft Senior Premier Field Engineer (PFE)</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:12:57 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Blog moving</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/blog-moving</link>
      <pubDate>Mon, 01 Oct 2018 09:00:14 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1515</guid>
      <description><![CDATA[This blog site is moving to a new URL location: https://mikeoneill.blog/

Thank you for following...]]></description>
      <content:encoded><![CDATA[<span style="color: #000000;font-family: Calibri">This blog site is moving to a new URL location: <a href="https://mikeoneill.blog/">https://mikeoneill.blog/</a></span>

<span style="color: #000000;font-family: Calibri">Thank you for following and I look forward to seeing you at the new place. </span>

<span style="color: #000000;font-family: Calibri">Mike</span>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Get-NetConnectionProfile for Windows 7</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/get-netconnectionprofile-for-windows-7</link>
      <pubDate>Mon, 16 Jul 2018 08:00:44 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=905</guid>
      <description><![CDATA[As customers are still working with Windows 7 and PowerShell (PS) versions before 3.0, sometimes...]]></description>
      <content:encoded><![CDATA[As customers are still working with Windows 7 and PowerShell (PS) versions before 3.0, sometimes there are work a rounds needed. You can upgrade your PS version on Windows 7 to a <a href="https://www.microsoft.com/en-us/download/details.aspx?id=54616">newer version</a>, but that’s not always an option for everyone.

One of the newer cmdlets available in PS 3+ is the <a href="https://docs.microsoft.com/en-us/powershell/module/netconnection/get-netconnectionprofile?view=win10-ps">Get-NetConnectionProfile</a> that gets a connection profile associated with one or more physical network adapters. A connection profile represents a network connection.

If you don’t have the luxury of updating PS on a Windows 7 machine, I worked up this little function to help people, leveraging the underlying .NET process from the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa370784(v=vs.85).aspx">INetwork:Getname method</a>. Just copy/paste the code into ISE, or Visual Studio, or add it into your profile, or even add it into a module on the machine you need it to run. This allows you to reuse the code as needed. I didn’t add any additional code to remote into other machines, maybe in the future if there is enough need.

Function Get-NetConnectionProfileWin7 {
&lt;#
.Synopsis
Works in Windows 7 with PS 2
.DESCRIPTION
Function that gets a connection profile associated with one or more physical network adapters.
A connection profile represents a network connection.
.EXAMPLE

Get-NetConnectionProfileWin7

.NOTES
Created for Windows 7 and PS 2.0+.
#&gt;

$NetworkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID(‘DCB00C01-570F-4A9B-8D69-199FDBA5723B’))

$NLM_ENUM_NETWORK_CONNECTED = 1
$NLM_ENUM_NETWORK_DISCONNECTED = 2
$NLM_ENUM_NETWORK_ALL = 3

foreach($net in $NetworkListManager.GetNetworks($NLM_ENUM_NETWORK_CONNECTED))

{

Write-Host "Name: "$net.GetName() -ForegroundColor Green

Write-Host "Status of connection: " $net.IsConnected

Write-Host ""

}

}

&nbsp;

Here is a .ps1 file zipped up if you want the code in this format.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/Get-NetConnectionProfileWin7.zip">Get-NetConnectionProfileWin7</a>]]></content:encoded>
    </item>
    <item>
      <title>FieldNote: Scanned firewall, found TCP ports open: 25, 80, 443</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/fieldnote-scanned-firewall-found-ports-open-25-80-443</link>
      <pubDate>Mon, 09 Jul 2018 08:00:26 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1375</guid>
      <description><![CDATA[One time, I had a phone call from the ISP for the company I was working at and they said they did a...]]></description>
      <content:encoded><![CDATA[One time, I had a phone call from the ISP for the company I was working at and they said they did a firewall scan without notifying us. Ok, thanks for that, but next time, be honest and let us know when you are going to perform a penetration test and we’ll be happy to work with them.

They told me that the firewall was extraordinarily strong and only allowed three ports access to two specific IP addresses using the follow TCP ports: 25, 80, and 443. They mentioned it would be wise to consider closing those ports to not allow access for a more secure environment. I then thought, if I block the Exchange server from using TCP’s 25, 80/443, then no need for mail flow nor OWA. And the TCP 80/443 ports on the web server, wouldn’t need to host up any web pages for the customers. Thus, no need to pay the ISP for any bandwidth usage and save money and they would lose out on our money. Sigh…thanks for the information.]]></content:encoded>
    </item>
    <item>
      <title>Buying a car</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/buying-a-car</link>
      <pubDate>Wed, 04 Jul 2018 08:00:37 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=936</guid>
      <description><![CDATA[What? Why are talking about buying a car? I was at lunch the other day with some engineers and we...]]></description>
      <content:encoded><![CDATA[What? Why are talking about buying a car? I was at lunch the other day with some engineers and we got to talking about new cars. I’d mentioned how I had not done a lot of due diligence in the past and planned to make that change next time.

Since I have to rent lots of cars, I get the opportunity to try many different makes and models. Therefore, my plan is to rent a potential new car for say 4-5 days to see if I genuinely like it or not. I mean really, a 20-30 minute test drive to fully see how you like the car? I don’t think so.

When I mentioned that thought, everyone said it would be a really great idea. So I’m sharing with others. If you are going to spend, $15,000, $20,000, $30,000 or more for a new vehicle, why not do a thorough test.

That was it, just wanted to pass some life skills onto others. Now back to the geek.]]></content:encoded>
    </item>
    <item>
      <title>FieldNote: Palm pilot double side taped to server</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/fieldnote-palm-pilot-double-side-taped-to-server</link>
      <pubDate>Mon, 25 Jun 2018 08:00:21 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1205</guid>
      <description><![CDATA[An IT staff member found a Palm Pilot stuck to the underside of a server. It was held there with...]]></description>
      <content:encoded><![CDATA[An IT staff member found a <a href="https://en.wikipedia.org/wiki/PalmPilot">Palm Pilot</a> stuck to the underside of a server. It was held there with double sided tape and had a cord running out of the device. The engineer followed the cord, found out it was plugged into the <a href="https://www.yourdictionary.com/core-switch">core network switch</a> in the data center. It was packet sniffing network traffic that was being routed within the entire company!

After the staff confronted the vendor that had put it there, and the vendor admitted they were <a href="https://en.wikipedia.org/wiki/Packet_analyzer">sniffing packets</a>, the vendor was fired and asked to never return. Sadly, you can’t make these stories up.

Moral of the story: Keep a watchful eye out for all data center physical activity.]]></content:encoded>
    </item>
    <item>
      <title>Exchange Server 2010 with Window Server 2016 Domain Controllers</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/exchange-server-2010-with-window-server-2016-domain-controllers</link>
      <pubDate>Tue, 19 Jun 2018 20:00:41 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1505</guid>
      <description><![CDATA[I recently wrote a blog post, and have since updated it, about the Exchange supportability matrix,...]]></description>
      <content:encoded><![CDATA[I recently wrote a <a href="https://blogs.technet.microsoft.com/mconeill/2018/04/09/exchange-2010-and-windows-2016-dcs/">blog post, and have since updated it</a>, about the <a href="https://technet.microsoft.com/en-us/library/ff728623(v=exchg.150).aspx">Exchange supportability matrix</a>, stating that Exchange 2010 could not be run anywhere, within a forest with even a single Windows Server 2016 Domain Controller (DC). The Exchange product group has now updated that stance with the<a href="https://blogs.technet.microsoft.com/exchange/2018/06/19/released-june-2018-quarterly-exchange-updates/"> June 2018 updates</a>. You must install at least <a href="https://www.microsoft.com/en-us/download/details.aspx?id=57065">Exchange Server 2010 SP3 RU 22</a>. Once you have performed those upgrades to all of your 2010 Exchange servers, you can then promote Windows Server 2016 DC’s within the forest.]]></content:encoded>
    </item>
    <item>
      <title>DAG’s spread across multi-domains?</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/dags-spread-across-multi-domains</link>
      <pubDate>Mon, 18 Jun 2018 08:00:39 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=975</guid>
      <description><![CDATA[Q: Can you spread an Exchange DAG (Database Availability Group) between two domains?

A:...]]></description>
      <content:encoded><![CDATA[<strong>Q:</strong> Can you spread an Exchange DAG (Database Availability Group) between two domains?

<strong>A:</strong> No.

Now the story: Say you have a single forest named: <em>Contoso.com</em>. In that forest, you have two child domains: <em>East.Contoso.com</em> and <em>West.Contoso.com</em>. You also have Exchange servers deployed in both East and West domains, but none in the root domain. Is it possible to host some Exchange DAG nodes, in the same DAG, deployed in the East.Contoso.com child domain and others in the West.Contoso.com domain? No.

Exchange does fully support <a href="https://technet.microsoft.com/en-us/library/dd638104(v=exchg.141).aspx">AD site resilience and highly available</a> options, but all within the same domain. Accordingly, it’s best to extend a single DAG across two AD sites, where the nodes are in the same domain. The <a href="https://technet.microsoft.com/en-us/library/ff728623(v=exchg.150).aspx">Exchange Supportability matrix</a> is key to knowing which OS’s are supported and which ones are not, for the different Exchange Server versions.

Yet, there is further discussion about why. It’s not an Exchange issue, but a Windows Operating System (OS) problem. Not until Windows Server 2016 could you even have a cluster across domains: <a href="https://blogs.msdn.microsoft.com/clustering/2015/08/17/workgroup-and-multi-domain-clusters-in-windows-server-2016/">https://blogs.msdn.microsoft.com/clustering/2015/08/17/workgroup-and-multi-domain-clusters-in-windows-server-2016/</a> Therefore, unless you are on Windows OS 2016 or higher, no cross domain cluster is allowed.

Consequently, your next thought is, well, if someone is running Exchange Server 2016 on Windows Server 2016, then they can just add in an Exchange Server 2019 node to an Exchange 2016 DAG? No. And not yet, and most likely not ever. The Exchange Product Group is aware of the request, but as of this writing, the latest information is, that option is not going to be an upgrade path available. Time will tell, as the future is not yet written.]]></content:encoded>
    </item>
    <item>
      <title>PowerShell thought process</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/powershell-thought-process</link>
      <pubDate>Mon, 11 Jun 2018 08:00:43 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1325</guid>
      <description><![CDATA[One important aspect of leveraging PowerShell is to adjust your mindset. Listed are some topics to...]]></description>
      <content:encoded><![CDATA[One important aspect of leveraging PowerShell is to adjust your mindset. Listed are some topics to consider:
<ul>
 	<li><strong>Automate</strong>: Create scripts, functions, and modules to automate manual tasks. If you function up routine tasks, you and others can quickly and easily complete work duties more efficiently.</li>
 	<li><strong>Delegate</strong>: Once the functions and modules are built and deployed, task them out to others to be more efficient in their day to day responsibilities. Empower others with the functions you created to have additional people in the organization to be more efficient and effective.</li>
 	<li><strong>Eliminate</strong>: Task out scripts or fully automated processes with communication connections to other applications to eliminate the need for any human interaction of straightforward process steps. One option is to leverage <a href="https://flow.microsoft.com/">MS Flow</a> to <a href="https://sergeluca.wordpress.com/2017/12/01/upload-and-run-a-remote-powershell-script-from-microsoft-flow/">trigger PowerShell</a> on scheduled or per-event tasks.</li>
</ul>
When you modify your thinking around how PowerShell can help you and your company be more efficient, you’ll truly start to leverage the power of PowerShell. So next time you are tasked with a process, hopefully your first thought will be, ‘how can I use PowerShell to help’.]]></content:encoded>
    </item>
    <item>
      <title>Free Azure Student Accounts</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/free-azure-student-accounts</link>
      <pubDate>Mon, 04 Jun 2018 08:00:23 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1165</guid>
      <description><![CDATA[Q: I’m a student and don’t have access to a credit card, but I want to learn about cloud computing...]]></description>
      <content:encoded><![CDATA[<strong>Q:</strong> I’m a student and don’t have access to a credit card, but I want to learn about cloud computing and Azure, is that possible?

<strong>A:</strong> YES!

<a href="https://azure.microsoft.com/en-us/free/students/">Students can start building your cloud future with Azure</a>. Leverage the power of Azure, with <a href="https://azure.microsoft.com/en-us/free/students/#free-products-section">over 25 apps</a> to start to work with and study how the cloud can help you and others be more productive. Many other features are free, including <a href="https://azure.microsoft.com/en-us/training/">training</a>. Sign up now using your school information and start your future career path today.]]></content:encoded>
    </item>
    <item>
      <title>Denver based PowerShell user group</title>
      <link>https://docs.microsoft.com/archive/blogs/mconeill/denver-based-powershell-user-group-3</link>
      <pubDate>Mon, 28 May 2018 08:00:03 GMT</pubDate>
      <dc:creator><![CDATA[Mike_O'Neill]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mconeill/?p=1385</guid>
      <description><![CDATA[User groups are a fantastic way to meet up with people that share similar interests. We have setup...]]></description>
      <content:encoded><![CDATA[User groups are a fantastic way to meet up with people that share similar interests. We have setup consistent meeting times/location for the Denver based User Group to discuss PowerShell. While there are many User Groups on many topics, this one is focused on PowerShell.

The <a href="https://www.meetup.com/Denver-PowerShellers/">Denver PowerShellers Group</a> currently uses the <a href="https://www.meetup.com/">meetup.com</a> website. There are many options when it comes to coordinating with others, especially with the murid of online choices of today’s technology. So if you can, get together and share common interests and meet other people. A community is smarter than a single individual.

<span>• </span>On June 4th, 2018, 6-8 pm: <span>We'll be discussing remote options and how to leverage running PowerShell remotely between different servers/clients. </span>

<span>• What to bring</span>
<span>Bring your willingness to learn and questions about PowerShell. </span>

<span>• Link to meeting: <a href="https://www.meetup.com/Denver-PowerShellers/events/wbdmhpyxjbgb/">https://www.meetup.com/Denver-PowerShellers/events/wbdmhpyxjbgb/</a></span>]]></content:encoded>
    </item>
  </channel>
</rss>