I’ve been into programming for pretty much as long as I can remember. It started in 1980 or so, when I was at school, when floppies were single-sided and held 72 KB. And when our dot matrix printer was so slow that the quickest way to print a long listing was to redirect it to the line printer in a building 5 miles away. At which point, our teacher would set out on his bicycle to collect it and arrive back at school a couple of hours later with a thick wad of green stripey.
If I’d owned a dog at the time, I would probably have called it Maximop. Thankfully I didn’t. I do own a dog now (2 actually), one of which is called Acer. People think he’s named after the computer brand. Actually, my wife (yay, the geek got a life!) is a trained gardner and apparently he’s named after some plant or other.
When I first got into SharePoint, about 3 years ago, it was apparent from day one that being a farm admin was going to involve some programming. The textbooks were constantly reminding me that, if I ever found myself doing something more than 2 or 3 times, I should really turn it into a PowerShell script. Needless to say, I took the advice on board pretty quickly. It was one of the best SharePoint-related decisions I ever made. The SP2010 farm I look after here at the University of Brighton, providing personal and departmental sites for some 4000 staff, is all the better for it.
I ended up investing many days in getting those PowerShell scripts to do what I wanted, but they’ve provided a huge return on that investment. Not just in time, but in ensuring consistency. And I’m delighted that I’m going to be able to share some of them with attendees at the SharePoint Evolution 2015 conference in London which starts on April 20th.
Full details will be covered in my session, but I thought I’d give you a few tasters.
Firstly, creating new site collections. In theory, this should be a simple matter of clicking a link in Central Admin and supplying a title and a URL. But when you study the process, you realise it’s a lot more involved. You’ll probably want to change the template and the theme, and set the site owners and the admins. Then there’s alternate CSS files to point at, AD groups to grant access to, new content databases to create, quotas to set, managed paths to assign, and more. Around 30 different tasks, it turned out. And yet I can roll out a new site collection, fully configured just the way we like it, with a single command that runs in about the time it takes me to check Twitter.
We adopt a similar approach for creating new MySites for joiners who appear in our AD. Each morning, a script checks for such people and, assuming they fit various criteria, creates them a default personal site. Then it wipes all those default libraries, with their non-sensible permissions and names, and creates everything just the way we want it.
The log file it creates is so detailed that it’s one of our most useful diagnostic tools. I have some other really useful tools, too, most of which were developed in PowerShell, to help the rest of my team, as well as our organization’s service desk people, answer a lot of users’ SharePoint-related questions in just seconds.
Like many companies, we have an Oracle database that contains, among other things, pictures of all staff. So why should we waste space pulling these images into SharePoint to act as users’ profile photos? PowerShell to the rescue again, of course! Couple it with a bit of PHP on a web server, and the photos displayed in SharePoint are now pulled in on the fly from Oracle. Before checking the user’s LDAP record first, of course, to see if they’ve opted in to having their picture displayed at all.
To find out more, come and join me, and everyone else, in April at what is apparently the world’s largest SharePoint event of the year. Click the banner at the top of this post to find out more.