如何用PowerShell从SharePoint列表提取用户并添加至Active Directory组?
你已经确认Add-ADGroupMember命令可用,接下来可以按以下步骤实现遍历SharePoint列表、批量添加用户到AD组的逻辑:
1. 准备:安装并配置PnP PowerShell模块
要读取SharePoint列表数据,推荐使用PnP PowerShell模块(对新手更友好):
- 安装模块:
Install-Module -Name PnP.PowerShell -Force -AllowClobber - 导入模块并连接到你的SharePoint站点:
Import-Module PnP.PowerShell Connect-PnPOnline -Url "https://你的SharePoint站点URL" -Interactive
2. 读取SharePoint列表中的用户数据
假设列表里存储AD用户名的字段名为UserName(根据你的实际字段名修改),执行以下命令获取列表项:
$targetList = "你的SharePoint列表名称" $listItems = Get-PnPListItem -List $targetList -Fields "UserName"
3. 遍历列表并批量添加用户到AD组
遍历每个列表项,提取用户名后验证AD用户存在性,再执行添加操作(避免无效用户报错):
$adGroup = "Wireless Access - Users" foreach ($item in $listItems) { $userName = $item["UserName"] # 跳过空值项 if ([string]::IsNullOrWhiteSpace($userName)) { continue } # 检查AD中是否存在该用户 $adUser = Get-ADUser -Filter "SamAccountName -eq '$userName'" -ErrorAction SilentlyContinue if ($adUser) { Add-ADGroupMember -Identity $adGroup -Members $adUser.SamAccountName Write-Host "✅ 已添加用户 $userName 到组 $adGroup" } else { Write-Warning "⚠️ AD中未找到用户 $userName,跳过" } }
注意事项
- 执行脚本的账号需要具备:SharePoint站点的读取权限、目标AD组的成员添加权限
- 首次连接SharePoint时,会弹出登录窗口,使用有权限的账号登录即可
- 请根据实际列表字段名、站点URL、列表名称修改对应参数
- 建议先测试单条数据,确认逻辑无误后再批量执行
内容的提问来源于stack exchange,提问作者Kushal Rattu
相关产品推荐
相关产品推荐

