Get-AssignedLineURI has been updated twice

Get-AssignedLineURI has seen two updated since my previous post. The first update came back in June, and the second one just yesterday.

I am trying my best to add information I find useful, and incorporate these as soon as I have time. My latest additions are most tied to license counting. So many of my customers have the headace of knowing how many licenses the have, what they have deployed and if the required functionality is being used.

My latest addition is a connection to the monitor database, to verify user last logon, and the use of conferencing for a particular user. I also copied the send_email function from the backup script. This script can now be run as a task, and send a report to a desired mail address.

Here’s a short list of my updates:

V 3.6 – June 2015:

  • New feature: If a Monitor database is detected, and connection is possible, the script will now add “last log on” and “last conference initiated” information to the output

V 3.7 – September 2015

  • New feature: LicinfoHTML -> A parameter to gather license info and add it to the html output
  • New feature: Send the report in an e-mail

 

License count in HTML output

One of the new features I would like to highlight is the license count in the HTML output.

By using -LicInfoHTML and -CreateHTMLOutput togehter, you should get a summary on top of the HTML report similar to the following image:

report summary

Listed above are the total number of users, how many of them have only peer-2-peer functionality, how many have the enterprise license (conferencing) and how many enterprise voice enabled users there are. Along with the previous information added by counting devices.

Using Monitor Data

I added the -usemonitordatabase back in June, but forgot to post about it. But it is a very useful addition for gathering information about your deployment. Using this switch requires access to the monitor database (both user rights and network access), and will increase the time taken to complete the script.

Connecting to the Monitor Database adds a wealth of information, but I have chosen to focus on three pieces of the puzzle. The last logon preformed by the user, the last time he/she initiated a conference and whether or not the user has an enterprise license. Adding these as columns to the end of the line for each user, you should get information similar to the following:

confr_use

In the example above you can see there is a user who has not been logged in for the duration of the log files, there are users who initiates conferences, and there are users not assigned with conference rights.

This information can be useful when deciding who gets to keep their enterprise license or not (if saving cost is an issue), identify users who do not log on and ccould be disabled or maybe encouraged to log on and participate.

Two words of warning regarding the information above:

  • This report is based upon logged data. Check your retention time to figure out how “valid” the above statements are. Needles to say, the longer the period of data history, the more accurate the report is.
  • If a user has not logged in for a while, that is no reason to disable that user. But could be a reason to investigate if the user should be disabled or not. A long absence from logging in can be due to Holiday, maternity/paternity leave or other valid reasons. (Again, depending on your history of data, this information can be inaccurate)

I use the “last logged in” information mostly during a deployment of a new customer. It can easily identify late adopters of the solution.

Download:

The script is available for download at the Technet Gallery

I hope you find these changes useful. And as always, I appreciate feedback ;)

Advertisements

Get-AssignedLineURI.ps1 v 3_5 released

I am still going through my scripts and verifying how they work on Skype for Business server. Get-AssignedLineURI was next in line. And as with my other scripts, I have taken the time to fix minor bugs and add features to the releases. Here are the highlights of version 3.5:

  • Code Cleanup: Moving parameters into sets, to avoid unintentional errors
  • New feature: Listing users enabled for EV, but without a lineURI present
  • New feature: Listing users disabled for EV, but with a lineURI present
  • More information: Added sip domain to the output of the search
  • Beta feature: Get the unassigned numbers from CsUnassignedNumber and quicly identify available numbers, First, first 10 or entire list
  • Beta feature: Manual number range for the unused assigned section

Moving parameters into sets, to avoid unintentional errors

As the scripts grow, they tend to have more switches added. Some of these could actually make the other not work. And to avoid conflicting switches, I have moved them into sets. Run “get-help .\get-assignedlineuri.ps1” to get a clear view of the possible combinations (or read the help file).

Listing users enabled for EV, but without a lineURI present and Listing users disabled for EV, but with a lineURI present

It is not uncommon  to make mistakes when working with EV. Two of the most common mistakes I run into is when admins disable enterprise voice and forget to remove it from the LineURI, or removes the LineURI and forget to disable EV. The first scenario doesn’t free up the number, and the second scenario still requires a EV license for the user. I used to run one-liners at deployments, to identify these “errors”, but decided I could use this script instead.

To identify if you have one the following issues, simply use the -ShowSummaryInShell switch:

get-assigned-summaryShell

To identify these objects, use the -CreateHTMLOutput switch and study the outputfile:

get-assigned-unass-html

 

 

Get the unassigned numbers from CsUnassignedNumber range

As the script was made to gather all the lineuri’s in the deployment, it was easy to incorporate a switch to identify non-used numbers based of the unassigned range:

get-assigned-unass-auto

Manual number range for the unused assigned section

And while I was at it, I created an option to provide a manual start and end range. This way it’s is easy to find a number in a specific range, and the script doesn’t have to go through all your ranges to find just on number.

get-assigned-unass-manual

 

License information

I have also gone through the license information output, and I think the new output makes more sense:

get-assigned-licinfo

Download:

The script is available for download at the Technet Gallery

I hope you find these changes useful. And as always, I appreciate feedback ;)

V 3_4 of Search-lineuri.ps1 released

I have gone through this script, and verified it’s compatibility with Skype for Business server. And while doing so, and I did a few changes for the script. Here are the highlights of v 3.4:

  • Cleanup: Using paramter sets to seperate the different options (see comment below)
  • Bugfix: URIsearch is now mandatory when using -search parameter
  • Change: Default directory is now “UCDoc” (see comment below)
  • Change: Only one parameter for filename: $fileXML
  • Bugfix: Running a test, to avoid known issues with get-csmeetingroom and Lync 2010  (see comment below)

Cleanup: Using paramter sets to seperate the different options

The script have a lot of different switches, which really should not be mixed. In previous versions it was up to the user to avoid these errors. New parameter sets should now prevent a bad mix from ever happening.

Default directory is now “UCDoc”

The default path used to be “c:\Lync Documentation”. I changed the path to “c:\UCDoc” as a more neutral choice.

Running a test, to avoid known issues with get-csmeetingroom and Lync 2010

To avoid blood red text (on in some instances script hangs), I now run a test for the software version before running get-csmeetingroom (not available in Lync 2010 versions).

Hope find these updates useful, and I do appreciate feedback if you have questions or suggestions.

The script can be downloaded from the Technet Gallery