$w = Get-SPWeb "http://devmy131" $l = $w.GetList("http://devmy131/lists/fieldslist"); $l.Fields | sort StaticName,Type | ?{$_.CanBeDeleted -eq $true -and $_.Hidden -eq $false} | FT Title,StaticName,Type
$w = Get-SPWeb "http://devmy131" $l = $w.GetList("http://devmy131/lists/fieldslist"); $i = $l.Items.Add();
$w = Get-SPWeb "http://devmy131" $l = $w.GetList("http://devmy131/lists/fieldslist"); $i = $l.Items[0];
$i["Title"] = "Using PowerShell to set SPFields"; $i.Update();
$i["Title"].ToString();
$i["textfield"] = "Dogs cannot write poems"; $i.Update();
$i["textfield"].ToString(); $text = $i["textfield"];
$i["notefield"] = "Dogs cannot write poems.`r`nBut then again, either can I!"; $i.Update();
$i["notefield"].ToString(); $text = $i["notefield"];
$i["yesnofield"] = $false; $i.Update();
$i["yesnofield"].ToString(); $yesorno = $i["yesnofield"];
$i["numberfield"] = 35; $i.Update(); #-or- $i["numberfield"] = [Double]::Parse("45.67"); $i.Update();
$i["numberfield"].ToString(); $i["numberfield"].ToString("F"); $i["numberfield"].ToString("F0"); [Double]$number = $i["numberfield"];
$i["currencyfield"] = [Double]::Parse("123.48"); $i.Update();
$i["currencyfield"].ToString(); $i["currencyfield"].ToString("C2"); [Double]$double = $i["currencyfield"]; $double + 432
$i["percentfield"] = [Double]::Parse("0.8"); #0.2 for 20%, 1 for 100% etc $i.Update();
$i["percentfield"].ToString(); $i["percentfield"].ToString("P"); $i["percentfield"].ToString("P0"); [Double]$percent = $i["percentfield"];
$i["datefield"] = [System.DateTime]::Now; $i.Update(); #-or- $i["datefield"] = [System.DateTime]::Now.AddDays(-2); $i.Update();
$i["datefield"].ToString(); $i["datefield"].ToString("d"); $i["datefield"].ToString("D"); $i["datefield"].ToString("R"); [DateTime]$date = $i["datefield"]; $date.AddDays(13)
$i["choicefield"] = $l.Fields["choicefield"].GetFieldValue("Green"); $i.Update();
$i["choicefield"].ToString(); $choicefield = $i["choicefield"];
$choicevalues = New-Object Microsoft.SharePoint.SPFieldMultiChoiceValue; $choicevalues.Add("Green"); $choicevalues.Add("Blue"); $i["multiplechoicefield"] = $l.Fields["multiplechoicefield"].ParseAndSetValue($i,$choicevalues); $i["multiplechoicefield"].ToString(); $i["multiplechoicefield"] = $choicevalues; $i.Update(); #-or- $l.Fields["multiplechoicefield"].ParseAndSetValue($i,$choicevalues); $i.Update();
$multichoicevalues = New-Object Microsoft.SharePoint.SPFieldMultiChoiceValue($i["multiplechoicefield"].ToString()); $multichoicevalues.ToString(); for($c=0;$c-lt$multichoicevalues.Count;$c++) { $multichoicevalues[$c] };
$i["personfield"] = $w.EnsureUser("domain\user"); $i.Update(); #-or- $i["personfield"] = $w.EnsureUser("matthew.yarlett@company.com"); $i.Update();
$i["personfield"].ToString(); $userfield = New-Object Microsoft.SharePoint.SPFieldUserValue($w,$i["personfield"].ToString()); $userfield.User.DisplayName; $userfield.User.Email;
[Microsoft.SharePoint.SPFieldUserValueCollection]$lotsofpeople = New-Object Microsoft.SharePoint.SPFieldUserValueCollection $user1 = $w.EnsureUser("domain\user1"); $user1Value = New-Object Microsoft.SharePoint.SPFieldUserValue($w, $user1.Id, $user1.LoginName) $user2 = $w.EnsureUser("domain\user2"); $user2Value = New-Object Microsoft.SharePoint.SPFieldUserValue($w, $user2.Id, $user2.LoginName); $lotsofpeople.Add($user1Value); $lotsofpeople.Add($user2Value); $i["lotsofpeoplefield"] = $lotsofpeople; $i.Update(); #-or- $l.Fields["lotsofpeoplefield"].ParseAndSetValue($i,$lotsofpeople); $i.Update();
[Microsoft.SharePoint.SPFieldUserValueCollection]$lotsofpeople = $i["lotsofpeoplefield"] $lotsofpeople.ToString(); foreach($uv in $lotsofpeople.ToArray()){$uv.User} foreach($uv in $lotsofpeople.ToArray()){$uv.User.DisplayName}
$lookupfield = $l.Fields["lookupfield"] -as [Microsoft.SharePoint.SPFieldLookup]; $lookuplist = $w.Lists[[Guid]$lookupfield.LookupList]; $sourcefield = $lookupfield.LookupField; $lookupitem = $lookuplist.Items[0]; #-or- $lookupitem = $lookuplist.GetItemByUniqueId([Guid]"{fc71b84c-74d4-4f7c-9eed-fb7a5fbe24a6}") #-or- $lookupitem = $lookuplist.GetItemById(1) $lookupvalue = New-Object Microsoft.SharePoint.SPFieldLookupValue($lookupitem.ID,$lookupitem.ID.ToString()); $i["lookupfield"] = $lookupvalue; $i.Update();
$lookupfieldvalue = $i["lookupfield"] -as [Microsoft.SharePoint.SPFieldLookupValue] $lookupfieldvalue.LookupValue;
$hyperlinkfield = $l.Fields["hyperlinkfield"] -as [Microsoft.SharePoint.SPFieldUrl]; $urlFieldValue = New-Object Microsoft.SharePoint.SPFieldUrlValue; $urlFieldValue.Description = "Microsoft"; $urlFieldValue.Url = "http://www.microsoft.com"; $hyperlinkfield.ValidateParseAndSetValue($i,$urlFieldValue.ToString()); #SharePoint 2013 only $i.Update(); $hyperlinkfield.ParseAndSetValue($i,$urlFieldValue.ToString()); #SharePoint 2010 and 2013 $i.Update();
$hyperlink = $i["hyperlinkfield"] -as [Microsoft.SharePoint.SPFieldUrlValue]; $hyperlink.Url; $hyperlink.Description;
$managedmetadataField = $l.Fields["managedmetadatafield"] -as [Microsoft.SharePoint.Taxonomy.TaxonomyField]; $tsId = $managedmetadataField.TermSetId; $termStoreId = $managedmetadataField.SspId; $tsession = Get-SPTaxonomySession -Site $l.ParentWeb.Site; $tstore = $tsession.TermStores[$termStoreId]; $tset = $tstore.GetTermSet($tsId); $termName = "Frog Catchers"; $terms = $tset.GetTerms($termName,$false); $term = $null; if($terms.Count -eq 0) { Write-Host ([String]::Format("Creating Term, {0}",$termName)) -ForegroundColor DarkYellow; $term = $tset.CreateTerm($termName, $tstore.Languages[0]); $tstore.CommitAll(); } else { $term = $terms[0]; } $managedmetadataField.SetFieldValue($i,$term); $i.Update();
$taxFieldValue = $i["managedmetadatafield"] -as [Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue]; $taxFieldValue.Label;
$multiplemanagedmetadatafield= $l.Fields["multiplemanagedmetadatafield"] -as [Microsoft.SharePoint.Taxonomy.TaxonomyField]; $tsId = $multiplemanagedmetadatafield.TermSetId; $termStoreId = $multiplemanagedmetadatafield.SspId; $tsession = Get-SPTaxonomySession -Site $l.ParentWeb.Site; $tstore = $tsession.TermStores[$termStoreId]; $tset = $tstore.GetTermSet($tsId); $termCollection = new-object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection($multiplemanagedmetadatafield); $taxonomyTerms = @("Frog Catcher","Giraffe Stealer","Lion Rider"); foreach($t in $taxonomyTerms) { $terms = $tset.GetTerms($t,$false); $term = $null; if($terms.Count -eq 0) { Write-Host ([String]::Format("Creating Term, {0}",$t)) -ForegroundColor DarkYellow; $term = $tset.CreateTerm($t, $tstore.Languages[0]); $tstore.CommitAll(); } else { $term = $terms[0]; } $termValue = new-object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue($multiplemanagedmetadatafield); $termValue.TermGuid = $term.Id.ToString(); $termValue.Label = $term.Name; $termCollection.Add($termValue); } $multiplemanagedmetadatafield.SetFieldValue($i,$termCollection); $i.Update();
$taxFieldValueCollection = $i["multiplemanagedmetadatafield"] -as [Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection]; foreach($taxFieldValue in $taxFieldValueCollection) { Write-Host "Term from a TaxonomyFieldValue object:"$taxFieldValue.Label; #Get the term $term = $tstore.GetTerm((new-object Guid($taxFieldValue.TermGuid))); Write-Host "Term from a TermSetItem object:"$term.Name; }
$i = $l.Items[0]; $calculatedfield = $i.Fields["calculatedfield"] -as [Microsoft.SharePoint.SPFieldCalculated]; $calculatedfield.GetFieldValueAsText($i["calculatedfield"]);
$w = Get-SPWeb "http://devmy131" $l = $w.GetList("http://devmy131/lists/fieldslist"); $i = $l.Items[0]; $calculatedfield = $i.Fields["calculatedfield"] -as [Microsoft.SharePoint.SPFieldCalculated] $calculatedfield.Formula; $calculatedfield.DisplayFormat; $calculatedfield.DisplayFormat = [Microsoft.SharePoint.SPNumberFormatTypes]::FourDecimals; $calculatedfield.Update(); $calculatedfield.GetFieldValueAsText($i["calculatedfield"]); $calculatedfield.OutputType = [Microsoft.SharePoint.SPFieldType]::Integer $calculatedfield.Update(); $calculatedfield.GetFieldValueAsText($i["calculatedfield"]); $calculatedfield.Formula = "=[datefield]+90"; $calculatedfield.DateFormat = [Microsoft.SharePoint.SPDateTimeFieldFormatType]::DateOnly; $calculatedfield.OutputType = [Microsoft.SharePoint.SPFieldType]::DateTime; $calculatedfield.Update(); $i.SystemUpdate(); $calculatedfield.GetFieldValueAsText($i["calculatedfield"]);