Stop Hunting SharePoint CA URL: PowerShell + Registry Hacks

C
Collab365 TeamAuthorPublished Dec 23, 2016
361

At a Glance

Target Audience
SharePoint Administrators
Problem Solved
Wasting time manually hunting Central Administration site URL across multi-server SharePoint farms via IIS or logins.
Use Case
Quickly mapping SharePoint farm infrastructure or verifying CA host during troubleshooting on specific servers.
<p>Most SharePoint admins waste time hunting for the Central Administration site. They log into multiple servers. They dig through IIS manager hoping to spot it. It is a massive waste of time. You do not need to click around to map your infrastructure. You just need to ask the server directly.</p> <p>Here is the exact process to locate your CA URL without the guesswork.</p> <h3 id="the-n-tier-farm-search">The N-Tier Farm Search</h3><p>If you are running a multi-server architecture, you need to know exactly where your admin center lives. The fastest method is querying your web applications.</p> <p>Run this PowerShell cmdlet to pull the URL across the farm:</p> <pre><code class="hljs language-powershell"><span class="hljs-built_in">Get-SPWebApplication</span> <span class="hljs-literal">-IncludeCentralAdministration</span> | <span class="hljs-built_in">Where</span> {<span class="hljs-variable">$_</span>.DisplayName <span class="hljs-operator">-match</span> <span class="hljs-string">&quot;SharePoint Central Administration*&quot;</span>} | <span class="hljs-built_in">Select</span> DisplayName,Url </code></pre><p>That works perfectly when you just need the address. But what if you are troubleshooting a specific node? You need to verify if the machine you are currently logged into is actually the host. The previous command will not confirm that for you. </p> <p>To verify the local machine, filter by the administration property instead:</p> <pre><code class="hljs language-powershell"><span class="hljs-built_in">Get-SPWebApplication</span> <span class="hljs-literal">-IncludeCentralAdministration</span> | <span class="hljs-built_in">Where</span> {<span class="hljs-variable">$_</span>.IsAdministrationWebApplication} | <span class="hljs-built_in">Select</span> DisplayName,Url </code></pre><h3 id="the-registry-route">The Registry Route</h3><p>Sometimes you are on a server and the SharePoint PowerShell snap-in is not loaded. Do not panic. You do not need the snap-in to find the truth. The URL is hardcoded into the Windows Registry. You just need to read the right version path.</p> <p>For SharePoint 2013, query the 15.0 hive:</p> <pre><code class="hljs language-powershell"><span class="hljs-built_in">Get-ItemProperty</span> <span class="hljs-literal">-Path</span> <span class="hljs-string">&quot;HKLM:\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\15.0\WSS\&quot;</span> <span class="hljs-literal">-Name</span> CentralAdministrationURL </code></pre><p>For SharePoint 2010, simply drop down to the 14.0 path:</p> <pre><code class="hljs language-powershell"><span class="hljs-built_in">Get-ItemProperty</span> <span class="hljs-literal">-Path</span> <span class="hljs-string">&quot;HKLM:\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\&quot;</span> <span class="hljs-literal">-Name</span> CentralAdministrationURL </code></pre><p>Stop guessing where your admin center lives. Do the boring work. Run the commands. Get your answers and move on.</p>