Several of my Unified Communications team colleagues need to be able to get current copies of the topology on demand to hand to consultants or to just have some idea of what’s going on in our Lync world, but don’t have any business editing it and would rather not install the Lync Management Tools on their PCs. My team lead and I both thought that having a little script keep an up to date copy on our team’s SharePoint site was just the thing, and I pointed out that Get-CsTopology -AsXml should work quite nicely. *Should* being the important word in that sentence.
Get-CsTopology, like many things, is about 95% awesome. The 5% of not awesome is that it does not pull the Simple URLs. It fills in its best (and wrong) guess for the Phone access URLs, but shows that the Meeting URLs and the Administrative Access URL are missing, the first of which is a fatal flaw in a Lync topology.
Section of Downloaded-Topology.tbxml using the Topology Builder GUI that comes with the Lync Server 2013 management tools:
&lt;SimpleUrlConfiguration xmlns=&quot;urn:schema:Microsoft.Rtc.Management.Settings.SimpleUrl.2008&quot; UseBackendDatabase=&quot;false&quot;&gt; &lt;SimpleUrl Component=&quot;Dialin&quot; Domain=&quot;*&quot; ActiveUrl=&quot;https://join.mandie.net/dialin&quot;&gt; &lt;SimpleUrlEntry Url=&quot;https://join.mandie.net/dialin&quot; /&gt; &lt;/SimpleUrl&gt; &lt;SimpleUrl Component=&quot;Meet&quot; Domain=&quot;mandie.net&quot; ActiveUrl=&quot;https://join.mandie.net/meet&quot;&gt; &lt;SimpleUrlEntry Url=&quot;https://join.mandie.net/meet&quot; /&gt; &lt;/SimpleUrl&gt; &lt;SimpleUrl Component=&quot;Cscp&quot; Domain=&quot;*&quot; ActiveUrl=&quot;https://lyncadmin.mandie.net&quot;&gt; &lt;SimpleUrlEntry Url=&quot;https://lyncadmin.mandie.net&quot; /&gt; &lt;/SimpleUrl&gt; &lt;/SimpleUrlConfiguration&gt;
Section of the Get-CsTopology.tbxml generated by Get-CsTopology -AsXml | Out-File C:\temp\Get-CsTopology.tbxml:
Ha! There is no SimpleUrlConfiguration section! That’s probably why the Simple URLs are missing.
I got the same result whether I ran Get-CsTopology -AsXml while connected via implicit remoting or directly on a Front-End Server. This was important to try, because there are some Lync cmdlets that won’t work in implicit remoting, like New-CsCommonAreaPhone.
Get-CsTopology.tbxml is about 20kb smaller than DownloadedTopology.tbxml, so obviously, other stuff is missing – maybe just stuff that allows the latter to be uploaded as the working topology, but might be missing other stuff someone looking at the file would like to see. Anyone else seen something missing in the tbxml that Get-CsTopology -AsXml pulls? Better yet, anyone know how to fix that?