So much has been going on here at GotSpeech Central that I don’t know where to start. I’ve got a new website in development, a Microsoft Office 2013 book that I am reviewing with two other book reviews just ramping up. I also have a Windows 8 development project starting up as well as some Lync stuff going on. So, lets start with the new website.
I have stated before my desire to get into mobile development and Windows 8 development. Since getting my Surface RT I have been accelerating my training and development schedule. Now that Microsoft has lowered the Surface price I see a huge potential for developers. I don’t want to do my development under the GotSpeech banner so in keeping with past website themes I have registered GotMobileDev.com and GotMobileDev.net. The sites are still in the design and development stage but any apps I develop will be marketed under that name. The .com address will be the marketing site and the .net domain will be the technical resource site and contain how-to articles, sample code and possible discussions. No real rush to get those up but look for them in the coming weeks.
I looked at 3rd party components from Telerik (along with their Kendo UI) as well as the components from Syncfusion. But after seeing my friend Russ Fustino speak and demo at a recent MDUGJax meeting about ComponentOne I decided to go with the ComponentOne Ultimate for my needs. I like the breadth of their components and tools along with how polished and professional the components look. I won’t go into much detail here as I will be blogging about them every step of the way and will be doing a case study For ComponentOne. Keep following my blog and you will see those posts.
I have a review copy of Microsoft Office Professional 2013 Step by Step that I received and I have been reading through in preparation for doing a book review on it which I will blog in the near future.
I have been offered a copy of Getting Started with Microsoft Lync Server 2013 that I hope to be reading and reviewing in the near future. The offer was for a e-copy but I will try to get my hands on a hard copy as that is what I prefer when I am reading. Either way, that review should be coming along in the near future.
As I said, there is also more Lync development on the horizon but I can’t blog about that yet. Hint: it ties in with my Windows 8 development efforts.
Posted: July 8, 2013 in Uncategorized
One of the things you may come across in administering Lync from PowerShell is the need to setup Exchange mailboxes for your users. Since you are probably like me and either do your PowerShell scripting on the Lync front end server or on a dedicated application server rather than the Exchange server you may be wondering how to do this.
In reality it is quite easy though when I first tried this I found some conflicting methods of ding this on the Internet. The old adage that you can’t believe everything you read on the Internet holds true again. Several things I read and tried simply didn’t work So, I am going to show you what worked for me.
The following code will allow you to setup a remote session from the box you are working on to Exchange server. Once you have done this then you can proceed with any Exchange PowerShell tasks that you may have.
1: $user = "GotSpeech\Administrator"
2: $pass = ConvertTo-SecureString -AsPlainText "SecretPassword" -Force
4: # This version will prompt the user for credentials
5: # $credentials = Get-Credential Gotspeech\Administrator
7: $credentials = New-Object System.Management.Automation.PSCredential($user,$pass)
9: # Create a new session
10: $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://um1.gotspeech.net/PowerShell/ -Credential $credentials
12: # Now import the session object
13: Import-psSession $session -AllowClobber |out-null
15: # Do your script proceesing here
17: # Cleanup
18: Remove-PSSession $session
That’s all there is to it. Just remember to close out the session when you are done as there is a limit on the number of remote session you can have open at once.
In my day to day activities I normally work in the PowerShell ISE. I simply open this script in a tab with the Remove Session command commented out and then click the run arrow at the top of the editor. This causes the current script to run and I then have an active remote session to do what ever I need to do during my work day.
Tom Arbuthnot has a nifty little Lync PowerShell utility on his Lync’d Up Blog. The PowerShell script is called Get-LyncNumberAssignment and it helps you avoid those irritating “multiple results” error messages when trying to enable a user for enterprise voice etc. As you probably already know, these messages result when the phone number is already in use somewhere. The problem is that they could be anywhere; User’s, Private Lines, Exchange UM Contacts etc. The real problem is tracking down the number.
I have several PowerShell one-liner commands that I use to search for the phone number when this happens to me. But Tom has taken it several steps further; his Get-LyncNumberAssignment script searches all the places that the number could be assigned and creates a cool looking report.. This makes the annoying task of finding the duplicate a lot easier and a lot less time consuming. My hat is off to Tom for taking the time to write and share this.
However, when I run the script in my environment I get the following error which I haven’t been able to resolve:
ErrorCatch-Actions : A network-related or instance-specific error occurred while establishing a connection to
SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that
SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 – Error Loc
ating Server/Instance Specified)
But the beauty of PowerShell is that I will just take Tom’s original script and modify it to my needs. For example, Tom’s original script can search for all phone numbers in a given area code and I would like to take that output and format it then send it to a spreadsheet (i.e a .csv file). That’s what I like about administering Lync using PowerShell scripts – I can modify the scripts to do things my way. I’ll try reaching out to Tom and see if I can resolve the issue which seems to only affect my environment and doesn’t take anything away from the work that Tom did.
Addendum: I’ve tracked the problem down to the call to Get-CsRgsWorkflow. Not sure why but I am delving deeper and I’ll update my progress later in the comments below. Also since I am in a hosting environment I have modified the script to return the CsUser’s OU information so that I know who he belongs to.
Posted: July 4, 2013 in Uncategorized
I posted this from my new Surface RT. Why? Just to see of I could do it.
I got the VS2012 remote debugger working last night and I can now test/debug Win8 apps on my Surface. No excuses now other than my lack of Win8 programming knowledge to keep me from writing my killer Win8 app.
Since I am picking up again on my mobile development efforts I ordered a Surface RT last Friday before the free case offer expired at the end of June and chose a free type cover. UPS just delivered it a few minutes ago and I already have it configured and some of my apps installed. Its charging right now while I go on to more pressing things.
I already have my first app designed and the layout/features scoped out. I’ll be working on it over the next few weeks as time permits – this isn’t my day job so I need to work around my Lync stuff. I’ll blog more on the Surface and the development efforts as I go along.
I just had another blog post go up at Safari Books Online. This one is on using Entity Framework to seed your database.
This is the last blog post I have in the queue with Safari Books Online but hopefully there will be more in the future on other topics. I hope you have enjoyed the series and that it has challenged you to use Entity Framework in your projects.
Now its back to Lync posts….
Another blog post of mine just went live on Safari Books Online. This one is on Using Database Migration.
I have one more blog post waiting to be published at Safari Books Online and there may be more coming. The next one will be a Tip and will build on the reset of the series showing you what that mysterious Configuration.cs that I briefly mention in this blog post is used for.
I am really excited to start a new position today with WorkSpace Communications as a Senior Developer/Administrator. I am glad to be back doing what I love (and believe in) – extending Lync and Unified Communications to businesses regardless of their size.
I will provide more details and blog more about what WorkSpace Communications is doing n future blog posts.
Posted: April 30, 2013 in Entity Framework, Me
Tags: Speech Connection
Another Safari Books Online blog post. This one is on using an Entity Framework against an Entity Framework.
After this series is over (two more coming) then I am going to do some posts on Lync 2013 and the newest version of UCMA (4.0). I rebuilt my big development box to run Windows 8 and now I need to get all my virtual machines created and Lync installed.
Posted: April 26, 2013 in Entity Framework, Me
Tags: Speech Connection
I did another Safari Books Online blog post. This one is an Entity Framework Tip.
I have one more blog post for Safari that is waiting to be published and two more to write. Its been fun blogging for other blog sites.