Я пытаюсь добавить новые группы и добавлять пользователей в группы SharePoint с помощью PowerShell. Пока у меня есть этот скрипт, который выполняет эту задачу. Я хочу изменить сценарий, чтобы он мог читать текстовый файл с группами и пользователями в этом формате (или рекомендовать другой способ сделать это).чтение пользовательских/групповых сопоставлений из файла
Group1
User1,User2,User3 etc.
Group2
User5,User7 etc.
Может кто-нибудь, пожалуйста, сообщите мне, как я могу достичь этой задачи?
Add-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue
$SiteUrl = "http://www.dev.com"
$Web = Get-SPWeb $SiteUrl
$description = "Group with contribute access."
$permissionLevel = "Contribute"
$groups = "1", "2"
foreach($groupName in $groups)
{
$web.SiteGroups.Add($groupName, $web.SiteUsers["Test\data"], $web.SiteUsers["Test\data"], $description)
$group = $web.SiteGroups[$groupName]
$loc = Get-Location
$Users = "Test\data"
$roleAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($group)
$roleDefinition = $web.Site.RootWeb.RoleDefinitions[$permissionLevel]
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition)
$web.RoleAssignments.Add($roleAssignment)
$web.Update()
foreach ($User in $Users) {
$Web.EnsureUser($User)
Set-SPUser -Identity $User -Web $SiteUrl -Group $group
}
}
$Web.Dispose();
Спасибо за ответ Ansgar, но это не работает должным образом. Я обновлю свой вопрос с новым форматом, который мне нравится, но он работает неправильно. Имя $ group показывает все значения Пользователя и $ Пользователь пуст – sp9
@ sp9 Если у вас есть 3 разрыва строки между группами и 2 разрыва строки между группой и списком пользователей, вам нужно, конечно, настроить шаблоны расщепления. См. Обновленный ответ. BTW, это было бы намного проще, если бы вы выбрали более удобный для обработки формат, например 'group1: user1, user2, user3 ...' –