Используйте powershell для удаления элемента онлайн-списка Sharepoint - PullRequest
0 голосов
/ 16 октября 2018

В настоящее время у меня есть скрипт powershell для циклического просмотра списка на онлайн-сайте Sharepoint.

$creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials("[USERNAME]", (ConvertTo-SecureString "[PASSWORD]" -AsPlainText -Force))  
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext("https://[SITENAME].sharepoint.com/sites/Projekter")  
$ctx.credentials = $creds  

try{  
    $lists = $ctx.web.Lists


    $list = $lists.GetByTitle("Ekstern synkronisering")
    $listItems = $list.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery())  
    $ctx.load($listItems)  

    $ctx.executeQuery()  

    foreach($listItem in $listItems)  
    {          
        $internal = $listItem["ConnectionString1"]
        $external = $listItem["ConnectionString2"]
        $folder = $listItem["Mappe"]
        $project = $listItem["Project"]
        $caseNo = $listItem["Title"]

        $doc = New-Object System.Xml.XmlDocument
        $doc.Load("C:\Script\PS-Layer2\xmlTemplate.xml")
        $ns = New-Object System.Xml.XmlNamespaceManager($doc.NameTable)
        $ns.AddNamespace("ns", $doc.DocumentElement.NamespaceURI)

        $doc.SelectSingleNode("//ns:dataEntity[@name='Intern site']", $ns).connectionString = $internal+";Authentication=Office365;User Id=$userId;Password=$pwd;"

        $doc.SelectSingleNode("//ns:dataEntity[@name='Externt site']", $ns).connectionString = $external+";Authentication=Office365;User Id=$userId;Password=$pwd;"

        $doc.Save("C:\Temp\$caseNo - $project - $folder.xml")

    }  
}  
catch{  
    write-host "$($_.Exception.Message)" -foregroundcolor red  
} 

Это прекрасно работает для получения элементов и изменения файла XML ..

ЧтоЯ хотел бы, чтобы при создании XML-файла он удалял элемент списка с сайта sharepoint, чтобы он не был создан при следующем запуске.

Есть ли у кого-нибудь решение почто?

С наилучшими пожеланиями ...

...