Author: Adam Fowler

Diverting Unassigned Numbers in Lync 2010

Lync 2010 with Enterprise Voice attaches a phone number to a user with a direct one to one relationship. This means that when a user departs, the account should get disabled along with any Lync attachments. In turn, this abandons the phone number that was attached to the user. All great by design, but what about external people that are still calling the number of the departed user?

You could leave the user’s Active Directory account disabled, leave Lync attached and configure it that way, but that’s a big hassle. Microsoft covers this scenario with a feature called “Unassigned Number”.

Unassigned Number lets you configure an Announcement on an entire number range. The idea is that if any extension in the number range configured (which can be a single number) is called and isn’t attached to a user, it will divert the call to either an Announcement or an Exchange UM Auto Attendant number. Generally just the Announcement is fine, because the Announcement can be configured to be nothing, but divert the call to wherever you want it to go afterwards.

The Announcement needs to be configured before you create an Unassigned Number Range, which can only be managed by PowerShell. The Unassigned Number Range can be created via the Lync Control Panel GUI or PowerShell which seems a bit inconsistent.

Creating an Announcement is rather easy still, with a great guide from TechNet here. The important bits are to give your Announcement a name, tell it which Lync Pool to use and give it a target SIP address to send the call to. An example command do this is:

New-CsAnnouncement -Identity ApplicationServer:lyncpool.mydomain.com -Name “Forward Announcement” -TargetUri sip:[email protected]

Note that if you use a direct phone number for the sip address, you need to append “;user=phone” or it won’t work, so the sip address should look like this: “sip:[email protected];user=phone”

Once that has been created (run a ‘get-csannouncement’ to see all the Announcements you have) you can then use PowerShell or the Lync Control Panel to create your Unassigned Number Range if you feel more comfortable there. A guide on how to do this is available from Microsoft Technet here.

All you need to do for the Unassigned Number range is give it a name, tell it the number range to start from and end (which if you have multiple sites, you’ll need multiple ranges), the name of the Announcement you want to use (i.e. where you want the call to divert to) and finally which Lync Pool server/Application Server the Announcement lives on.

Based on the Announcement above, this is what the Unassigned Number command would look like:

New-CsUnassignedNumber -Identity “Unassigned Number Range 1” -NumberRangeStart “+61712345000” -NumberRangeEnd “+161712345099” -AnnouncementName “Forward Announcement” -AnnouncementService ApplicationServer:lyncpool.mydomain.com

The number range start and end just need to be in standard international telephone format: +xx being the country code (+61 for Australia, +1 for US) and then the local number (In Australia we drop the 0 at the front).

Again, you can run a ‘get-csunassignednumber’ command to see how it’s been configured.

Once you’ve done the above, you’re set. Try calling any unassigned number that you have and it should divert to the sip address you configured on the Announcement. If they’re a Lync user (as you can enter a phone number and divert these calls out) they will also get a message with the incoming call saying it was diverted from the originally dialled number.

If you have a special requirement where a particular number range needs to go elsewhere, you can just create more Announcements and unassigned number ranges – the order of the unassigned number ranges will define which range rule is applied with a highest first approach.

I believe this is very similar in Lync 2013, and would recommend that anyone using Lync with Enterprise Voice set this up for easier management of their phone system, but also to make sure no important business calls are missed.

Nokia Lumia 1520 Review

Nokia’s shot at the growing phablet market.

On the 11th December 2013, Nokia released its latest Windows Phone in the Lumia range – the 1520.

Following up from the Lumia 1020 with its flagship 41 megapixel camera, Nokia went for a different extreme on the 1520 with a 6 inch display.

Other impressive specifications include a full HD 1920 x 1080 resolution on the giant display, a 20 megapixel camera (which is still better than most other smartphones on the market), a quad-core processor, and finally a 3400mAh battery. That beefy battery is supposed to provide 32 days standby time, and my heavier real-world use averaged 2 to 3 days between charges.

Software-wise, this is the first phone to run Nokia’s “Black” update which will end up being available to all Lumias, so that’s no reason to consider this particular phone. The hardware is what makes it or breaks it, so that’s what this review will focus on.

 

wp_ss_20131227_0001Lumia Black

Good

Weight wise, it’s not a light phone at 209g. It is much heavier than an iPhone 5S at 115g or a Samsung Galaxy Note 3 at 168g, but I don’t consider it too heavy.

The screen is the number one reason I’d recommend this phone. The amount of real estate you get will make you reconsider using a laptop to do lighter tasks, and the large number of tiles you can fit on a single screen means you can glance at your phone and see everything you need to know.

 

wp_ss_20131224_0001The home screen fits a crazy amount of fully customisable tiles.

The long battery life means that you’re much less worried about charging your phone at every chance you get, which is a refreshing change from most other smartphones.

Bb9ViqtCQAAa1xc
“Battery” app – free from Enless Soft

 

Bad

There is only one official case for the 1520, and that’s the CP-623. It’s the standard ‘clip on the corners’ cover that most other Lumias have available, but with an added protective flap. The flap doubles as a stand, but it’s not stable enough to actually use the phone while in stand mode. It can only be stood sideways, and many things don’t actually rotate sideways (like the all-important home screen) so it has very limited functionality.

Other accessories like official charging stands and car chargers don’t fit this gargantuan particularly well either. They do work, but it’s a bit of a balancing act to put the 1520 on a charging stand, and a very tight squeeze to fit in the car charger when the official case is attached too.

Other

I’m still not sure if the size of this device is a good or a bad thing, and that should come down to individual taste. When I first held it, I thought it’d be too big. Initially it felt a bit weird both sitting in my pocket as well as just holding it, but after a week or so I’m now used to it. I came from a Nokia Lumia 1020 which is still a decent 4.5″ screen, but this phone does take some getting used to.  You’re going to need a large pocket to carry it around.

Summary

The Nokia Lumia 1520 is a solid phone. It’s faster than any other Lumia before it, with the best battery life and screen so far in the Lumia range. Once you get used to its size, it may end up being your default ‘go-to’ device for most basic tasks, as it’s already in your pocket (or half sticking out of it). I’m already worried how I’d go back to a smaller phone, and that’s a good sign.

Nvidia GTX 560ti to AMD R9 280X Upgrade

It was time to update my graphics card. I decided this because I’d been playing a lot of Battlefield 4 and there was some occasional screen ripping. So, did I see much of an improvement with this jump?

My system specs are:

Motherboard: AsRock Z68 Extreme3 Gen3
CPU: Intel i5-2500K CPU @3.3Ghz
HDD: Corsair Force 3 SSD 120gb
RAM: 2 x 4gb 1333mhz DDR3 G.Skill
Graphics: 1GB NVidia GeForce GTX 560 Ti with GeForce driver 334.57 Beta

First I thought I’d run the inbuilt Windows Experience Index to see how that went. In Windows 8.1 I was surprised to not actually find this option, and found out after reading this article that Microsoft had now made it command line only.

WP_20140215_08_52_42_ProNVIDIA GTX 560ti

My results were:

CPUScore : 7.8
D3DScore : 8.2
DiskScore : 7.3
GraphicsScore : 8.2
MemoryScore : 7.8

Next up was a 3DMark Demo, which had the following results:

http://www.3dmark.com/3dm/2456981
(note – no idea why RAM is running at 800mhz, so will investigate later)

FIRE STRIKE 1.1 3132

CLOUD GATE 1.1 14936

ICE STORM 1.2 156208
Enough tests, time to replace a graphics card!

I purchased a 3GB Sapphire AMD R9 280X. I could have gone the NVIDIA GTX 760 for a little less, but that was the 2GB variant. There was a 4GB variant, but that was slightly more expensive than the AMD card, so I decided the 3GB was a good middle ground and should last a bit longer with the extra memory.

The install went rather smoothly, until I installed the AMD drivers via Windows Update. They successfully installed, but then doing simple things like right clicking on the desktop took ages to bring up a menu. I decided to uninstall anything NVIDIA I could find, but some of the programs just wouldn’t uninstall.

I decided to use Display Driver Uninstaller which promises to clean up everything relating to the display driver you choose. Word of warning – when it has three options and one is ‘unrecommended’ but you’re being lazy trying to avoid reboots, don’t choose that option. I ended up getting screens that wouldn’t display anything properly, so had to recover to a last known working version of Windows 8.1 (which is rather easy to do!).

Attempt #2 I ran the safe mode option to uninstall NVIDIA using the above tool, and it worked perfectly. After rebooting, right clicking on the desktop was instant and everything NVIDIA related was gone from Programs and Features in Windows.

  WP_20140215_08_52_48_ProAMD R9 280X

So, first up is an updated Windows Experience:

CPUScore : 7.8
D3DScore : 8.2
DiskScore : 7.3
GraphicsScore : 8.2
MemoryScore : 7.8

The exact same scores. Weird as I’d run the ‘winsat prepop’ and saw it rerun all the tests. I thought I’d try a tool that ran a GUI interface over the command with probably a few extra smarts – CHRISPC WIN EXPERIENCE INDEX which worked easily and is a neatly written and designed bit of software.

This gave different results of 8.5 for the GraphicsScore and D3DScore.

How about the 3DMark results? Here’s the updated results:

http://www.3dmark.com/3dm/2457909

FIRE STRIKE 1.1 7244

CLOUD GATE 1.1 19054

ICE STORM 1.2 173745

A huge improvement in numbers.

Back to Battlefield 4 and without changing any settings, everything felt a lot more fluid for movement. I changed the settings back to ‘auto’ and noticed even more improvements – a lot of textures were smoother and generally better looking.

WP_20140215_08_52_36_ProAbove: AMD R9 280X – Below: NVIDIA GTX 560ti

Size wise, the newer AMD card is much larger, but this is partly because it’s a higher end video card than the NVIDIA. At time of purchase the AMD was $388AU.

Overall I’m happy with my decision as it gave me the better experience I was looking for. If you’re considering a similar upgrade then keep in mind the added power requirements for a higher end video card.

100,000 Hits!

I am proud to announce that adamfowlerit.com has hit 100k views! I purchased the domain in December 2012 with a total of 52 views for that month (probably all me). January 2014 saw 15,281 views so it’s come a long way!

I wouldn’t have bothered continuing with the website if it wasn’t for everyone’s feedback, comments and discussion. Every comment that isn’t spam (and yes there’s a lot of that, but it gets filtered out really well) means something to me, because hopefully the information I’m posting is helping them.

I.T. is so much based on the sharing of information, and anyone reading this post just like me has searched online countless times to find the answer to a question. If nobody bothers sharing their findings, all this becomes useless.

There’s also a lot of ‘bad’ information out there, but it’s usually written by well meaning people. For me, it’s like the scientific method – I’ll post my findings, but am more than happy to be corrected on any of it. I’m after the truth, which is why it’s important to add to the information I see as ‘bad’ and correct it. I could be wrong then too, and hopefully someone corrects me.

My point is, it’s your responses to what I write that keeps me going. Any feedback positive or negative is appreciated and wanted (unless it’s about my mother) so please share any thoughts you have – article ideas are welcome too.

Again, thank you for making this an enjoyable site to maintain and contribute to.

Password Expiry Notification Script

Going back to basics can often be a good solution to a problem. Emailing users letting them know that their password will expire soon is usually the most broad way of letting everyone know. If they are using ActiveSync only to get their emails, they won’t be notified when their password expires until it stops working.

With that in mind, I set out to find a simple script that runs daily, to let people know when their password is due to expire.

There’s a lot out there, but I wanted to use PowerShell and set it as a daily scheduled task.

Technet had a great one here from Johan Dahlbom. Except it didn’t work for me, as I recieved the error when testing:

get-aduser : One or more properties are invalid.

After some research, I found this blog post which had my exact issue. It seems that PowerShell v4 which comes with Windows 8.1 and Windows Server 2012 R2 doesn’t like the wildcard for -properties when running a get-aduser command, such as :

get-aduser -filter * -properties *

Richard Siddaway’s solution was to pipe it out and use get-object instead, but that doesn’t give all the same results as the original.

Instead I chose to specify the actual fields needed which turned the command into:

get-aduser -filter * -properties enabled, passwordneverexpires

That worked perfectly. So after adjusting a few parts of the script, I had it working.

I then decided that I didn’t want a daily email going out saying ‘You have 7 days” then “You have 6 days” etc, but just 2 variables – 7 days and 1 day.

So, here is the script (downloadable here: Password Change Notification)

#################################################
# Please Configure the following variables….
# expireindays1 + 2 = At what count of days left on a password do you want a notification?
$smtpServer=”smtp.yourmailserver.com”
$expireindays1 = 7
$expireindays2 = 1
$from = “Name <[email protected]>”
#################################################

#Get Users From AD who are enabled
Import-Module ActiveDirectory
$users = get-aduser -filter * -Properties enabled, passwordneverexpires, passwordexpired, emailaddress, passwordlastset |where {$_.Enabled -eq “True”} | where { $_.PasswordNeverExpires -eq $false } | where { $_.passwordexpired -eq $false }

foreach ($user in $users)
{
$Name = (Get-ADUser $user | foreach { $_.Name})
$emailaddress = $user.emailaddress
$passwordSetDate = (get-aduser $user -properties passwordlastset | foreach { $_.PasswordLastSet })
$PasswordPol = (Get-AduserResultantPasswordPolicy $user)
# Check for Fine Grained Password
if (($PasswordPol) -ne $null)
{
$maxPasswordAge = ($PasswordPol).MaxPasswordAge
}

else
{
$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
}

$expireson = $passwordsetdate + $maxPasswordAge
$today = (get-date)
$daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
$subject=”Your password will expire in $daystoExpire days”
$body =”
Dear $name,
<p> Your password will expire in $daystoexpire day(s).<br>
To change your password, do these things<br>
For remote password changes, sign in to this address and change it there’ <br>
<p>Thanks, <br>
IT
</P>”

if (($daystoexpire -eq $expireindays1) -or ($daystoexpire -eq $expireindays2))
{
Send-Mailmessage -smtpServer $smtpServer -from $from -to $emailaddress -subject $subject -body $body -bodyasHTML -priority High

}

}