My most recent project has been to migrate a bunch of sites from WSS 3.0 (SharePoint 2007) to SharePoint Server 2010. The users are currently working with WSS 3.0 and Office 2003, so the new ribbon based UI in 2010 will be completely new. My client wants to avoid the new SharePoint 2010 look and feel until they’ve had time to train their users, so we’ve been testing the upgrades by keeping them with the 2007 user interface. Permission to perform the Visual Upgrade One of the first things we noticed...
MapRedux – #PowerShell and #Big Data Have you been hearing about “big data”, “map reduce” and other large scale computing terms over the past couple of years and been curious to dig into more detail? Have you read some of the Apache Hadoop online documentation and unfortunately concluded that it wasn't feasible to setup a “test” hadoop environment on your machine? More recently, I have read about some of Microsoft’s work to enable Hadoop on the Azure cloud. Being a "Microsoft"-leaning technologist,...
I've recently had to help a couple of splinq-challenged colleagues with some caml queries. Here are some of my favourite ways to make caml edible. Use '! Too many developers seem ignorant of the fact that xml works just as well with single apostrophes as with double. This is, of course, also true for other things, like html. Use @ and multiline Use string.Format Validate the query using a simple webpart or, much better, powershell Don't use third-party clever stuff I'm not sarcastic when I say "clever,"...
On March 10th, 2012 the first ever PowerShell Saturday conference took place in Columbus, OH and I couldn’t be happier with the outcome. We had 100 attendees from 10 different states (the biggest surprise to me) come to see 6 speakers present on a variety of PowerShell topics: introduction, WMI, SharePoint, Active Directory, Exchange, 3rd party products and more. A big thank you also goes out to a number of people. Planning committee Wes Stahler, lead organizer of PowerShell Saturday Columbus, president...
Starting timer jobs from Powershell is easy.Get the job, execute:$webApp = Get-SPWebApplication "http://$($env:computername... = $webApp.JobDefinitions | Where-Object { $_.Name -eq "<timer job name>"}$job.Execute([Sys... # In my timer job I don't actually use the guid, so just create a new oneWrite-Host "Done."...mostly as a reminder to myself. :-)...
I have a few conferences I’ll be speaking at in the next few weeks. The first is SharePoint Cincy in Cincinnati, OH on Friday March 16th. The other is SharePoint Saturday Twin Cities in Minneapolis, MN on April 14th. Below are the details for each. Assuming copies of my book arrive in time for either conference I’ll be giving away a book or two and signing them. Stop by and see me if you’ll be attending either conference. Sessions Where: SharePoint Cincy 2012 Title: PowerShell for the SharePoint...
What you need / What you've got? Pretty obvious, when a user edits/changes a page, you need someone to check its all good before it goes live! Aka Publishing Approval You can use the "Publishing site with workflow" template or enable it manually or set it up in your custom site definition. BUT...you've got an entire site collection full of web sites and you need to do it "en-mass" … step up Powershell. A common scenario could be you were working in Stage or Pre-go live and having Approval workflow...
Recently a colleague of mine encountered the error below and wanted to know how to get past itRecently a colleague of mine encountered the error below and wanted to know how to get past it. When configuring SharePoint 2010 Publish Portal you encounter the following error “The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator. “ This issue is caused by lack of Session State Service...
Took me a little while to figure this one out, you’ve assigned your workflow to a library and you can set all other other flags like “AllowStartChange” and “AllowStartCreate”, but cant see how to set “Start this workflow to approve publishing a major version of an item.” That’s because its a property on the library itself called “DefaultContentApprovalWork... So you might want to do something like this…where you have the WorkFlow Association object ($wfAssociation) and the list/library ($list)....
If you have not heard the latest technical news yet, the SQL Server 2012 Virtual Launch event is today March 8, 2012! Register to not to miss this opportunity to interact with technology experts and win cool prizes! I am thrilled and excited! Why? Because like in the automotive industry, every new iteration of a vehicle is more fuel efficient, safer, more polished, looking more attractive and fun to drive. Sure, the the new version of the SQL Server is ready to take me further in what I can deliver...
While at a client location this week I ran into the situation of their SharePoint deployment recognizing a handful of people by their Display Name and others (a lot more) by their “domain\username” account. And since they had User Profile in place they felt something was just not right, and if you combine that and the fact most of the information available around that issue tells you it is a profile issue, you can understand the frustration of going back to the sync process and correcting in AD,...
In order to migrate (copy) an InfoPath form from one environment (say test to production), there are several things to consider. First, does your form use a data connection to retrieve or submit data? Second, if you update the form in the future, do you want all of the locations where this form is used to be updated as well? Consider these issues while reading the instructions below. Step 1: Create a form First, let’s create a simple InfoPath. For my example, I’ve created an overly simplified leave...
The first ever PowerShell Saturday will be taking place at the local Microsoft office in Columbus, OH on March 10, 2012. This is a little bit of a delayed announcement as the event has already sold out (yes, sold out a month before the event.) This will be a one day conference with speakers from around Ohio and a few from further away. The schedule and speaker lineup has not been officially announced but will be soon. If you were lucky enough to get one of the 100 registrations you’ll be able to...
I gave a SharePoint presentation at Norwegian SharePoint Community last week. I wanted to have as smooth a presentation as possible by minimizing page load times. The easiest way to do this, is to make sure that the pages you request are already cached. And the easest way to do this, is to pre-request the pages. ...and an easy way to do this, is to have a PowerShell script request these pages in the background. We just want to request the pages, we are not concerned with error status or how long...
SharePoint 2010 developers love Powershell. It really is a huge step forward. If you still haven't started to use it, do so. But I got bit the other day, when I added a try-catch block to my code. See if you can spot it: Try { $legen = Create-Object Reidar.Husmo.AwesomeClass $legen.Dary(42) } Catch { "an error occurred" } As you no doubt immediately spotted, Powershell does not have a Create-Object. But the try-catch hides coding mistakes. There is no indication that things are not ok, not even "an...
In the lifespan of an organisation it’s messaging environment be transitioned to a newer version several times. Whilst this is not a complicated thing to do it does require some level of planning and thought. I’ll be addressing the transitioning from Exchange 2003 to 2007 from a fairly simple view here. Since the general outlines of the process are the same for nearly every situation there is no need for different detailed documents on this. We’ll be working with the following infrastructure in this...
I was working on a project to send a html attachment in a powershell script. I have the HTML string so all I want to do is create an attachment from the string. Here's the code: $SMTPserver = "mail.company.com"$from = "from@company.com"$to = "to@company.com"$subject = "Test PS Attachment"$emailbody = "test"$attText = "The text of the attachment"$attName = "Test.txt" $mailer = new-object Net.Mail.SMTPclient($SMTPse... = new-object Net.Mail.MailMessage($from, $to, $subject, $emailbody) $att =...
I had originally planned to write this using the live writer, however it isn't wanting to install so I guess it will have to wait until next time.I was working along the other day and one of the users I had added in was displaying as his domain account instead of his first and last name. I was in a semi rushed mode at the time, so I decided to skip the "steps" as I call it to find out all you can about your problem user(s). But I will list out what I would have done had I had more time.Side note:...
A few days ago my friend Todd Klindt (click here for his blog, I get helpful advice there all the time) asked the following question on Twitter: ‘Is there a way to see if someone just his enter with “read-host –assecurestring”? I need to test for no input. #powershell’. Problem As you may know, secure strings in PowerShell are not readable (unless using ConvertFrom-SecureString or some alternate process). If attempt to check equality of a secure string against an empty string or the null variable...
The awesome Azure team is at it again! Earlier this month, they released an early preview of the new Windows Azure SDK for Node.js. They have just released the December Update with several new features, including: Windows Azure PowerShell for Node.js 0.5.1 update, IISNode 0.1.13 update Node.js 0.6.6 update from Joyent, Installer in-place upgrade support for all these components Numerous bug fixes in all three components Read more about it at the Azure team blog. Haven’t tried it yet? Get started...
Today's 50% off Deal of the day at $23.99 from Microsoft Press at http://shop.oreilly.com/pro... is Windows PowerShell™ 2.0 Best Practices "Apply best practices for automating system administration with Windows PowerShell 2.0 and optimize your operational efficiency and results. This guide captures the field-tested tips, real-world lessons, and candid advice of practitioners across the range of business and technical scenarios and across the scripting life cycle"...
For an integration solution with lots of dependencies, it's difficult to definitively state that everything is wired up correctly and that all components in the stack are working. A while ago, Michael Stephenson proposed having a diagnostic service in a solution as a quick way of verifying that a given environment was working, end-to-end. Initially I was sceptical, on the grounds that there shouldn't be any code in a solution which isn't directly solving a business problem, but having tried it out...
Renaming SharePoint service app databases When you install SharePoint 2010 and use the wizards, you will be asked which services you’d like to install. By default all but Lotus-Notes-Connector are preselected. SharePoint will install the services and assign a plethora of databases to serve these services. Alas, horror of horror, all these databases are named by Microsoft and all end with GUIDs. DBAs and other keepers of standards abhor it. Sometimes they even go a step further and want the DB names...
Upgrading a SharePoint farm can reveal hidden issues that may not be causing any visible consequences in your current environment. This was especially the case in a recent customer visit to assist with an upgrade from SharePoint 2007 to SharePoint 2010. During the upgrade we encountered the error “Failed to create field: Field type <field name> is not installed properly” while attempting to upgrade hundreds of SharePoint lists and document libraries. The issue my customer faced related to a...
We previously tried to use msbuild to adjust configuration files for different environments. Recently I found C onfig Transformation Tool(CTT) on CodePlex and with addition of global replace using powershell it is enough and easier to do all required modifications Content of ChangeConfig.cmd: ctt s:..\web.config t:WebConfig.CTT d:..\web.config powershell.exe -command "Get-Content ..\Remoting.config | ForEach-Object { $_ -replace '//localhost/ServicesCI/', '//ServerName01/ServicesCI/' } | Set-Content...
Is this blog post worth your time? It’s not challenging setting up the Load Test Rig in the Cloud, it’s more challenging to convince enterprises to embrace the cloud. Not all enterprises will accept their business critical applications being profiled from a VM hosted outside their network. Though through Windows Azure Connect you can join the Cloud hosted Role to the on premise domain effectively forcing the domain policies on the external VM but how many enterprises will authorize you to do this?...
I have had a total of 2 years, 3 months, 2 hours of Windows Azure developer experience and it humiliates me to suicidal extents to confess that I am hardly conversant with the platform’s native Diagnostics technicalities. “I am Tinu Thomas and I am a diagnostic-ignorant Azure Developer.” Oh my god…how could he?? Now that we have that past us <sheepish grin>, I would also like to bask in the afterglow of redemption. Thanks to a much-needed job transition phase, I was able to find enough time...
Welcome to Part 2, In Part 1 we discussed the advantages of creating a Test Rig in the cloud, the Azure edge and the Test Rig Topology we want to get to. In Part 2, Let’s start by understanding the components of Azure we’ll be making use of followed by manually putting them together to create the test rig, so… let’s get down dirty start setting up the Test Rig. What Components of Azure will I be using for building the Test Rig in the Cloud? To run the Test Agents we’ll make use of Windows Azure Compute...
SQL Server team has released the new SQL Server Data Tools CTP4. Congratulations and Thanks to Gert Drapers and his team with this great milestone. To lear more about this SSDT CTP4 Release, check: What’s new in SQL Server Data Tools CTP4?http://blogs.msdn.com/... Server Data Tools CTP4 vs. VS2010 Database Projectshttp://blogs.msdn.c... VSDB->SSDT...
Microsoft Lync Server 2010 communications software and its client software, such as Microsoft Lync 2010, enable your users to connect in new ways and to stay connected, regardless of their physical location. Lync 2010 and Lync Server 2010 bring together the different ways that people communicate in a single client interface, are deployed as a unified platform, and are administered through a single management infrastructure. Workload Description IM and presence Instant messaging (IM) and presence...
© 2011 By: Dov Trietsch. All rights reserved finding a person in the forest or Limiting the AD result in SharePoint People Picker There are times when we need to limit the SharePoint audience of certain farms or servers or site collections to a particular audience. One of my experiences involved limiting access to US citizens, another to a particular location. Now, most of us – your humble servant included – are not Active Directory experts – but we must be able to handle the “audience restrictions”...
Sometime ago, say around mid April, 2011 I posted about Installing SharePoint 2010 on Windows 7 by going in a different path than using the standalone installation. This post is about what happens after the installation and initial configuration of your Windows 7 “development farm” gets the bits, and goes through the Central Admin and management perspective to get you to the first screen that says “Hi, SharePoint here, would you like to play a game of chess” (yeah, it does not really say that, but...
Coming from SPC a couple of weeks ago, during the keynote there was a demo on some great Visio Diagrams. It was created using the following: http://visiospfarmaddin.cod... Expect a post here in the next week or so on how to configure it. Another great tool I came across is targeted to those who are becoming familiar with PowerShell for SharePoint, and also if you want to use PowerShell with SharePoint Online. It is a Command Builder, you pick the verbs and nouns as you would regularly do with...
Many times I need to merge two separate datasets that have a common key column – for example: dataset 1: ID, Name, Weight, Height dataset 2: ID, Address1, Address2, Phone1, Phone2 I can’t just concat the data together, instead I need the merge to happen around the ID key, so that each ID only has a single row in the result. So, of course I wrote a powershell script to do this for me. Take a look at it below. I called it “Merge-TsvFiles”, but it takes a delimiter as one of its paramters, so you could...
I'm a big fan of automated testing which actually proves something. Unit tests may prove all the components in a solution work independently, but that doesn't mean you have a working solution. Integration tests give you confidence in the whole solution, but the cost of having a test suite with a lot of external dependencies is the risk of false build failures and long-running test suites. To get something in between, we have acceptance tests written in SpecFlow which run tests at the highest layer...
I got this error today while trying to access my new SharePoint 2010 environment via PowerShell: Cannot access the local farm. Verify that the local farm is properly configured, currently available, and that you have the appropriate permissions to access the database before trying again. If I would have just read the error message a little more carefully, I would have realized that I should start by looking at my permissions in SQL – which my account didn’t. This happened because I installed SQL...
On Saturday Oct 29th, 2011 I’ll be speaking at SharePoint Saturday Cincinnati. My presentation is “PowerShell for the SharePoint 2010 Developer” which covers an introduction to PowerShell while focusing on integration with SharePoint and the .Net framework. This presentation has a fair amount of demonstrations and sample code. I’m excited to be attending SPSCincinnati as it is a short drive from Columbus and I also know a number of the other speakers and organizers. It’s looking to be a great conference....
I'm currently in Seattle enjoying the start of some of the activities around the SQL PASS Summit. One of the activities that I'm looking forward to is the book signing session for the MVP Deepdives Volume 2 at lunchtime on Wednesday. I was fortunate to be one of the 60 or so authors this time around with a chapter on using Powershell to manipulate Analysis Services databases. All of the proceeds from this book go to support Operation Smile. You'll find the book's website here: http://www.manning.com/dela...
“If only there was some way to quickly and silently install applications and tools on my windows machine.” Chocolatey is kind of like an apt-get, but for Windows. It is a machine level package manager that is built on top of NuGet command line and the NuGet infrastructure. Jason Jarrett recently described it as the free/OSS windows app store. What that means for you is that you can install and update software (applications and tools) on your machine with a few keystrokes and chocolatey does the rest!...
Recently I was tasked with a file cleansing exercise. The endeavor looked simple, but the solution was not, I needed to prepare a file for processing, but wanted to first proof concept my approach so I opted to utilizing this opportunity to learn PoweShell. More about the task: I was supplied with a series of CSV files in which the data looked like 123,ABC,XYZ "1,2,3", ABC, "XY,Z" 123,"A,BC", XYZ As you can see this is something I think we may call alternating double-quotes comma delimited file with...
Recently I was assigned a task of helping a developer to cope with an unusual input file processing. The file we needed to load into SQL Server had double quotes surrounding those fields that contained comma(s). So a short excerpt from it would resemble something like: 123,ABC 456,"D,E,F" "7,89",GHS Since SSIS’s Flat File Connection does not support alternating text qualifiers, the chief difficulty stems from the fact if we even only remove the quotes, the file structure becomes broken because the...
Over the past few years I’ve written a number of blog posts on performing various actions against a site collection or web application (display site collection admins, find all SPShell admins with database, find closed web parts). Invariably with every post I get some comments along the lines of “this is great, how can I run this against every site in the farm”. Well today you get your wish (sort of). Below you will find a template script that traverses all sites within your local farm. Isn’t that...
A few weeks ago I ran into an error while setting up our test farm. I was creating the service applications and when I got to PowerPivot, I got the following error: I was able to work around this error by using PowerShell to create the service application. Background First, some details of our installation: two web front ends, two application servers, and one SQL server. All are running Windows Server 2008 R2 x64 with Service Pack1. The SQL Server is 2008 R2 with SP1. The SharePoint servers are SharePoint...
We recently implemented an email archiving solution at work. One of the requirements was that we configure automatic purging of messages older than 6 months in Exchange. One of our IT managers spent the better part of a month moving items out of the only copy of his PST into his mailbox so that they could be captured by the archive system and free him from his PST. For whatever reason none of these messages were captured by the archive system and were purged by Exchange as per the items older than...
Introduction The conference sessions are starting to appear on the Channel 9 RSS feeds right now. If you are like me then you probably want to download all of them and watch them later. Here is the method that I use to grab all the videos and thought that it would help others. Note: You can use either Juice or PowerShell (which is located at the bottom of this post). Let’s do this with Juice Navigate over to http://channel9.msdn.com/Ev... and select the option to Subscribe to this...
This post is going to be the shortest of my all. Recently, to my surprise, I found myself developing quite a lot with PowerShell, it is not that I have never written scripts, but those mostly were VBScripts. To start off I can tell that there is a ton of examples on the World Wide Web, and I know of nine free PowerShell books, alas I had no time to read any due to very short project deadlines and when I needed a specific example the search results returned were exhaustive too often, yet incomplete....
When developing WCF services that interact with a custom Security Token Service (STS), you will need to create at least one X.509 certificate. If you have access to a trusted certificate authority – e.g. a Windows Active Directory domain – then this task is pretty simple. But if you don’t, or maybe you would just rather create a set of self-signed certificates, here is an approach that works well for me. This particular scenario utilizes three separate certificates. The first one is named “localhost”...
Let’s define what this should mean and be about. How can I as an IT Pro be able to use TFS for the tasks and activities I normally do. Whether it is controlling a project or creating scripts and such. The vision while it goes into execution with TFS, will include a process with SharePoint somewhere in there too. Scenario #1: Change Control, Change Management or Specific no-code Project Control. As an IT Pro, what do I do? Change Control, Change Management, Project Management. The problem? Yes, we...
I was recently asked to review Studio for Wijmo MVC by Component One and, overall, I am impressed. There are 2 major components of this. The first is Wijmo Complete which is a collection of over 30 UI widgets (very similar to jQuery UI). The second is Wijmo Scaffolding for MVC which builds upon the scaffolding that was released as part of the MVC 3 Tools Update (note: is does *not* build on top of powershell-based MVC Scaffolding which Microsoft released earlier this year). Some of the Wijmo widgets...
Since exchange versions from 2007 and up put more emphasis on the webservices for use in the distribution of the offline address book, out of office, the scheduling assistant and autodiscover (a.k.a outlook connectivity to exchange) the correct configuration of the virtual directories and IIS components is the main key to a healthy exchange environment. It is for this reason that I have compiled a quick reference as to how these components should be configured in order to function properly and so...