powershell - 通过 Powershell 将 SP 组添加到新创建的人员或组列
问题描述
我正在创建一个名为“TEST123”的新列,它是一个人或组,并且还希望将“选择自”选项从所有用户更新为名为 TESTAccounts 的 SP 组。
我有以下脚本来创建列,但不确定如何进行上述更改:
函数 Add-FieldToList($SiteURL,$ListName, $FieldName, $FieldType, $IsRequired){
$ErrorActionPreference = "Stop"
Try{
$List = (Get-SPWeb $SiteURL).Lists.TryGetList($ListName)
if($List -ne $null)
{
if(!$List.Fields.ContainsField($FieldName))
{
$List.Fields.Add($FieldName,$FieldType,$IsRequired)
$List.Update()
$View = $List.DefaultView # OR $List.Views["All Items"]
$View.ViewFields.Add($FieldName)
$View.Update()
write-host "New Column '$FieldName' Added to the List!" -ForegroundColor Green
}
else
{
write-host "Field '$FieldName' Already Exists in the List" -ForegroundColor Red
}
}
else
{
write-host "List '$ListName' doesn't exists!" -ForegroundColor Red
}
}
catch {
Write-Host $_.Exception.Message -ForegroundColor Red
}
finally {
$ErrorActionPreference = "Continue"
}
}
$SiteURL="http://TESTURL" $ListName = "NEWList"
$FieldType = [Microsoft.SharePoint.SPFieldType]::User
$FieldName="TEST123" $IsRequired = $False
Add-FieldToList $SiteURL $ListName $FieldName $FieldType $IsRequired
解决方案
您可以使用以下 powershell 设置人员列从特定组中选择:
$SPSite = Get-SPSite 'http://sp'
#Open you web
$OpenWeb = $SpSite.OpenWeb();
#Open Your List
$List = $OpenWeb.Lists["test2"];
$column = $list.Fields["user"]#change to your column name
$column.SelectionGroup=15 #group id you want
$column.Update()
推荐阅读
- optimization - 没有集合函数的优化
- javascript - 在视图中调用脚本时设置超时?或在脚本中设置有效超时?
- dart - Widget消失时如何取消正在运行的Timer()
- clearcase - Cleartool - 如何变基并在流中仅保留一个组件
- android-studio - 无法安装 IntelHAXM
- android - Android Camera API exposureTargetOffset 值
- emacs - 在 PyCharm 的切换器上删除或修改 Python 控制台快捷方式
- java - 从文件中打印特定年龄的人
- c# - 如何复制路径来自另一个文件的文件?
- reactjs - getWrappedInstance() 与 WrappedInstance:react-redux @connect 上的属性