【问题标题】:PowerShell - New-SPWeb with UniquePermissionsPowerShell - 具有 UniquePermissions 的新 SPWeb
【发布时间】:2011-06-22 17:19:25
【问题描述】:

我想用 PowerShell 创建一个新的 SPWeb。 我的代码创建站点并将组添加到站点,而不是用户“TestUser1”。 test\testuser1 不属于 TestGroup1 并获得独立权限。

 $web = New-spweb http://http:/mysharepointurl/site/web -Template "STS#0" -UniquePermissions 

$user = $web.EnsureUser('test\testuser4')

$web.Users.AddUser($user, "Full") #Not working, Add a existing User

$newGroup = $web.SiteGroups["TestGroup6"] #Working, Add a existing Group
$web.Roles["Full"].AddGroup($newGroup)

【问题讨论】:

    标签: sharepoint powershell sharepoint-2010 powershell-2.0


    【解决方案1】:

    你试过了吗

    $web.Users.Add -或- $web.AllUsers.Add

    public void Add(
        string loginName,
        string email,
        string name,
        string notes
    )
    

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spusercollection.add.aspx

    【讨论】:

    • $web.AllUsers.Add 为我工作 - 谢谢!常规 Add 方法抛出 InvalidOperationException 并显示消息“由于对象的当前状态,操作无效”
    【解决方案2】:

    您正在使用New-SPWeb,这意味着您需要将用户添加到SPWeb

    $web.SiteUsers 是网站集组

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.siteusers.aspx

    你应该使用

    $web.Users
    

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.users.aspx

    【讨论】:

    • 感谢您的回答!我修改了我的代码,但它不起作用。我还没有找到将用户添加到我的网络对象的任何方法。你能解释一下吗?
    【解决方案3】:

    我的工作解决方案:

    $web = Get-SPWeb "http://http:/mysharepointurl/site/web" 
    $user = $web.AllUsers["test\testuser1"]
    $roledef = $web.RoleDefinitions["Vollzugriff"]
    $roleass = New-Object Microsoft.SharePoint.SPRoleAssignment($user)
    $roleass.RoleDefinitionBindings.Add($roledef)
    $web.RoleAssignments.Add($roleass)
    $web.Update()
    

    感谢支持!

    【讨论】:

      猜你喜欢
      • 2017-10-27
      • 2019-02-17
      • 2012-06-22
      • 2013-09-25
      • 2012-03-03
      • 2020-10-04
      • 2020-05-30
      • 2012-04-07
      相关资源
      最近更新 更多