我目前有一个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站点删除listitem,以便在下次运行时不会创建它 .

有人有解决方案吗?

最好的祝福...