首页 > 解决方案 > 通过 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

标签: powershellsharepoint

解决方案


您可以使用以下 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()

推荐阅读