SharePoint 2010: The web application at ... could not be found. Verify that you have typed the URL correctly.

and so on with the error message. Do these also fit your situation? 1) The error happens when running a console application 2) Using PowerShell works to access the SPSite, SPWeb, or SPWebApplication that you’re accessing in your console application

How do you fix this? Change your build platform target to x64 instead of x86. Also keep in mind that this is a per build configuration setting (so you have the setting for Debug and Release compile modes).

Why did I post this? Because every few months this bites me in some way. Normally for at least an hour at a time. It’s extremely confusing at first and a ‘doh moment when you figure it out.

Read More >

SharePoint 2010: Add a file to the root of your site using PowerShell

This can be useful when you need a file to be right off the root of your Internet facing site - files like robots.txt, sitemap.xml, or the verification file for Google Webmaster tools. We’ll take advantage of PowerShell’s ability to use any .NET methods along with the Files collection on each SPWeb in SharePoint.

$fileBytes = [system.io.file]::ReadAllBytes("c:\the\full\path\to\your\file.txt");
$site = Get-SPSite "http://yourdomain:portifneeded";
$site.RootWeb.Files.Add("file.txt", $fileBytes, $true);

This will result in a file.txt located at “http://yourdomain:portifneeded/file.txt”. Sweet!

Read More >

SharePoint 2010: Finding the largest document library in a site collection

SharePoint 2007 came with a page (storman.aspx) dedicated to showing you how much space each of the lists in your site collection were taking up. SharePoint 2010 removed this page. Luckily, SharePoint 2010 SP1 added it back in. But what if you’re still haven’t updated to SP1 and you’re getting warnings/errors about running out of space?

Obviously - up the space so as to avoid additional noise from your users. Then - figure out which libraries are taking up the most space. This can be done by using the (now obsolete - but working) StorageManagementInformation method off of SPSite. You can write some C# to use it, or you can use PowerShell.

The required arguments for this method (listed below) can be found by looking at the above MSDN link. I’ll also include the potential values that can be found by using Reflector to look at the Microsoft.SharePoint dll:

  1. ltVar: What kind of storage management information to display
    • List = 1
    • DocumentLibrary = 2
    • Document = 3
  2. sordVar: the direction in which the items are to be sorted
    • Increasing = 0x10
    • Decreasing = 0x11
  3. soVar: whether the items are sorted by size or by date
    • Size=0
    • Date = 1
  4. nMaxResults: the number of results to return

So if you want to find the top 5 largest document libraries in a specific site collection, here’s the PowerShell: [code lang=”ps”] $site = Get-SPSite "http://yoursitecollection:portifneeded"; $dataTable = $site.StorageManagementInformation(2,0x11,0,5); $dataTable | Select * [/code]

This is very helpful if you aren’t yet on SP2010 SP1. A note though - the method is marked as obselete with this description “SPSite.StorageManagementInformation is expensive; avoid using it.”. There’s no further explanation on what is being spooled up to execute the method or why it was OK in SP2007 but not SP2010. So I’d consider this OK to use if you have to…but not in some kind of recurring scheduled script. Your mileage may vary, I’m not responsible for what happens to your farm, etc. etc.

Hope you found this useful. Let me know!

Read More >

SharePoint 2010: Disable Feature on all Web Applications PowerShell

Because it’s easier to copy+paste this later… This will disable a feature on all web applications in a farm. Very convenient for when you’re removing a feature from a solution.

[code lang=”ps”] Get-SPWebApplication | ForEach-Object {Disable-SPFeature "Solution.Name_FeatureName" -url $_.Url;} [/code]

Read More >

subscribe via RSS