2012-05-31 2 views
2

Microsoft.Office.RecordsManagement.InformationPolicy.ListPolicySettings API предлагает способ настройки политики хранения для списка:Как получить описание списка SharePoint политики хранения

public void SetRetentionSchedule(string retentionXml, string description) 

Там есть GetRetentionSchedule метод, который возвращает retentionXml. Как вернуть описание?

Любое предложение будет оценено. Благодаря!

+0

Если кто-то ищет ответ Лиза получила это на MSDN: http://social.msdn.microsoft.com/разделы/NL-BE/sharepointgeneralprevious/резьба/3a7323f6-a3fd-4e2b-9c67-27a1fc18c1c4 – bizon

ответ

1

Это разбирайтесь вас: http://social.technet.microsoft.com/Forums/en-CA/sharepointgeneralprevious/thread/3a7323f6-a3fd-4e2b-9c67-27a1fc18c1c4

Вот версия PowerShell:

function Get-RetentionScheduleDescriptionForFolder() { 
    [CmdletBinding()] 
    param (
     [Parameter(Mandatory=$true)] 
     [ValidateNotNullOrEmpty()] 
     [Microsoft.SharePoint.SPList]$List 
    ) 
    $policyFile = $List.ParentWeb.GetFile((Join-Uri list.RootFolder.Url "Forms/RetentionPolicy.Xml")); 
    if ($null -ne $policyFile) { 
     [xml]$xml = (New-Object System.Text.UTF8Encoding).GetString($policyFile.OpenBinary()); 
     $xml.RetentionItems.a.Desc; 
    } 
} 

function Join-Uri() { 
    [CmdletBinding()] 
    param (
     [Parameter(Mandatory=$true)] 
     [ValidateNotNullOrEmpty()] 
     [string]$Path, 
     [Parameter(Mandatory=$true)] 
     [ValidateNotNullOrEmpty()] 
     [string]$ChildPath) 
    $scheme = (([System.Uri]$Path).Scheme)+'://' 
    if($scheme -ne '://') { 
     $joinedPath = Join-Path -Path $Path.Replace($scheme, '') -ChildPath $ChildPath 
     $scheme+($joinedPath.Replace('\', '/')); 
    } else { 
     $joinedPath = Join-Path -Path $Path -ChildPath $ChildPath 
     $joinedPath.Replace('\', '/'); 
    } 
}