我希望这是一个简单的问题,它可以在不影响任何偏见的情况下得到快速接收和回答,因为我对这种编码很新。我看到的每个powershell代码片段都指向在整个共享点列表上运行代码。我需要的是运行在选定列表项上运行的powershell代码。
我经常看到类似于下面的代码,它只处理整个列表:
$list = $Context.Web.Lists.GetByTitle($ListName)
或
$items = $list.Items
如果无法执行此操作并询问“已选择”的特定列表项,那么我将尝试寻找其他方法。如果存在执行此操作的方法,cmdlet或cmdlet开关,则无法实现。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以在页面的HTML中查看每个列表项。
通常,带有HTML复选框的项目具有“已选中”等属性,因此您可以使用where
运算符在html中搜索它。
实施例
$pageData = Invoke-WebRequest -URI "https://yoursharepointsite.example/yourlistpage"
$checkedItems = $pageData | ? {$_.type -eq "input" -and $_.checked} | Select-Object
道歉,我不记得确切的语法,但是为了得到每个输入项我认为你可以对DOM使用.GetElementById()或GetElementsByTagName()方法,然后在每个选中元素的列表中存储,然后循环通过移动每个项目。
希望至少在概念上有所帮助。