<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SharePointed</title>
	<atom:link href="http://www.sharepointed.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sharepointed.com</link>
	<description>All things SharePoint</description>
	<lastBuildDate>Thu, 02 Feb 2012 13:49:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>PowerShell Get SharePoint Person or Group Field</title>
		<link>http://www.sharepointed.com/2012/02/02/powershell-get-sharepoint-person-or-group-field/</link>
		<comments>http://www.sharepointed.com/2012/02/02/powershell-get-sharepoint-person-or-group-field/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 13:49:57 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Get Field]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=837</guid>
		<description><![CDATA[This one drove me CRAZY! Simple question, how do you get people or groups from a SharePoint People or Group field.]]></description>
			<content:encoded><![CDATA[<p>This one drove me <strong>CRAZY</strong>!</p>
<p>Simple question, how do you get people or groups from a SharePoint People or Group field.</p>
<pre class="brush: plain; title: ; notranslate">
Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$site = Get-SPweb &quot;http://www.sharepointed.com&quot;

				$mList=$site.Lists[&quot;ListName&quot;]
                                #you will want to provide a valid ID here:
				$item = $mList.GetItemById(&lt;strong&gt;&quot;4&quot;&lt;/strong&gt;)
				$users=$item[&quot;MyPersonOrGroupField&quot;]

				#build array of our Person or Groups
				$PeopleOrGroup = New-Object System.Collections.ArrayList

				If($PeopleOrGroup.Count -ge 0)
				{
					foreach($blah in $PeopleOrGroup)
						{
						 $parseUsr = $blah.ToString().Split('#')[1]
						 $PeopleOrGroup.add($parseUsr)
						}
				}

                                #now if you want to access our newly created array
                                Foreach($pg in $PeopleOrGroup)
                                {
                                     write-host $pg
                                }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2012/02/02/powershell-get-sharepoint-person-or-group-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to control permissions from a central List</title>
		<link>http://www.sharepointed.com/2012/02/02/how-to-control-permissions-from-a-central-list/</link>
		<comments>http://www.sharepointed.com/2012/02/02/how-to-control-permissions-from-a-central-list/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 13:32:47 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Permissions]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=832</guid>
		<description><![CDATA[Say you have  your site setup where every one of your customers has a sub site.  How could you easily manage the permissions on those sites?  What I have adopted is, creating a List where the sub sites are created &#8230; <a href="http://www.sharepointed.com/2012/02/02/how-to-control-permissions-from-a-central-list/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Say you have  your site setup where every one of your customers has a sub site.  How could you easily manage the permissions on those sites?  What I have adopted is, creating a List where the sub sites are created from and managed.</p>
<p>Using the workflow actions from <a title="ilovesharepoint" href="http://ilovesharepoint.codeplex.com/" target="_blank">ilovesharepoint</a> I&#8217;m doing the following.</p>
<p>1. Setup a Contact List (Customers) with these additional fields: Customer Site (Hyperlink), UserPermissions(Person or Group), Customer Status (Choice)</p>
<p>2. Using the ilovesharepoint Create a new site action, create a new customer site.  Using the Output variable of this action, write the URL to our Customer Site field.</p>
<p>3. Use the ilovesharepoint Execute PowerShell action to run our PowerShell script.</p>
<pre class="brush: plain; title: ; notranslate">

Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
 $site = Get-SPweb &quot;http://www.sharepointed.com&quot;

$mList=$site.Lists[&quot;Customers&quot;]
 #Here you will want to add the ID of the item calling the workflow.
 #Simply remove [%Current Item:ID%], click on Add or Change Lookup, and add the ID field
 $item = $mList.GetItemById([%Current Item:ID%])
 $ActionType=$Item[&quot;Customer Status&quot;]
 $CustomerSite= new-object Microsoft.SharePoint.SPFieldUrlValue($item[&quot;Customer Site&quot;])
 $ClientSiteURL=$CustomerSite.URL
 $users=$item[&quot;UserPermissions&quot;]

#build array of User Permissions
 $PowerUsr = New-Object System.Collections.ArrayList

If($users.Count -ge 0)
 {
 foreach($usr in $users)
 {
 $parseUsr = $usr.ToString().Split('#')[1]
 $PowerUsr.add($parseUsr)
 }
 }

$site.Dispose()

$web = Get-SPWeb $ClientSiteURL
 $SDlist = $web.Lists[&quot;Shared Documents&quot;]

#break role inheritance
 $SDlist.BreakRoleInheritance($true)

#remove all permissions from the List
 foreach ($assignment in $SDlist.RoleAssignments)
 {
 $assignment.RoleDefinitionBindings.RemoveAll();
 $assignment.Update();
 }

# Customer Status = Active
 If ($ActionType -eq &quot;Active&quot;)
 {
 if($PowerUsr.Count -ge 0)
 {
 foreach($Ausr in $PowerUsr)
 {
 $account = $web.SiteGroups[$Ausr]
 $role = $web.RoleDefinitions[&quot;Contribute&quot;]

$assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)
 $assignment.RoleDefinitionBindings.Add($role)
 $SDlist.RoleAssignments.Add($assignment)
 }
 }
 }

# Customer Status = Not Active
 If ($ActionType -eq &quot;Not Active&quot;)
 {
 if($PowerUsr.Count -ge 0)
 {
 foreach($Ausr in $PowerUsr)
 {
 $account = $web.SiteGroups[$Ausr]
 $role = $web.RoleDefinitions[&quot;Read&quot;]

$assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)
 $assignment.RoleDefinitionBindings.Add($role)
 $SDlist.RoleAssignments.Add($assignment)
 }
 }
 }

$SDlist.Update()
 $web.Dispose()
</pre>
<p>The script gets the URL of our sub site and permissions we are wanting to set on the Shared Documents library.  By setting the Customer Status to Active or Not Active, the script will change the permissions accordingly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2012/02/02/how-to-control-permissions-from-a-central-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 Where are Site Templates Stored</title>
		<link>http://www.sharepointed.com/2012/01/23/sharepoint-2010-where-are-site-templates-stored/</link>
		<comments>http://www.sharepointed.com/2012/01/23/sharepoint-2010-where-are-site-templates-stored/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:32:51 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=830</guid>
		<description><![CDATA[In SharePoint 2010, Site Templates are stored in the Solutions library. Site Actions -&#62; Site Settings -&#62; Solutions (Galleries Section) http://sharepointed.com/_catalogs/solutions/Forms/AllItems.aspx If you do not see the Solutions link, you will need to navigate to the root site / top &#8230; <a href="http://www.sharepointed.com/2012/01/23/sharepoint-2010-where-are-site-templates-stored/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In SharePoint 2010, Site Templates are stored in the Solutions library.</p>
<p>Site Actions -&gt; Site Settings -&gt; Solutions (Galleries Section)</p>
<p>http://sharepointed.com/<strong>_catalogs/solutions/Forms/AllItems.aspx</strong></p>
<p>If you do not see the Solutions link, you will need to navigate to the root site / top level site.</p>
<p>You will not see the link in a Sub Site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2012/01/23/sharepoint-2010-where-are-site-templates-stored/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Run Warmup Script on Startup</title>
		<link>http://www.sharepointed.com/2012/01/17/run-warmup-script-on-startup/</link>
		<comments>http://www.sharepointed.com/2012/01/17/run-warmup-script-on-startup/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 20:46:20 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[Warmup]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=824</guid>
		<description><![CDATA[Recently ran across a SharePoint install that had links to all the web apps in the Startup folder on the WFE box.  First thought was, PowerShell that mess! First you will need to create a batch file to call the &#8230; <a href="http://www.sharepointed.com/2012/01/17/run-warmup-script-on-startup/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently ran across a SharePoint install that had links to all the web apps in the Startup folder on the WFE box.  First thought was, PowerShell that mess!</p>
<p>First you will need to create a batch file to call the PowerShell warmup script.  The batch file will need to live in your Startup folder. By doing this, the script will run on server startup.</p>
<p>*update*  what if you want to pause / delay the batch file? Simply add a &#8220;timeout /t 5&#8243; after the @echo off statement.  *remove the quotes and 5 is measured in seconds.*</p>
<pre class="brush: plain; title: ; notranslate">
@echo off
timeout /t 5
powershell.exe d:\PowerShellScripts\warmup.ps1
</pre>
<p>The PowerShell warmup script:</p>
<pre class="brush: plain; title: ; notranslate">

Add-PSSnapin Microsoft.SharePoint.PowerShell;

function Get-WebPage([string]$url)
{
 $wc = new-object net.webclient;
 $wc.credentials = [System.Net.CredentialCache]::DefaultCredentials;
 $pageContents = $wc.DownloadString($url);
 $wc.Dispose();
 return $pageContents;
}

Get-SPAlternateUrl -Zone Default | foreach-object {
 write-host $_.IncomingUrl;
 $html = Get-WebPage -url $_.IncomingUrl;
}
</pre>
<p>warmup script was created by <a title="View all posts by Jon Badgett" href="http://www.jonthenerd.com/author/Jon/">Jon Badgett</a></p>
<p><a href="http://www.jonthenerd.com/2011/04/19/easy-sharepoint-2010-warmup-script-using-powershell/">http://www.jonthenerd.com/2011/04/19/easy-sharepoint-2010-warmup-script-using-powershell/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2012/01/17/run-warmup-script-on-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stuck on Starting Windows</title>
		<link>http://www.sharepointed.com/2012/01/07/stuck-on-starting-windows/</link>
		<comments>http://www.sharepointed.com/2012/01/07/stuck-on-starting-windows/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 14:34:04 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Starting Windows]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=822</guid>
		<description><![CDATA[Recently built a new HTPC and tried to install Window 7 from a USB drive. Over and over, I was getting stuck at the window that said Starting Windows. Ended up removing the video card and restarted the box. BAM, &#8230; <a href="http://www.sharepointed.com/2012/01/07/stuck-on-starting-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently built a new HTPC and tried to install Window 7 from a USB drive.</p>
<p>Over and over, I was getting stuck at the window that said Starting Windows.</p>
<p>Ended up removing the video card and restarted the box. BAM, I was able to install Windows 7 from the USB drive.</p>
<p>Live n&#8217; learn!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2012/01/07/stuck-on-starting-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You are not allowed to respond again to this survey</title>
		<link>http://www.sharepointed.com/2012/01/04/you-are-not-allowed-to-respond-again-to-this-survey/</link>
		<comments>http://www.sharepointed.com/2012/01/04/you-are-not-allowed-to-respond-again-to-this-survey/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 20:07:25 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=818</guid>
		<description><![CDATA[Error: You are not allowed to respond again to this survey. Either the user has already taken the survey or they started taking the survey and never finished. You can try going in and deleting what they have already done. &#8230; <a href="http://www.sharepointed.com/2012/01/04/you-are-not-allowed-to-respond-again-to-this-survey/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sharepointed.com/wp-content/uploads/2012/01/You-are-not-allowed-to-respond-again-to-this-survey1.jpg"><img class="alignnone size-medium wp-image-820" title="You are not allowed to respond again to this survey" src="http://www.sharepointed.com/wp-content/uploads/2012/01/You-are-not-allowed-to-respond-again-to-this-survey1-300x182.jpg" alt="" width="300" height="182" /></a></p>
<p>Error: You are not allowed to respond again to this survey.</p>
<p>Either the user has already taken the survey or they started taking the survey and never finished.</p>
<p>You can try going in and deleting what they have already done.  Or allow users to take the survey more than once.</p>
<p>How to allow users to take survey again:</p>
<p>Your Survey &#8211;&gt;  Survey Settings &#8211;&gt; General Settings</p>
<p>Survey Option &#8211;&gt; Allow multiple responses &#8211;&gt; Yes</p>
<p>Then click save.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2012/01/04/you-are-not-allowed-to-respond-again-to-this-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell Get a List of Site Templates</title>
		<link>http://www.sharepointed.com/2011/12/22/powershell-get-a-list-of-site-templates/</link>
		<comments>http://www.sharepointed.com/2011/12/22/powershell-get-a-list-of-site-templates/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 14:21:21 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=810</guid>
		<description><![CDATA[If you need to script out a list of available site templates, here is the answer.]]></description>
			<content:encoded><![CDATA[<p>If you need to script out a list of available site templates, here is the answer.</p>
<pre class="brush: plain; title: ; notranslate">

Add-PSSnapin Microsoft.SharePoint.PowerShell –erroraction SilentlyContinue
$site = Get-SPSite &quot;http://www.sharepointed.com/tacoSiteCollection&quot;
$web = $site.RootWeb
$listTemplates = $site.GetCustomListTemplates($web)

foreach($xx in $listTemplates)
 {
 Write-Host $xx.FeatureId
 }

$site.Dispose()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2011/12/22/powershell-get-a-list-of-site-templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell Calculated Column Create and Edit</title>
		<link>http://www.sharepointed.com/2011/12/21/powershell-calculated-column-create-and-edit/</link>
		<comments>http://www.sharepointed.com/2011/12/21/powershell-calculated-column-create-and-edit/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 19:44:56 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=807</guid>
		<description><![CDATA[How do you create a calculated column using PowerShell?  In my example, I&#8217;m creating a new field called Calculated Date Field, setting the formula, then setting the output type to DateTime. How do I build the formula?  Go into your list, &#8230; <a href="http://www.sharepointed.com/2011/12/21/powershell-calculated-column-create-and-edit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>How do you create a calculated column using PowerShell?  In my example, I&#8217;m creating a new field called Calculated Date Field, setting the formula, then setting the output type to DateTime.</p>
<p>How do I build the formula?  Go into your list, add a new calculated column, create your formula, test the formula.  If it works, copy the formula and delete the column.</p>
<pre class="brush: plain; title: ; notranslate">

$site = Get-SPweb &quot;http://sharepointed.com/site/salsa/&quot;

$mList=$site.Lists[&quot;Nacho&quot;]

 $mList.Fields.Add(&quot;Calculated Date Field&quot;, &quot;Calculated&quot;, 0)
 $SPField = $mList.Fields.GetField(&quot;Calculated Date Field&quot;)
 $SPField.Formula=&quot;=DATE(YEAR([Document Date])+7,MONTH([Document Date])+0,DAY([Document Date])+0)&quot;
 $SPField.OutputType=&quot;DateTime&quot;
 $SPField.Update()

$site.Dispose()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2011/12/21/powershell-calculated-column-create-and-edit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell Get SharePoint Page Layouts</title>
		<link>http://www.sharepointed.com/2011/12/18/powershell-get-sharepoint-page-layouts/</link>
		<comments>http://www.sharepointed.com/2011/12/18/powershell-get-sharepoint-page-layouts/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 18:57:29 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[GetAvailablePageLayouts]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=805</guid>
		<description><![CDATA[I was having an issue with a script and needed to find my available page layouts. Below is the script you will need to run to find the available page layouts for a given site.]]></description>
			<content:encoded><![CDATA[<p>I was having an issue with a script and needed to find my available page layouts.  Below is the script you will need to run to find the available page layouts for a given site. </p>
<pre>
<pre class="brush: plain; title: ; notranslate">
$web = Get-SPweb &quot;http://sharepointed.com/sites/taco&quot;

		$pubWeb =[Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web)
		$pl = $pubWeb.GetAvailablePageLayouts()
		foreach($p in $pl)
		{
			Write-Host $p.Name
		}
$site.Dispose()
</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2011/12/18/powershell-get-sharepoint-page-layouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell Get Sub Sites of a Site</title>
		<link>http://www.sharepointed.com/2011/12/16/powershell-get-sub-sites-of-a-site/</link>
		<comments>http://www.sharepointed.com/2011/12/16/powershell-get-sub-sites-of-a-site/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 20:28:40 +0000</pubDate>
		<dc:creator>Ian Hayse</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.sharepointed.com/?p=803</guid>
		<description><![CDATA[If you are looking for a way to get all of the subsites for a given site, PowerShell can help. 1. add the SharePoint Snapin 2. get the site that we want to dig into. 3. loop on each subsite &#8230; <a href="http://www.sharepointed.com/2011/12/16/powershell-get-sub-sites-of-a-site/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you are looking for a way to get all of the subsites for a given site, PowerShell can help.</p>
<pre>
<pre class="brush: plain; title: ; notranslate">
Add-PSSnapin Microsoft.SharePoint.PowerShell –erroraction SilentlyContinue

$spWeb = Get-SPweb &quot;http://sharepointed.com/sites/taco&quot;

	foreach($subSite in $spWeb.Webs)
		{
			$subSite.Title
			$subSite.Dispose()
		}

$spWeb.Dispose()
</pre>
</pre>
<p>1. add the SharePoint Snapin<br />
2. get the site that we want to dig into.<br />
3. loop on each subsite<br />
3.1. display the site title<br />
3.2. close the connection to the subsite.<br />
4. close the connection to the site we dug into.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointed.com/2011/12/16/powershell-get-sub-sites-of-a-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

