How I used get-assignedlineuri to identify users with a missing EXT

(and prevented a couple of helpdesk calls when login to conference failed)

Here is another example of how I use the get-assignedLineURI in my deployments

I run my script with the following switch: .\Get-AssignedLineURI.ps1 -ListAsGridView

Then I use simple filters in gridview to list all users with a LineURI where EXT is empty.



This simple task identified 12 users with a missing EXT (among 300 users) in just a couple of seconds.

Using this information it was easy to fix these users, without them ever knowing they had an issue :)


Get-AssignedLineURI v3.3 released

Here is a post to let our followers know we are still committed to this project and still writing code :)

Tonight I updated my Get-AssignedLineURI.ps1 v3.3

The update contain one bugfix and one change.

BUGFIX: Now trusted endpoint count is ONLY counting endpoints with LineURI
CHANGE: ListAsGridView now includes ext and did as separate values

Download the script from the link above, and please provide feedback if you find bugs or have input on “missing” functionality.

A few examples from the get-assignedlineuri

As with the search-lineuri script, I had to make parameters mandatory to make it as flexible as I wanted it to be for my usage. If the script is run without known parameters it will throw this custom error message, and I suggest running “get-help .\Get-AssignedLineURI.ps1 -Detailed” to get the complete list of options:


One of my favorites when I try to get an overview over a new system, or just keeping tabs on an existing one, is the the showsummary in shell. It gives a quick overview over how many objects within the Lync system there are with a assigned lineuri:


Then over to one my most used parameters. I use it in all my deployments, to get a detailed view over all the deployed lineURIs on all objects within Lync in one simple HTML document. Simply run Get-AssignedLineURI.ps1 -CreateHTMLOutput (with or without the -path parameter to control where the document is created):


I think this will be enough for one post, but I will be back with more examples in the following weeks.

Use a custom number range with Get-UnusedNumbers.ps1

A big ask for the script has been to use a custom number range. The script has been dependent on that Unassigned Numbers has been defined. I am happy to announce that you are now able to use a custom range with the Get-Unused function found within the script.

How to use a custom number range

Get-Unused -RangeStart +47232323001111 -RangeEnd +47232323001190 -Name “Custom Range Norway”

  • RangeStart needs the number to be in the e.164 format
  • RangeEnd needs to be within a reasonable range of RangeStart and in the e.164 format
  • Name is optional and you can call it what fits your deployment
  • Will return the next available number


Get-Unused -RangeStart +47232323001111 -RangeEnd +47232323001190 -Name “Custom Range Norway” -ListAll $true

  • RangeStart needs the number to be in the e.164 format
  • RangeEnd needs to be within a reasonable range of RangeStart and in the e.164 format
  • Name is optional and you can call it what fits your deployment
  • ListAll set to $true will list all available numbers


Get the script at TechNet Gallery:

A few examples from search-lineuri

It’s about time to give a few examples of our scripts, and I thought I’d start out with a few basics from the search-linerui script.

I have tried to create an accurate help description with in the script, so everything should be explained with the use of  “get-help .\search-lineuri.ps1 -Detailed” but here are a few pointers with screenshots as well.

One of the errors I see when other use the script is when the run it without any parameters. When the script was first created it did not require any parameters, but in order to do all the things I want to with it I had to make parameters mandatory. If you run the script without any valid parameters, you should receive the following custom error prompt:


Try run the script with at least one parameter like “-search” to get a result:


Please observe I have set a validation on the number parameter ($URIsearch) at least 2 digits and maximum 20 digits long ([ValidateLength(2,20)]). It will cause a system error if a search is tried with fewer or longer extensions:


That’s all for now. I will post more screen shots and usage examples in the following weeks

Error in -ListAsGridView output from Search-LineURI.ps1

I was recently altered about an error in the Search-LineURI.ps1 script. (Thanks Alessio ;)

There seems to be an error when searching for an extension, and asking for the result in the ListAsGridView format. The error occurs when there is only one identity is found, and looks like this:

searchuri error

I have not been able to replicate the error when the search results in more than one result:

searchuri error2

I will try to fix this in an upcoming release, but have not found a good way to capture the error yet. If anyone know to handle this error, pleas let me know, and I’ll put your name in there.