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.

$webUrl = "http://intranet.nissan.usa/sites/sentra"
$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                
                $item.Update();                     
            }
        } 
        }   
    catch{
        Write-Host $item.Name " error occured" 
        }   
} 
#finally dispose the web
$web.dispose()
link|improve this question

75% accept rate
Any idea why the field (managed metadata type field) is not updating with the value..... – Monica Lewinski Oct 3 '11 at 19:17
feedback

1 Answer

up vote 0 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.

link|improve this answer
Just wanted to say if you want to automate the getTerm+getGuid then see this link. seyedketabchi.wordpress.com/2011/03/27/… – Monica Lewinski Oct 4 '11 at 22:06
feedback

Your Answer

 
or
required, but never shown

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