Sign up ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have used following PS script to update a manage metadata column. Not sure how to go by updating a managed-metadata column. I know I need to only populate with "10;#Wholesale Agreement" in SalesType field. Why the code is not updating? I am getting error but wont give me details. [Ed: Per later answer by original poster the following updated code is working].

$webUrl = ""
$web = Get-SPWeb $webUrl
$list = $web.Lists["sales"]
$ct = "Sales Agreements"
$f = "SalesType" #Column Name      
$newTerm = "10;#Wholesale Agreement|1274c09f-4a41-453e-8422-60601d61bd11"

foreach ($item in $list.items)
    try {
        If ($item.ContentType.Name -eq $ct)
            $field = $list.Fields[$f]
            $fieldValue = $item[$f]

            if($fieldValue -eq $null)
                $item[$field] = $newTerm                
        Write-Host $item.Name " error occured" 
#finally dispose the web
share|improve this question
Any idea why the field (managed metadata type field) is not updating with the value..... – Monica Lewinski Oct 3 '11 at 19:17

1 Answer 1

up vote 2 down vote accepted

Here is the final version. I had to use SP Manager to get the guid of the term set. I am sure I can add more logic to PS script and look for actual term. But for now this works...

I updated the code with the working code in the original post.

share|improve this answer
Just wanted to say if you want to automate the getTerm+getGuid then see this link.… – Monica Lewinski Oct 4 '11 at 22:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.